我用c ++写了一个游戏,用
播放音频 mciSendString("play sounds/music.wav repeat", NULL, 0, NULL);
。
现在,在我大学的计算机上(Windows 7,不确定是32位还是64位)它可以正常播放,但在家用电脑(Windows 7 64位)上我没有声音。这怎么可能?我听说MCI驱动程序不包含在Windows 7中,那么为什么它在我大学的Windows 7计算机上运行良好,而不是在家用电脑上?我正在使用Devc ++,在任何人提到它有多糟糕之前(我知道),我必须使用它,因为它是我游戏的必需品。
答案 0 :(得分:0)
在您的代码行中:
mciSendString("play sounds/music.wav repeat", NULL, 0, NULL);
没有双引号,这就是问题所在。任何多媒体设备都无法识别此命令行。 正确的语法是将您的路径和音频文件(sounds / music.wav)放在双引号内。这行代码应该有效:
mciSendString("play \"sounds/music.wav\" repeat", NULL, 0, NULL);
当然你需要写'\'字符才能在字符串值中写出引号字符'“'。
将旧的代码行更改为此。如果它仍然不起作用,那么你应该调用mciGetErrorString函数并找出未执行命令的原因,以及你需要做些什么来解决你的问题。