4

如何在 WP7 上播放来自 Icecast 的音频流

我尝试过 SMF、SmoothStreaming Client 和 MediaElement。

这些都没有奏效。格式为 asx 或 wma。

编辑:

最近我发现了一个新的流。当我在设计器中时,此流有效。但它不适用于设备。在设备上,流会立即打开和关闭。

此流来自 MP3 格式的 IceCast 服务器。带有 ?.mp3 扩展名。或没有。

4

4 回答 4

1

当您流式传输直播电台时,流可能由 IceCast 服务器或 ShoutCast 服务器编码。要读取这些流,您需要对内存中的流进行解码,并在解码后将其传递给 MediaElement。

看看Mp3MediaStreamSource

Silverlight的音频输出

我为此浪费了大量时间,这是迄今为止我找到的最佳解决方案。

于 2011-02-24T15:04:47.760 回答
0

快速浏览了 Icecast 网站(我不熟悉他们的服务),似乎他们为流式音频提供的大部分内容都是以 MP3 格式提供的,但他们以 M3U 或 XSPF 格式的播放列表形式提供. 您无法将其提供给 WP7 框架中的任何内置控件或类,但您可以解析文件的内容并将其传递给 MediaElement 以播放单个文件。

M3U 文件是组成 URL 的简单列表,因此处理起来最简单,但 XSPF 格式(它是一种 XML 格式)提供了更多信息,例如标题。您可以轻松地使用 XDocument 类来解析 XSPF 文件,然后使用 LINQ 来查询内容。

于 2011-01-12T14:13:41.293 回答
0

您没有将 ?.mp3 添加到 pls 文件中,对嵌入的 URL 吗?如果您使用的是从 PLS/M3U 文件中获得的 URL,则可能需要为其附加文件扩展名。您通常可以通过在 URL 中添加 ?ext=.mp3 或 ?file.mp3 来做到这一点,并且它应该与 MediaElement 一起播放,正如我在 MS 开发板上看到的那样,人们一直在让它与 Shoutcast 流一起使用。

于 2011-01-25T00:30:36.573 回答
0

当您从计算机上拔下设备时,您的流是否可以在设备上运行?当您插入 Zune 同步中心时,媒体播放不起作用。

克里斯

于 2011-01-25T08:18:26.567 回答