2010-03-09 62 views
1

我使用SDL_mixer功能加载我的音乐曲目:SDL。当前音乐位置

Mix_Music * SDLCALL Mix_LoadMUS(const char *file); 

对于视频同步,我需要知道当前音乐的位置。 我如何判断?

回答

1

SDL似乎没有公开你想要的东西。一旦你触发Mix_PlayMusic你有一个钩子,当音乐完成与Mix_HookMusicFinished玩,但是这是关于它。

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

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