【问题标题】:HTML5 AUDIO Tag Support for Icecast?Icecast 的 HTML5 音频标签支持?
【发布时间】:2016-11-19 23:26:53
【问题描述】:

是否可以使用 HTML5 的 AUDIO 标签播放 Icecast 流?我使用的语法对 ShoutCast 似乎很满意,但对我感到困惑的 Icecast 却不满意。此外,如果我浏览到某个 Icecast 流的 URL,浏览器窗口会自动显示播放器(参见最后一个示例)。

正在工作的 ShoutCast 示例。

<audio src="http://107.182.233.214:8000/;listen.pls?sid=1" autoplay="true" muted="false" controls="true" volume="1.0"></audio>

不工作的 Icecast 示例。

<audio src="http://91.121.59.45:8016/;stream" autoplay="false" muted="false" controls="true" volume="1.0"></audio>

<audio src="http://91.121.59.45:8016/stream" autoplay="false" muted="false" controls="true" volume="1.0"></audio>

<audio src="http://91.121.59.45:8016" autoplay="false" muted="false" controls="true" volume="1.0"></audio>

Icecast 流 URL,在浏览器中自动打开播放器。

http://91.121.59.45:8016/stream

【问题讨论】:

  • 这个&lt;audio src="http://91.121.59.45:8016/stream" autoplay="false" controls="true"&gt;&lt;/audio&gt; 似乎在工作JSFiddle
  • 我不确定这里发生了什么,因为我确定我尝试了该语法但它不起作用,但我现在刚刚测试过它,显然它确实有效。谢谢!

标签: html audio shoutcast icecast internet-radio


【解决方案1】:

是否可以使用 HTML5 的 AUDIO 标签播放 Icecast 流?

是的,绝对的。

唯一的要求是浏览器支持您正在流式传输的编解码器。

我使用的语法似乎对 ShoutCast 很满意,但对我感到困惑的 Icecast 却不满意。

所有这些带有分号 ; 的流 URL 仅用于 SHOUTcast。 SHOUTcast 服务器在与流相同的 URL 上运行其管理界面。他们进行用户代理嗅探以确定客户端是网络浏览器还是音频播放器。许多年前,当网页开始播放音频时,他们需要一种方法来解决这个问题,以便浏览器可以获取音频流。带有分号的流 URL 会强制 SHOUTcast 忽略浏览器的用户代理并将其替换为“MPEG OVERRIDE”,这会导致服务器的其余部分返回流。

只需要;。整个;stream 只是被复制和粘贴的不必要的东西。

您可以在此处阅读更多内容:https://stackoverflow.com/a/38217135/362536

对于 Icecast 流,您只需要这样:

<audio src="http://91.121.59.45:8016/stream" />

(当然,除非你支持多个编解码器,在这种情况下你会use multiple sources。)

【讨论】:

  • 我以前试过这个,但它似乎不起作用。
  • 确保你使用src="http://91.121.59.45:8016/stream"(布拉德似乎犯了一个错误,我的编辑还没有显示)。
  • 谢谢@TBR!编辑仍然没有显示,所以我只是进行了更正。
猜你喜欢
  • 2019-03-11
  • 1970-01-01
  • 2013-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多