在Windows Phone 8应用中播放声音效果

3
我正在使用以下代码播放音频文件,但是我在代码的第二行遇到了程序崩溃。可能是什么问题呢?
这是我正在使用的代码:
Stream stream = TitleContainer.OpenStream("sounds/bonk.mp3");
SoundEffect effect = SoundEffect.FromStream(stream);
FrameworkDispatcher.Update();
effect.Play();

当我运行这段代码时,我收到的错误是:
“System.ArgumentException”类型的异常,在Microsoft.Xna.Framework.ni.dll中发生,但未在用户代码中处理。

当程序崩溃时,您是否收到任何错误消息? - summea
1
是的!!!!!在用户代码中未处理的类型为'System.ArgumentException'的异常发生在Microsoft.Xna.Framework.ni.dll中。 - Mohit
2个回答

6
你有尝试使用 .wav 文件替代 .mp3 文件作为你的音效吗? SoundEffect.FromStream文档 提到了声音文件的要求:

流对象必须指向有效 PCM wave 文件的头部。 此外,这个wave文件必须在 RIFF 比特流格式中。

音频格式有以下限制:

  • 必须是 PCM wave 文件
  • 只能是单声道或立体声
  • 必须是 8 或 16 位
  • 采样率必须在 8,000 Hz 和 48,000 Hz 之间

3

你提供的解决方案存在问题,因为SoundEffect无法播放.mp3文件,你需要使用.wav文件来使用SoundEffect。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接