Icecast 是否支持 HTML5 AUDIO 标签?

标签 html audio shoutcast icecast internet-radio

是否可以使用 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

最佳答案

Is it possible to play an Icecast stream using HTML5's AUDIO tag?

是的,绝对。

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

The syntax I'm using seems happy enough with ShoutCast but not Icecast which I'm confused by.

所有这些带有分号 ; 的流 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 。)

关于Icecast 是否支持 HTML5 AUDIO 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38418354/

相关文章:

javascript - react : why child component doesn't update when prop changes

java - 有没有一种快速的方法可以使用 java 获取设备上的所有音频文件?

vb6 - 向VB6程序添加声音

从 Shoutcast/Icecast 流中提取艺术家和标题的 PHP 脚本

javascript - 当我在菜单外单击时如何隐藏 jQuery toggle()?

html - 将最后一行左对齐的文本对齐

javascript - 输入元素的值发生变化但未显示在浏览器中?

audio - 如何使用gstreamer提取mp3流中的数据帧?

ios - 使用Swift的iOS Shoutcast访问元数据

android - 如何在从shoutcast流中检索元数据时了解新歌曲信息