【问题标题】:How can I playback an audio stream from a Icecast on WP7如何在 WP7 上播放来自 Icecast 的音频流
【发布时间】:2011-01-11 19:42:43
【问题描述】:

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

我已经尝试过 SMF、SmoothStreaming Client 和 MediaElement。

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

编辑:

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

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

【问题讨论】:

  • 可能需要比这更多的信息。它是什么格式?你试过什么,什么没用?现在这个问题真的太笼统了,除了“见MediaElementMediaPlayerSoundEffect”或类似的东西之外,无法得到很好的答案。

标签: windows windows-phone-7 streaming icecast


【解决方案1】:

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

看看Mp3MediaStreamSource

Audio output from Silverlight

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 我已经尝试获取 winamp 使用的 url 来播放流,我也尝试从 m3u 文件中提取 url 但无法播放流。
    • 如果您可以向我们展示您正在尝试处理的文件的示例(大概是 M3U)及其内容以及您用于尝试处理和播放内容的代码,那么我们可能会能够提供更多帮助。
    【解决方案3】:

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

    【讨论】:

    • 我将尝试使用 ?ext=.mp3 而不是 ?.mp3
    【解决方案4】:

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

    克里斯

    【讨论】:

    • 否,媒体流的格式似乎不受支持。在将它作为 MediaElementSource 传递给 MediaElement 之前,我可能需要在内存中对其进行解码
    猜你喜欢
    • 2019-02-09
    • 2019-03-11
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 2019-12-12
    • 2021-12-24
    相关资源
    最近更新 更多