-1

我正在尝试使用 Visual Studio 在 C++ 中播放 wav 文件。我将文件“my.wav”放在我的项目目录中并使用代码

PlaySound(TEXT("my.wav"), NULL, SND_FILENAME | SND_SYNC);

我按下播放按钮(或 F5 甚至 Ctrl-F5),它播放的声音很好。

我打开命令提示符并转到 Debug/ 并运行 MyApp.exe,当它运行时它会播放错误提示音。

注意:理想情况下,声音会捆绑在 exe 中,这样我就可以分发 exe 并且它会工作。我尝试将其放入 Resource.rc 但我在所有示例中看到的代码

PlaySound( (char*)IDR_WAVE1, NULL, SND_RESOURCE | SND_SYNC );

甚至不为我编译。抱怨 IDR_WAVE1 即使那是我的资源的名称。

4

2 回答 2

0

我记得你需要在 Visual Studio 中将资源文件与资源脚本文件“.rc 文件”“链接”到 .exe 文件中。否则,您需要像@wilx 指出的那样加载它。

于 2016-04-05T11:19:18.050 回答
0

我对老式的 win32 有点生疏,但它是这样的:

在您的文件中包含 resource.h 并使用 MAKEINTRESOURCE

PlaySound(MAKEINTRESOURCE(IDR_WAVE1), NULL, SND_RESOURCE | SND_SYNC );
于 2016-04-05T11:29:26.080 回答