WEBAUDIO17014: Ошибка декодирования: предоставленный поток поврежден или не поддерживается при использовании audioCtx.decodeAudioData () в браузере Edge - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь декодировать файл opus с помощью метода decodeAudioData () API WebAudio в браузере Edge. Но я получаю эту ошибку WEBAUDIO17014: Ошибка декодирования: Предоставленный поток поврежден.Сведения о версии Edge: Microsoft Edge 42.17134.1.0 Microsoft EdgeHTML 17.17134

Я делаю что-то очень похожее на приведенный ниже пример: Это также выдает ту же ошибку в браузере Edge.https://mdn.github.io/webaudio-examples/decode-audio-data/

Обратите внимание, что это прекрасно работает в остальных браузерах.

var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
function getData() {
  source = audioCtx.createBufferSource();
  request = new XMLHttpRequest();
  request.open('GET', 'https://fetch-streamaudio.anthum.com/audio/opus/decode- test-64kbps.opus', true);
  request.responseType = 'arraybuffer';
  request.onload = function() {
    var audioData = request.response;
    audioCtx.decodeAudioData(audioData, function(buffer) {

      },
      function(e){"Error with decoding audio data" + e.error});
  }

  request.send();
}

Он должен декодировать буфер массива opus audio.

1 Ответ

0 голосов
/ 04 мая 2019

Edge пока не поддерживает Opus в контейнере Ogg, однако с 2016 года поддерживает Opus в контейнере WebM с использованием MSE. Chrome и Firefox также поддерживают Opus в WebM, поэтому вы можете переключиться на контейнер WebM для работы со всеми тремя браузерами.

...