WEBAUDIO17014:解码错误:在Edge浏览器中使用audioCtx.decodeAudioData()时,提供的流已损坏或不受支持

时间:2019-04-12 07:33:10

标签: audio audio-streaming web-audio-api decoder opus

我试图在Edge浏览器中使用WebAudio API的encodeAudioData()方法解码作品文件,但出现此错误WEBAUDIO17014:解码错误:提供的流已损坏。 边缘版本详细信息: 微软Edge 42.17134.1.0 微软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音频数组缓冲区。

1 个答案:

答案 0 :(得分:0)

Ogg容器中的边缘does not yet support作品,而使用MSE的WebM容器中的since 2016 it has supported作品。 Chrome和Firefox在WebM中也支持Opus,因此您可能需要切换到WebM容器才能与所有三种浏览器一起使用。