我正在尝试播放Azure blob上托管的音频文件。我通过HTTP(不是HTTPS)提供服务,我使用Web客户端打开的流中使用SoundEffect.Play。这适用于WAV文件。
WebClient wc = new WebClient();
wc.OpenReadAsync(uri);
wc.OpenReadCompleted += (s, e) =>
{
try
{
var sfx = SoundEffect.FromStream(e.Result);
FrameworkDispatcher.Update();
sfx.Play();
}
catch (Exception ex)
{
Debug.WriteLine("Well, crap!");
}
};
对于MP3,我使用这种方法:
var song = Song.FromUri(item.Title, uri);
FrameworkDispatcher.Update();
MediaPlayer.Play(song);
它有时在模拟器中工作,但不在设备上!我甚至尝试不使用Zune来部署和使用WPConnect将XAP直接部署到设备上(有些人说这使它工作)
这让我疯了!这些mp3文件应该只播放,对吧?
答案 0 :(得分:0)
是否可以播放MP3或者不能播放MP3取决于该文件的具体情况 看到 http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff462087(v=vs.105).aspx#BKMK_AudioSupport了解支持的MP3的详细信息。
另请注意,设备和模拟器支持的编解码器存在一些差异,因此在某些情况下您可以在模拟器中播放内容但不能在设备上播放。