【发布时间】:2017-04-22 09:47:26
【问题描述】:
我正在使用来自 github 的这个 spectrogram.js 来绘制频谱图并实时获取频率值。 Github Repo
我已经编写了这个额外的 stopSong 函数:
function stopSong() {
var analyser = audioContext.createAnalyser();
var ctx = new AudioContext();
var osc = ctx.createOscillator();
osc.connect(ctx.destination);
osc.start(0);
spectro.stop();
var freqData= new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(freqData);
//var f = Math.round(freqData[1]);
// var text = f + ' Hz';
var idx = 0;
for (var j=0; j < analyser.frequencyBinCount; j++) {
if (freqData[j] > freqData[idx]) {
idx = j;
}
}
var frequency = idx * ctx.sampleRate / analyser.fftSize;
console.log(frequency);
//document.getElementById("frec").innerHTML = text;
}
但每次我运行它时,它都会给出 0 作为输出。谁能告诉我的代码有什么问题。
【问题讨论】:
标签: web-audio-api frequency-analysis