Web音频API获取<audio>元素的AudioBuffer

时间:2017-10-20 19:48:21

标签: javascript audio html5-audio web-audio-api

我有一个音频元素

var audioSrc = 'https://mfbx9da4.github.io/assets/audio/dope-drum-loop_C_major.wav'
var audio = document.createElement('audio')
audio.src = audioSrc

我需要AudioBufferbeat detection所以我尝试在加载音频时访问缓冲区:

audio.oncanplaythrough = () => {
  console.info('loaded');
  var source = context.createMediaElementSource(audio);
  source.connect(context.destination);
  console.info('source.buffer', source.buffer);
  source.start()
}

但是,上面的代码段记录了

> loaded
> source.buffer undefined

1 个答案:

答案 0 :(得分:5)

这样做的最佳方法是避免使用sc.close();标记并通过XHR加载音频:

<audio>