WebKit相当于Firefox的“moz-chunked-arraybuffer”xhr responseType

时间:2013-03-03 12:11:08

标签: javascript html5 google-chrome webkit web-audio

我想读取一个MP3流(来自icecast,读取ICY元数据,然后将二进制MP3数据传递给Web Audio Api)。

Firefox有一个“moz-chunked-arraybuffer”xhr responseType来读取进度数据,但我找不到webkit / chrome的任何等价物。


EDIT 2014/02/03:

Chrome已开始实施xhr.responseType“stream”

“解析”登陆Chrome(使用--enable-experimental-webkit-features标志),但xhr.response结果对象(Stream)尚未直接在Javascript中使用:https://code.google.com/p/chromium/issues/detail?id=240603


EDIT 2014/07/10:

现在开发了规范:https://github.com/whatwg/streams

Chromium devs计划“在不等待完成标准化的情况下做一些原型”


编辑2015/01/22:

Streams API将不会在XHR中实现(它仅用于原型设计)。 It will finally be implemented实施中的Fetch API,最近在Chrome中发布(在实验标记后面)。


编辑2015/01/30: Fetch API有一个Intent to Ship! Streams API被宣布为“即将推出的集成”,它就在这里!


编辑2015/04/15:

\ o /荣耀! Fetch API现已登陆Chrome 42(当前稳定版本:http://googlechromereleases.blogspot.fr/2015/04/stable-channel-update_14.html)。 42不仅是生命,宇宙和一切的答案,而且还有这个问题“我怎样才能消费”AJAX请求“像溪流一样”:

https://github.com/GoogleChrome/samples/blob/gh-pages/fetch-api/fetch-response-stream.html

故事的结尾:)

3 个答案:

答案 0 :(得分:3)

我的猜测是,WebKit将获得https://dvcs.w3.org/hg/streams-api/raw-file/tip/Overview.htm而不是

答案 1 :(得分:2)

很抱歉成为坏消息的持有者,但据我所知,目前还没有类似的webkit。最初,chunked-arraybuffer响应类型源于与您类似的问题:

http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/0924.html

此外,MDN将responseType列为仅在Firefox中可用:

https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest

答案 2 :(得分:0)

我认为您的问题的解决方案是没有看到html5的完整AudioContext对象。

http://www.html5rocks.com/en/tutorials/webaudio/intro/

您可以解码音频数据:decodeAudioData() 您可以通过AudioBuffer播放音乐,AudioBuffer可以通过网络套接字或仅通过分组的http流式传输音乐。

当你想播放一首歌时,你只需要调用playSound()

所以真正的答案是使用AudioContext,你将是金色的