是否可以使用HTML5播放shoutcast / icecast流?
如果是这样,我应该如何实施呢?
答案 0 :(得分:47)
在http请求的末尾添加分号。这是shoutcast提出的协议,以覆盖它的浏览器检测。像这样:
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/;"></audio>
答案 1 :(得分:18)
SHOUTcast存在一个很大的问题,我怀疑它是否会导致它甚至无法在支持MP3的Chrome中运行。
SHOUTcast可以提供三种不同类型的响应:
本机-SHOUTcast“ICY”协议流式音频响应。如果访问流的播放器包含icy-metadata: 1
标题,则决定执行此操作。
没有额外元数据的普通HTTP流媒体音频响应,适用于没有ICY支持的媒体播放器。
“SHOUTcast D.N.A.S.状态“网页界面上的页面和其他页面。
如何决定是否提供网页而不是音频流?它猜测您是否使用Web浏览器。通过查看User-Agent
标题是否以Mozilla/...
开头。因为所有的网络浏览器都是Mozilla,对吧? Jeez,SHOUTcast。
因此,当Chrome尝试获取要播放的音频流时,SHOUTcast认为它是一个网络浏览器(嗯......就是这样)并且拒绝将音频流添加到音频标签中。而是获取管理员网页。
(我猜想Safari正在传递icy-metadata
标题来避免这个问题,特别支持SHOUTcast。我现在无法测试它,因为Safari不会播放音频或视频。也许它想要我为此安装了QuickTime。也许它可以被填充。)
因此,您可能需要添加Flash音频播放器作为后备。
答案 2 :(得分:4)
<audio src="http://85.25.108.20:8090/;" controls autoplay></audio>
这应该可以正常工作,但要确保在流URL和端口之后存在/;
。如果您不需要自动播放,请删除&#34;自动播放&#34; 标记。
答案 3 :(得分:3)
是。但它只在Safari中工作
<!DOCTYPE html>
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/"></audio>
原因Opera和Firefox不支持非免费编解码器
答案 4 :(得分:3)
答案 5 :(得分:0)
使用<audio
&gt;重定向问题浏览器中的标记尝试添加&#34; / stream&#34;在流URL的末尾,用于防止重定向。
示例:
答案 6 :(得分:0)
我将Icecast与Easystream结合使用,以流式传输到Mac和PC。脚本设置了称为MP3 Sticky Player的音频播放器。瑞士法郎 在两种情况下,使用文档支持文件,播放器都可以按以下方式加载。
PC
<ul id="playlist" style="display:none;">
<li data-path="http://99.250.117.109:8000/stream" data-thumbpath="thumbnail of whatever" data-downloadable="no" data-duration="00:00">
</li>
</ul>
MAC
<audio style="width: 100%" controls="controls" autoplay="autoplay" src="http://99.250.117.109:8000/stream">
Your browser does not support the <code>audio</code> element.
</audio>
由于我们已从任何mp3元数据中删除了图像,因此我们使用图像加载器来获取Icy-MetaData(仅供参考,您至少需要PHP 5.4才能正常运行),并为每首播放的播放器歌曲匹配一个封面目录。