c – Win32 – 使用MCISendString进行Midi循环
发布时间:2020-12-16 07:04:37 所属栏目:百科 来源:网络整理
导读:我正在制作游戏,我正在使用midi文件作为背景音乐.这是我目前使用的代码: void Game::play_music(){ // Start the music: if(map.levelnumber % 2 == 0) { mciSendString(L"open MUSIC01.MID type sequencer alias Music1",NULL,NULL); mciSendString(L"play
我正在制作游戏,我正在使用midi文件作为背景音乐.这是我目前使用的代码:
void Game::play_music() { // Start the music: if(map.levelnumber % 2 == 0) { mciSendString(L"open MUSIC01.MID type sequencer alias Music1",NULL,NULL); mciSendString(L"play Music1",NULL); playing = "Music1"; } else { mciSendString(L"open MUSIC02.MID type sequencer alias Music2",NULL); mciSendString(L"play Music2",NULL); playing = "Music2"; } } 这很有效,除了它只播放一首歌.我尝试通过在mci play命令中添加“repeat”来循环它,但是它根本不会播放任何内容.我怎样才能循环播放音乐? 解决方法
我查看了MSDN上的多媒体命令字符串参考,并发现了这一点
TCHAR tch[100]; mciSendString("status [alias] mode",tch,100,NULL); 将[别名]播放或停止为“tch”.如果它停止了,我只需使用“seek [alias] start”命令重新加载midi文件.我应该提一下,这会导致延迟,而东西是计算或其他什么 – 所以如果你不把它放在一个单独的线程中,你的程序将会冻结. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ios – 启动屏幕,其行为与启动映像完全相同
- c – 从阵列中对特定短路模式进行矢量化提取,并插入新阵列
- ruby – Capistrano中的execute,test和capture命令有什么区
- javascript – PhoneGap文件删除无法正常工作
- c# – XAML命名空间http://schemas.microsoft.com/winfx/20
- Flex中AdvancedDataGrid的用法
- swift - 类和结构体(之定义与区别)
- postgresql角色和权限相关---转载
- c# – 如何将通用枚举中的多个转换器参数传递给布尔转换器
- system.reactive – 相当于ReactiveCocoa的RACObserve的RxJ