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

Rob*_*yes 5 javascript audio signal-processing html5-audio web-audio-api

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

var array = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(array);
Run Code Online (Sandbox Code Playgroud)

但是 usinganalyser.getFloatFrequencyData(array)返回一个数据数组:

var array = new Float32Array(analyser.frequencyBinCount);
analyser.getFloatFrequencyData(array);
Run Code Online (Sandbox Code Playgroud)

我使用的信号链如下:

Source-> Analyser-> ScriptProcessor->Context Destination

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

提前致谢。

cwi*_*lso 3

在没有看到更多代码的情况下,我最好的猜测是您将 minDecibels 和 maxDecibels 设置为超出您通过分析器泵送的数据的范围,因此它被归零。

  • 您将最小和最大分贝值设置为多少?我尝试过 -100、-30 和 0、255。数组仍然是空的。 (7认同)