如果它试图播放mp3文件我的代码崩溃,适用于wav文件

时间:2013-03-18 21:36:53

标签: c# windows-phone-7 audio xna soundeffect

我的所有声音片段都是mp3,所以我真的不想将它们翻译成wav 如果我尝试播放mp3文件,我会得到一个异常,但代码适用于.wav文件。 我认为必须有一种播放mp3文件的方法。

Stream s = TitleContainer.OpenStream("sounds/bag.mp3");

// throws a exceptio if its a mp3 file
SoundEffect effect = SoundEffect.FromStream(s);
FrameworkDispatcher.Update();
effect.Play();

2 个答案:

答案 0 :(得分:2)

根据设计 - SoundEffect.FromStream仅适用于wave文件。正如per MSDN

  

Stream对象必须指向有效PCM波形文件的头部。   此外,此波形文件必须采用RIFF比特流格式。

     

音频格式具有以下限制:

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

答案 1 :(得分:0)

尝试使用媒体元素..

MediaElement MyMedia = new MediaElement();
MyMedia.Source = new Uri("sounds/bag.mp3", UriKind.RelativeOrAbsolute);
MyMedia.Play();