Подтвердить что ты не робот

WebKit эквивалентен Firefox "moz-chunked-arraybuffer" xhr responseType

Я хотел бы прочитать поток MP3 (от icecast, прочитать метаданные ICY, а затем передать двоичные данные MP3 в Web Audio Api).

В Firefox есть "moz-chunked-arraybuffer" xhr responseType для чтения данных о прогрессе, но я не могу найти эквивалент для webkit/chrome.


EDIT 2014/02/03:

Chrome начал внедрять xstream.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 планирует "сделать какой-то прототип, не дожидаясь завершения стандартизации"


EDIT 2015/01/22:

Streams API не будет реализован в XHR (это было просто для прототипирования). Это будет наконец реализовано в Fetch API, которая был недавно отправлен в Chrome (за экспериментальным флагом).


EDIT 2015/01/30: API-интерфейс Fetch имеет намерение отправлять. Streams API объявлены как "предстоящие интеграции", это совсем здесь!


EDIT 2015/04/15:

\ o/Слава! API-интерфейс Fetch теперь выгружается в 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

Конец истории:)

4b9b3361

Ответ 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

Ответ 3

Я думаю, что решение вашей проблемы не видит полного объекта AudioContext для html5.

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

Вы можете декодировать аудиоданные: decodeAudioData() Вы можете воспроизводить музыку через AudioBuffer, который может передавать музыку вам через веб-сокет или просто перенаправлять потоки http.

Когда вы хотите воспроизвести песню, вы просто вызываете playSound()

Итак, реальный ответ заключается в использовании AudioContext, и вы будете золотыми