28

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

所以我有下一个代码:

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

我将其保存为 HTML 页面并启动我的浏览器(Google chrome 4.0.249.78、safary 或 FF)

但它不播放/工作!(

而且它不能与我尝试播放的任何其他网络收音机一起播放!(

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

顺便说一句:来自HTML5(包括仍在开发中的下一代添加) 2.6.1 协议概念 用户代理可以实现各种传输协议,但该规范主要根据 HTTP 定义行为。[HTTP]

HTTP GET 方法等效于协议的默认检索操作。例如,FTP 中的 RETR。在 HTTP 术语中,此类操作是幂等且安全的。

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

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

4

10 回答 10

45

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

<audio controls src="http://shoutcast.internet-radio.org.uk:10272/;"></audio>
于 2010-07-06T00:15:14.463 回答
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 样式的自关闭标记,我需要包含controlsorautoplay才能真正开始音频)

这可能是因为 Safari “免费”获得了对 Shoutcast 的支持,因为它只使用 QuickTime 来处理它提供的任何音频和视频 URL,而 QuickTime 已经支持 Shoutcast。这也可能导致一些奇怪的错误,因为 QuickTime 的 HTTP 实现很古怪,说得好听点。

我建议在不支持 Shoutcast 的浏览器中提交错误,要求其支持。以下是Firefox (Gecko/Mozilla)Chrome (Chromium)Safari的错误跟踪器(如果它碰巧不能在 Windows 上运行,或者类似的东西)。

于 2010-02-10T02:50:57.830 回答
10

你不能使用 ShoutCast 来做到这一点,但使用 Icecast 和 edcast 客户端你可以通过 HTML5<audio>标签流式传输实时 vorbis。只需将其指向http://your-url.com:port/stream.ogg :p

于 2010-06-06T23:02:23.100 回答
4
<!DOCTYPE html>
<audio controls src="http://baldyradio.com:8010/;"></audio>

这在 IE9 的发布版本中有效,遗憾的是,对于 FireFox 4 不能这样说!

于 2011-04-03T08:25:26.033 回答
4

好吧,我检查了 ogg_vorbis 电台。我下载了一些播放列表并在记事本中打开它,然后复制了一个流的 url。因此,如果您想测试它,只需将其复制到空文件并将其命名为 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

于 2011-02-06T20:29:18.600 回答
2

reading the HTML 5 audio specification (http://www.w3schools.com/html5/html5_audio.asp) W3C outlines which formats (MP3 or OGG) are supported by which browsers

What i would do is have an icecast server (not ShoutCast) streaming a MP3 and an OGG stream

using javascript detect the browser type - http://www.javascripter.net/faq/browsern.htm

if (the browser does not support HTML5){ print a message - USE a New Browser }

if (the browser supports HTML5 and OGG streaming (use list from W3c)){ use the OGG stream from the icecast server in the SRC tag }

if (the browser supports HTML5 MP3 streaming (use list from W3C)){ use the MP3 stream from the icecast server in the SRC tag }

i think this would cover all the major browsers and would solve most peoples problems you will probably find in the future this will be redundant as more browsers support

于 2011-03-30T08:13:23.140 回答
2
<audio controls src="http://example.com:8000/mountpath;"></audio>
于 2010-10-16T13:45:15.633 回答
2

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

<audio src="http://shoutcast.internet-radio.org.uk:10272/;" />
于 2016-03-13T09:26:50.220 回答
1

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

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

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

于 2010-02-09T23:28:08.480 回答
1

是的,你可以玩 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>
于 2018-03-09T13:12:49.603 回答