我目前正在使用Scripthook C ++为Grand Theft Auto IV编写脚本mod。 我一直在使用此模板播放音频文件:Simple C++ MP3 Player Class
我的问题始于尝试使用资源中的文件。 我不知道如何加载它们。
每当我尝试使用我的代码从资源加载声音时,游戏就崩溃了。 已花费数小时浏览谷歌有关如何从资源播放DirectShow音频而没有任何结果。
内部资源文件:
(resource.h) #define WAV_Sound 106
(resource.rc) WAV_Sound RCDATA "MySound.wav"
从HDD加载文件工作正常
Load(TEXT("MySound.wav"));
但是当我尝试其中一个时游戏崩溃了:
// Load from resource #1
LPCWSTR file = MAKEINTRESOURCE(WAV_Sound);
Load(file);
// Load from resource #2
Load((LPCWSTR) WAV_Sound);
希望有人可以帮助我,谢谢!
答案 0 :(得分:0)
Microsoft建议使用DirectX Audio为开发游戏提供多层接口,即XAudio2,X3DAudio,XACT等,它们在2d / 3d游戏环境中处理声音效果非常强大。这是链接http://msdn.microsoft.com/en-us/library/ee415737%28v=vs.85%29
请下载并安装DirectX软件开发套件,并找到'XAudio2BasicSound'示例,从文件或资源或dll中打开wave文件并使用IXAudio2界面播放,这是一个非常简单的例子,但下一步你可以添加声音对你的游戏产生影响。