我有一个音频元素
var audioSrc = 'https://mfbx9da4.github.io/assets/audio/dope-drum-loop_C_major.wav'
var audio = document.createElement('audio')
audio.src = audioSrc
我需要AudioBuffer
做beat 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
答案 0 :(得分:5)
这样做的最佳方法是避免使用sc.close();
标记并通过XHR加载音频:
<audio>