网络音频API分析节点getByteFrequencyData返回空数组(Web Audio API

2019-07-19 05:05发布

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

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

那么,为什么我不能在字节形式获取频率数据?

提前致谢。

Answer 1:

如果没有看到您的更多的代码,我最好的猜测是,你有minDecibels并设置为超过您通过分析仪抽数据的范围maxDecibels,所以它变得归零。



Answer 2:

什么是你得到了一个数据之前开始播放,所以没什么好但读几率有多大? 如果可能的话,尝试调用getByteFrequencyData播放开始后。



Answer 3:

检查smoothingTimeConstant设置为1 。 当它是如此, getFloatFrequencyData总是返回零的阵列。



文章来源: Web Audio API analyser node getByteFrequencyData returning blank array