使用Web Audio API立即从音频文件中获取频率数据?

时间:2015-10-22 22:15:03

标签: javascript html5-audio web-audio

我正在尝试获取音频文件的频率数据,而无需播放整个实际的音频文件。现在我正在做以下事情:

var audio = new Audio();
audio.src = 'testAudio.mp3';
audio.controls = true;
audio.autoplay = true;
document.body.appendChild(audio);

var context = new AudioContext();
var analyser = context.createAnalyser();

 var source = context.createMediaElementSource(audio);
source.connect(analyser);
analyser.connect(context.destination);
var frequencyData = new Uint8Array(analyser.frequencyBinCount);
function renderFrame() {
   requestAnimationFrame(renderFrame);

   analyser.getByteFrequencyData(frequencyData);
}
renderFrame();

这很好用,但我需要等待整个音频文件播放。有没有办法可以立即获得这些数据?

1 个答案:

答案 0 :(得分:2)

不。您必须通过DSP.js等库来进行自己的FFT。