【发布时间】:2017-07-29 19:11:28
【问题描述】:
我正在制作一个游戏,我正在尝试使用 mciSendString() 循环一个 MIDI 文件。我查看了 CProgramming.com,但示例的窗口对象是 OWL,我无法移植它们。我还尝试查看 Brian Gradin 的问题,但答案仅包含两行代码。我在 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;
【问题讨论】:
-
你试过
play music repeat吗? -
将它添加到 MIDI 文件时不会播放任何内容。
-
嗯,值得一试。似乎您必须按照您提到的问题中的建议手动处理它。如果序列器支持
notify标志,它可能是更好的方法。您也可以考虑使用 3rd 方库。 -
很抱歉打扰您,但请您举个例子。我的代码似乎不正确。我将编辑主题。