Web Audio API分析器节点getByteFrequencyData返回空白数组

时间:2013-02-03 20:56:28

标签: javascript audio signal-processing html5-audio web-audio

我正在尝试使用analyser.getByteFrequencyData(array)从分析器节点访问FFT数据,但它似乎返回一个空白数组:

var array = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(array);

但是使用analyser.getFloatFrequencyData(array)会返回一个数据数组:

var array = new Float32Array(analyser.frequencyBinCount);
analyser.getFloatFrequencyData(array);

我正在使用如下信号链:

Source - > Analyser - > ScriptProcessor - > Context Destination

那为什么我不能以字节形式获得频率数据?

提前致谢。

3 个答案:

答案 0 :(得分:1)

如果没有看到更多的代码,我最好的猜测是你将minDecibels和maxDecibels设置为超过你通过分析仪抽取的数据的范围,因此它会被清零。

答案 1 :(得分:1)

你们中的一个人在播放开始之前获得数据的几率是多少,所以还没有什么可读的?如果可能是这种情况,请在播放开始后尝试拨打getByteFrequencyData

答案 2 :(得分:0)

检查smoothingTimeConstant是否设置为1。如果是这样,getFloatFrequencyData总是返回一个零数组。