我想用 XAudio2 播放一个 wav 文件,我在互联网上搜索并有一些示例项目,例如:C# XAudio2 Sound Playback for Windows Phone或这个:播放 wav 示例,但所有播放特殊 wav 文件的文件,如果我替换我的 wav (转换为 MS ADPCM,单声道)然后CreateSourceVoice
返回 HRESULT 0x88960001。那么这些 wav 文件有什么特别之处呢?或任何其他使用 xaudio2 播放 Wav 文件的方法(我正在使用 windows phone 8)
问问题
542 次
2 回答
1
所以播放音效和背景音乐的标准方法是使用 XNA 库。
我写了一篇关于在 windows phone 中播放异步声音的博客文章,非常简单
基本上是这么说的
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework;
static Stream stream1 = TitleContainer.OpenStream("soundeffect.wav");
static SoundEffect sfx = SoundEffect.FromStream(stream1);
static SoundEffectInstance soundEffect = sfx.CreateInstance();
public void playSound(){
FrameworkDispatcher.Update();
soundEffect.Play();
}
没有比这更容易的了。要获得特定的 wav 要求,请查看MSDN 页面以了解支持的格式
我还在我的博客文章中发布了一个可供下载的工作解决方案。
祝你好运!
于 2013-11-21T15:21:07.237 回答
1
根据这篇文章,XAudio2 仅支持 MS ADPCM 格式的子集:http: //msdn.microsoft.com/en-us/library/windows/desktop/ee415711 (v=vs.85).aspx
您必须使用 Windows 8 SDK 中的 adpcmencode 工具将其压缩成可用的东西
于 2013-11-21T15:32:05.333 回答