我想从< audio>获得FFT数据.标记,但没有任何语法错误它不起作用.看一下Web Audio API文档,我写了一个示例代码,这是我的代码:
var audioElement = document.getElementById("aud");
var audioContext = new webkitAudioContext();
var streamingAudioSource = audioContext.createMediaElementSource(audioElement);
var jsProcessor = audioContext.createJavaScriptNode(4096,1,1);
jsProcessor.onaudioprocess = process;
var analyser = audioContext.createAnalyser();
analyser.fftSize = 2048;
//streaming:AudioSource->jsProcessor->analyser->destination
streamingAudioSource.connect(jsProcessor);
jsProcessor.connect(analyser);
analyser.connect(audioContext.destination);
//autoplay
audioElement.play();
function process(event){
var freqByteData = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(freqByteData);
document.getElementById("info").innerHTML=freqByteData[1];//show data in div
}
我的Chrome版本是20.0.1096.1 dev-m,我认为它运行良好.通过process(),我试着写下freqByteData,但它显示0,并且它们都是0.
我的代码必定有问题,我想知道如何从音频标签中获取频率数据.