0

我正在尝试播放托管在 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 文件应该只是播放,对吧?

4

1 回答 1

0

您是否可以播放 MP3 很大程度上取决于该文件的具体情况。
有关受支持的 MP3 的详细信息,请参阅 http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff462087(v=vs.105).aspx#BKMK_AudioSupport

另请注意,设备和模拟器支持的编解码器存在一些差异,因此在某些情况下您可以在模拟器中播放某些内容,但不能在设备上播放。

于 2013-03-04T11:03:51.390 回答