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)
是否可以使用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)
(当然,除非您支持多个编解码器,否则您将使用多个源.)