我正在制作一个游戏,我试图用mciSendString()循环一个MIDI文件。我看过CProgramming.com,但是示例的窗口对象是OWL,无法移植它们。我也试着看Brian的问题,但答案只有两行代码。我看过MSDN,但这是一个参考,而不是一个教程。添加重复并不能发挥任何作用。这是我到目前为止掌握的代码:
mciSendString("open PUG1.MID type sequencer alias music", NULL, 0, NULL);
mciSendString("play music", NULL, 0, NULL);如果你帮忙,我一定会把你放进学分的。谢谢!:)
编辑:我试图处理通知标志,但我的代码不能工作。它一旦播放主题,就停止了。
//At the end of WM_CREATE...
mciSendString("open MUSIC\\PUG2.MID type sequencer alias music", NULL, 0, NULL);
mciSendString("play music", NULL, 0, NULL);
break;
case MM_MCINOTIFY:
mciSendString("seek music to start", NULL, 0, NULL);
mciSendString("play music", NULL, 0, NULL);
break;发布于 2014-03-25 21:58:35
您可以在歌曲结束时通知notify标志。
这似乎是可行的:
case WM_CREATE:
mciSendString("open pickin0.mid type sequencer alias music", NULL, 0, NULL);
mciSendString("play music notify", NULL, 0, hWnd);
break;
case MM_MCINOTIFY:
mciSendString("seek music to start", NULL, 0, NULL);
mciSendString("play music notify", NULL, 0, hWnd);
break;在使用notify命令时,需要传递窗口句柄,以便它可以将MM_MCINOTIFY命令发送到某个位置。
https://stackoverflow.com/questions/22643121
复制相似问题