0

我用 C++ 编写了一个游戏,正在播放音频

mciSendString("play sounds/music.wav repeat", NULL, 0, NULL);.

现在,在我大学的电脑(Windows 7,不确定是 32 位还是 64 位)上播放正常,但在我的家用电脑(Windows 7 64 位)上却没有声音。这怎么可能?我听说 Windows 7 中不包含 MCI 驱动程序,那么为什么它在我大学的 Windows 7 计算机上可以正常运行,但在我的家用计算机上却不能呢?我正在使用 Devc++,在有人提到它有多糟糕之前(我知道),我必须使用它,因为它是我的游戏的要求。

4

1 回答 1

1

在您的代码行中:

mciSendString("play sounds/music.wav repeat", NULL, 0, NULL);

没有双引号,这就是问题所在。任何多媒体设备都无法识别此命令行。正确的语法是将路径和音频文件 (sounds/music.wav) 放在双引号内。这行代码应该可以工作:

mciSendString("play \"sounds/music.wav\" repeat", NULL, 0, NULL);

当然你需要写'\'字符才能在字符串值中写引号字符'"'。

将您的旧代码行更改为此。如果它仍然不工作,那么你应该调用 mciGetErrorString 函数并找出命令没有执行的原因,以及你必须做些什么来解决你的问题。

于 2014-12-14T00:41:35.813 回答