我想用XAudio2播放一个wav文件,我在互联网上搜索了一些像这样的示例项目:C# XAudio2 Sound Playback for Windows Phone或者这个:Play wav example但所有那些播放特殊的wav文件,如果我更换我的wav(转换为MS ADPCM,mono)然后CreateSourceVoice
返回HRESULT 0x88960001。那些wav文件有什么特别之处?或使用xaudio2播放Wav文件的任何其他方法(我正在使用Windows Phone 8)
答案 0 :(得分:1)
因此播放声音效果和背景音乐的标准方法是使用XNA库。
我在playing async sound in the 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 page for supported formats
我还在我的博客文章中发布了一个可供下载的工作解决方案。
祝你好运!答案 1 :(得分:1)
根据这篇文章,XAudio2仅支持MS ADPCM格式的子集: http://msdn.microsoft.com/en-us/library/windows/desktop/ee415711(v=vs.85).aspx
您必须使用Windows 8 SDK中的adpcmencode工具将其压缩为可用的东西