SDL。当前音乐位置

Posted

技术标签:

【中文标题】SDL。当前音乐位置【英文标题】:SDL. Current music position 【发布时间】:2010-03-09 15:54:49 【问题描述】:

我使用 SDL_mixer 函数加载我的音乐曲目:

Mix_Music * SDLCALL Mix_LoadMUS(const char *file);

为了与视频同步,我需要知道当前的音乐位置。 我如何确定这一点?

【问题讨论】:

【参考方案1】:

SDL 似乎没有为您想要的内容提供简单的钩子。一旦你触发Mix_PlayMusic,当你用Mix_HookMusicFinished 播放完音乐时,你就会收到一个通知,但仅此而已。

您可以为视频使用完全独立的时钟机制,并相信时间会“排队”(例如,如果它是一首 4 分钟的歌曲,它将在您调用 play 后正好 4 分钟播放完毕) .但由于我怀疑你是在为Real-Time OS 开发,所以结果不会很理想。

您可以通过Mix_SetPostMix 安装挂钩。您安装的“效果”实际上并不是用于修改音频流,而只是关注已播放的样本数量并相应地对视频进行更正。 (只是在这里大声思考。)

【讨论】:

以上是关于SDL。当前音乐位置的主要内容,如果未能解决你的问题,请参考以下文章

为啥 SDL_Mixer 不能播放某些 mp3 的音乐?

SDL_Mixer 无法处理部分代码

Android中如何截获第三方媒体播放器中正在播放的音乐或视频的当前播放时间进度和总时间?求高手指点

Android开发之startService和onBinderService混合开发音乐播放器

PHP / MYSQL - 计算有多少连续的前一周结果与当前一周具有相同的价值(音乐图表)

IOS如何在后台播放音乐声音并暂停当前播放的音乐应用程序