2015-08-19 82 views
0

我通過在Unity 3d上使用OnAudioFilterRead方法生成一些過程音頻,並且它正在工作,因爲我可以聽到揚聲器發出的合成聲音。統一過程音頻的3d FFT頻譜

當我試圖讓合成聲音的頻譜(在同一個腳本)與

void Update() 
{ 
    float[] data = new float[2048]; 
    audioSource.GetSpectrumData(data, 0, FFTWindow.BlackmanHarris); 
} 

它總是充滿data陣列0(無例外拋出)。有什麼方法可以獲得合成音頻的真實頻譜?

+0

也許窗口大小太大?關於函數的文檔說了什麼? – PaulD

+0

文檔說最大尺寸是8196.我還使用該函數從相同的代碼獲得另一個譜(來自麥克風),在這種情況下該函數正在工作。 –

+0

是否有任何功能來檢查audioSource的狀態?如果有,它會返回什麼?也許audioSource對象有刷新或空緩衝區?也許它處於無效狀態? – PaulD

回答

0

問題已在5.2版中修復