Icecast的HTML5音频标签支持?

Fat*_*ger 2 audio html5 shoutcast internet-radio icecast

是否可以使用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>
Run Code Online (Sandbox Code Playgroud)

非工作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>
Run Code Online (Sandbox Code Playgroud)

Icecast流URL,用于在浏览器中自动打开播放器.

http://91.121.59.45:8016/stream
Run Code Online (Sandbox Code Playgroud)

Bra*_*rad 7

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

是的,一点没错.

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

我正在使用的语法对于ShoutCast看起来很开心,但不是我很困惑的Icecast.

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

;需要.整件事;stream只是复制和粘贴的不必要的东西.

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

至于Icecast流,你需要的只是:

<audio src="http://91.121.59.45:8016/stream" />
Run Code Online (Sandbox Code Playgroud)

(当然,除非您支持多个编解码器,否则您将使用多个源.)

  • 确保你使用`src ="http://91.121.59.45:8016/stream"`(布拉德似乎犯了一个错误,但我的编辑不可见). (3认同)