我想用XAudio2播放一个wav文件,我在互联网上搜索过一些示例项目,比如:Windows Phone的C#XAudio2声音播放或这个:播放wav示例,但所有播放特殊wav文件的人,如果我替换我的wav(转换为MS ADPCM,mono),那么CreateSourceVoice
返回HRESULT 0x88960001。那么这些wav文件的特色是什么呢?或者用xaudio2播放Wav文件的任何其他方法(我在windows phone 8上工作)
根据本文,XAudio2仅支持MS ADPCM格式的一个子集:http://msdn.microsoft.com/en-us/library/windows/desktop/ee415711(v=vs.85).aspx
您必须使用Windows 8 SDK中的adpcencode工具将其压缩为可用的
我写了一篇关于在windows手机中播放异步声音的博客文章,这是一个非常直接的
基本上它说这个
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页面以获得支持的格式
我还在博客上发布了一个可供下载的工作解决方案。
祝你好运!