我想读取一个 MP3 流(从 icecast 读取 ICY 元数据,然后将二进制 MP3 数据传递给 Web Audio Api)。
Firefox 有一个“moz-chunked-arraybuffer”xhr responseType 来读取进度数据,但我找不到 webkit / chrome 的任何等价物。
编辑 2014/02/03:
Chrome 已经开始实现 xhr.responseType "stream"
“解析”位于 Chrome 中(带有 --enable-experimental-webkit-features 标志),但 xhr.response 结果对象(流)尚不能直接在 Javascript 中使用:https ://code.google.com/ p/chromium/issues/detail?id=240603
编辑 2014/07/10:
该规范现已开发:https ://github.com/whatwg/streams
Chromium 开发者计划“在不等待标准化完成的情况下做一些原型”
编辑 2015/01/22:
Streams API不会在 XHR 中实现(它只是用于原型设计)。它最终将在Fetch API实现中实现,该实现最近在 Chrome 中发布(在实验标志后面)。
编辑 2015/01/30:Fetch API 有发货意图!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
故事的结局 :)