我做了很多研究,但我不知道如何将 .wav 文件加载到内存中然后播放。另外,我希望能够同时播放多个加载的 .wav 文件。
目前,我将 .wav 文件加载到字符串缓冲区中,然后调用:
PlaySound(stows(buffer).c_str(), NULL, SND_MEMORY);
stows() 是我创建的将字符串转换为宽字符串的函数。
我做错了什么/我可以做得更好吗?
编辑:我现在正在尝试使用 SFML。我按照这里的演练到了一个 T,但是当我尝试编译时,我得到了 9 个链接器错误。我使用静态或动态 dll 并不重要。
EDIT2:我必须有 VS2010 32 位。我为 VS2010 下载了 SFML 2.0 32 位,现在我发现 5 个链接器错误。它说所有这些都发生在 sfml-audio-s.lib 中。
EDIT3:我得到了编译!但是,它根本没有播放任何东西。我使用 VS 调试并确认我正确打开了 WAV 文件并将其存储在 Sound 对象中,但是当我调用 play() 方法时,没有任何反应。此外,每次关闭程序时都会遇到未处理的异常。