通过HTML5 <audio>标签查找流式MP3文件

Kyl*_*ery 25 html audio streaming html5 node.js

希望有人可以帮助我解决这个问题.

我正在玩一个node.js服务器,它将音频流传输到客户端,我想创建一个HTML5播放器.现在,我正在使用分块编码从节点流式传输代码,如果直接转到URL,它的效果很好.

我想做的是使用HTML5 <audio>标签嵌入它,如下所示:

<audio src="http://server/stream?file=123">
Run Code Online (Sandbox Code Playgroud)

/stream节点服务器在哪里流式传输MP3.HTML5播放器在Safari和Chrome中运行良好,但它不允许我寻找,Safari甚至称它是"直播".在标题中/stream,我包括文件大小和文件类型,并且响应正确结束.

有关如何解决这个问题的任何想法?我当然可以立即发送整个文件,但是玩家会等到整个文件被下载 - 我宁愿传输它.

小智 7

但我有同样的问题。有必要为媒体文件响应设置一些标头。

例如:

Accept-Ranges:bytes
Content-Length:7437847
Content-Range:bytes 0-7437846/7437847
Run Code Online (Sandbox Code Playgroud)

然后音频标签将能够寻找


Dus*_*ake 6

确保服务器接受Range请求,您可以检查是否Accept-Ranges在标头中.在jPlayer中,当涉及到进步和寻求功能时,这是Webkit(特别是Chrome)浏览器中的常见问题.

您可能没有使用jPlayer,但官方网站上的服务器响应信息可能有些用处.

http://www.jplayer.org/latest/developer-guide/#jPlayer-server-response


Pie*_*ter 3

看看这里http://www.scottandrew.com/pub/html5audioplayer/,我使用了这个,它在下载文件时播放。它会等待一点缓冲区,然后播放。虽然从未尝试过寻找,但如果可以的话,我会首先尝试在他的代码中设置“aud.currentTime”。

祝你好运