5

を使用してアナライザー ノードから 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

では、周波数データをバイト形式で取得できないのはなぜですか?

前もって感謝します。

4

3 に答える 3

2

コードを詳しく見ることなく、minDecibelsとmaxDecibelsが、アナライザーを介してポンピングしているデータを超える範囲に設定されているため、ゼロになっていると推測されます。

于 2013-02-03T22:21:14.670 に答える
1

再生が開始される前にデータを取得したため、まだ読み取るものがなかった確率はどれくらいですか? その場合は、getByteFrequencyData再生を開始してから呼び出してみてください。

于 2013-08-03T23:03:40.477 に答える