Javascript Web音频API分析器节点getByteFrequencyData返回空白数组
我试图使用Analyzer.getByteFrequencyData(array)从Analyzer节点访问FFT数据,但它似乎返回一个空白数组:Javascript Web音频API分析器节点getByteFrequencyData返回空白数组,javascript,audio,signal-processing,html5-audio,web-audio-api,Javascript,Audio,Signal Processing,Html5 Audio,Web Audio Api,我试图使用Analyzer.getByteFrequencyData(array)从Analyzer节点访问FFT数据,但它似乎返回一个空白数组: var array = new Uint8Array(analyser.frequencyBinCount); analyser.getByteFrequencyData(array); 但是,使用Analyzer.getFloatFrequencyData(数组)返回一个数据数组: var array = new Float32Array(ana
var array = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(array);
但是,使用Analyzer.getFloatFrequencyData(数组)返回一个数据数组:
var array = new Float32Array(analyser.frequencyBinCount);
analyser.getFloatFrequencyData(array);
我使用的信号链如下所示:
源
->分析器
->脚本处理器
->上下文目标
那么为什么我不能以字节形式获取频率数据呢
提前感谢。在没有看到更多代码的情况下,我的最佳猜测是,您将minDecibels和maxDecibels设置为一个范围,该范围超过了您通过分析仪泵送的数据,因此它将归零。在播放开始之前,您中的一位获得数据的可能性有多大,所以还没有读取数据?如果是这种情况,请在播放开始后尝试调用
getByteFrequencyData
。检查smoothingTimeConstant
是否设置为1
。如果是这样,getFloatFrequencyData
总是返回一个零数组。就可以了。如何知道设置minDecimals/maxDecimals的值?ThanksOP:这真的是正确的答案吗?比如,你是否尝试过调整最小/最大分贝值,然后它开始对你起作用了?另外,对于像我这样遇到这个S/O问题的人,这里有一个有用的链接()@Fetteredingoskidney yes。调整最小/最大分贝值解决了这个问题。您将最小和最大分贝值设置为什么?我试过-100、-30和0255。数组仍然为空。