是否有可能用html5播放shoutcast互联网广播流?

时间:2010-02-09 12:56:59

标签: audio html5 radio audio-streaming shoutcast

是否可以使用html5播放shoutcast(或某些)互联网广播流?

所以我有下一个代码:

<html>
<body>
<audio src="http://shoutcast.internet-radio.org.uk:10272/" />
</body>
</html>

我将其另存为HTML页面并启动浏览器(Google Chrome 4.0.249.78,safary或FF)

但它不起作用/工作!(

它不会与我试图播放的任何其他网络电台一起播放!(

为什么!?!我做错了什么?

btw:来自HTML5 (including next generation additions still in development) 2.6.1 Protocol concepts 用户代理可以实现各种传输协议,但是该规范主要根据HTTP定义行为。 [HTTP]

HTTP GET方法等同于协议的默认检索操作。例如,FTP中的RETR。在HTTP术语中,这些行为是幂等的和安全的。

HTTP响应代码等同于具有相同基本含义的其他协议中的状态。例如,“找不到文件”错误等同于404代码,服务器错误等同于5xx代码,依此类推。

HTTP标头等同于具有相同基本含义的其他协议中的字段。例如,HTTP身份验证标头等同于FTP协议的身份验证方面。

10 个答案:

答案 0 :(得分:42)

http请求的末尾添加分号。它是由shoutcast提出的协议,以覆盖其浏览器检测。像这个例子:

<audio controls src="http://shoutcast.internet-radio.org.uk:10272/;"></audio>

答案 1 :(得分:16)

HTML5未指定播放器必须支持的音频格式(无论是渐进式还是流式)。这取决于浏览器根据需求和实施可行性来确定。在早期的草稿中,我们尝试指定所有浏览器必须支持的一些基线编解码器和格式,但每种可能的格式都会导致某些浏览器供应商拒绝实现它。

以下内容似乎适用于Safari(4.0.4,WebKit nightly 6531.21.10,r54538,Mac OS X 10.6.2),但不适用于Chrome或Firefox:

<!DOCTYPE html>
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/"></audio>

(请注意<audio>在HTML序列化中需要结束标记,它不能使用XML样式的自动结束标记,我需要包含controlsautoplay为了实际启动音频)

这可能是因为Safari免费获得Shoutcast的支持,因为它只使用QuickTime来处理它所提供的任何音频和视频URL,而QuickTime已经支持Shoutcast。这也可能导致一些奇怪的错误,因为QuickTime的HTTP实现,quirky,是好的。{/ p>

我建议在不支持它的浏览器中提交要求Shoutcast支持的bug。以下是Firefox (Gecko/Mozilla)Chrome (Chromium)Safari的错误跟踪器(如果它不适用于Windows,或类似的东西)。

答案 2 :(得分:10)

您不能使用ShoutCast,但使用Icecast和edcast客户端,您可以通过HTML5 <audio>标记流式传输vorbis。只需将其指向http://your-url.com:port/stream.ogg:p

即可

答案 3 :(得分:4)

好吧,我已经检查了ogg_vorbis电台。我下载了一些播放列表并在记事本中打开它,并复制出一个流的网址。因此,如果您想测试它,只需将其复制到空文件并将其命名为something.html。

<!DOCTYPE html>
    <html>
    <head>
    <title>audio testing live stream!</title>
    </head>
    <body>
    <audio controls="controls" autoplay="autoplay" src="http://oggvorbis.tb-stream.net:80/technobase.ogg">
    </audio>
    </body>
</html>

就是这样!

BB

答案 4 :(得分:4)

<!DOCTYPE html>
<audio controls src="http://baldyradio.com:8010/;"></audio>

这适用于IE9的发布版本,对于FireFox 4来说,悲伤也是如此!

答案 5 :(得分:3)

阅读HTML 5音频规范(http://www.w3schools.com/html5/html5_audio.asp)W3C概述了哪些格式(MP3或OGG)受哪些浏览器支持

我要做的是有一个播放MP3和OGG流的icecast服务器(不是ShoutCast)

使用javascript检测浏览器类型 - http://www.javascripter.net/faq/browsern.htm

if(浏览器不支持HTML5){ 打印消息 - 使用新浏览器 }

if(浏览器支持HTML5和OGG流媒体(使用W3c中的列表)){ 使用SRC标签中来自icecast服务器的OGG流 }

if(浏览器支持HTML5 MP3流媒体(使用W3C列表)){ 使用SRC标签中来自icecast服务器的MP3流 }

我认为这将涵盖所有主流浏览器,并将解决大多数人的问题 你可能会发现,随着越来越多的浏览器支持

,这将是多余的

答案 6 :(得分:2)

<audio controls src="http://example.com:8000/mountpath;"></audio>

答案 7 :(得分:2)

上述帖子给出了正确的答案,尽管他们没有提到使用斜杠。确保在流URL和端口之后有 /;

<audio src="http://shoutcast.internet-radio.org.uk:10272/;" />

答案 8 :(得分:1)

好吧,Firefox和Opera不支持非免费编解码器,如mp3(与Opera 10.5 alpha一样,FF 3.5及更高版本仅支持PCM wav和Ogg Vorbis用于音频)。我相信Chrome和Safari确实支持MP3。

下一个问题是您的网址似乎指向描述流的网页,而不是流。

最后,据我所知,没有人为音频元素实现播放列表解析器(规范只提到音频文件,而不是播放列表),这是一个问题,即使你点击“听”你得到播放列表而非原始流。

答案 9 :(得分:0)

是的,你可以玩ShoutCast2我就是这样使用它

<audio preload="none" autoplay="autoplay" controls="controls">
    <source src="http://178.32.62.172:9079/stream" type="audio/mpeg">
    Your browser does not support this player, please update the version
</audio>