Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Web音频API分析器节点getByteFrequencyData返回空白数组_Javascript_Audio_Signal Processing_Html5 Audio_Web Audio Api - Fatal编程技术网

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

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

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

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。数组仍然为空。