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