1

我想用 XAudio2 播放一个 wav 文件,我在互联网上搜索并有一些示例项目,例如:C# XAudio2 Sound Playback for Windows Phone或这个:播放 wav 示例,但所有播放特殊 wav 文件的文件,如果我替换我的 wav (转换为 MS ADPCM,单声道)然后CreateSourceVoice返回 HRESULT 0x88960001。那么这些 wav 文件有什么特别之处呢?或任何其他使用 xaudio2 播放 Wav 文件的方法(我正在使用 windows phone 8)

4

2 回答 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 回答