为Web Audio API流式传输大型音频文件

8

有没有人有关于如何在Web Audio API中流式传输大型音频文件的示例或建议?根据W3C规范,当文件较大时,他们建议使用流式传输而不是XMLHTTPRequest(注意:目前存在一个错误,导致无法打开大文件 Chromium Issue 71704

Google提供的示例都展示了使用XMLHTTPRequest来加载小型(<1MB)Wave文件

任何帮助将不胜感激。

谢谢

2个回答

8

7

虽然不是直接回答你的问题,但这会对你有所帮助。

API中添加了异步的decodeAudioData方法。它仍然使用XHR,但值得将你的代码转换为它。新方法在Chrome 14中可用。

// Use async decoder if it is available.
if (context.decodeAudioData) {
  context.decodeAudioData(arrayBuffer, function(buffer) {
    source.buffer = buffer;
  }, function(e) {
    console.log(e);
  });
} else {
  source.buffer = context.createBuffer(arrayBuffer, false);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接