繁体   English   中英

从资源文件以DirectShow播放音频

[英]Playing audio with directshow from resource file

我目前正在使用Scripthook C ++为侠盗猎车手IV编写脚本mod。 我一直在通过使用以下模板播放音频文件: 简单的C ++ MP3播放器类

我的问题开始于尝试使用资源中的文件。 我不知道如何加载它们。

每次我尝试使用代码从资源加载声音时,游戏崩溃。 已经花了几个小时浏览google,了解如何播放资源中的DirectShow音频而没有任何结果。

内部资源文件:

(resource.h)  #define WAV_Sound            106
(resource.rc) WAV_Sound                    RCDATA                  "MySound.wav"

从硬盘加载文件工作正常

Load(TEXT("MySound.wav"));

但是当我尝试以下操作之一时,游戏将崩溃:

// Load from resource #1
    LPCWSTR file = MAKEINTRESOURCE(WAV_Sound);
    Load(file);

// Load from resource #2
    Load((LPCWSTR) WAV_Sound);

希望有人可以帮助我,谢谢!

微软建议使用DirectX Audio提供用于开发游戏的多层接口,即XAudio2,X3DAudio,XACT等。它们在2d / 3d游戏环境中处理声音效果非常强大。 这是链接http://msdn.microsoft.com/en-us/library/ee415737%28v=vs.85%29

请下载并安装DirectX软件开发套件,并找到“ XAudio2BasicSound”示例,以从文件或资源或dll中打开wave文件并使用IXAudio2接口播放,这是非常简单的示例,但下一步您可以在自己的计算机上添加声音效果游戏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM