2017-01-09 83 views
0

我想在Unity的AudioSource的輸入端生成音頻。在AudioSource的輸入端生成音頻

我已經使用OnAudioFilterRead() MonoBehaviour嘗試,但這種只允許你改變音頻數據AudioSource,繞過任何空間化/俯仰/增益等方面的AudioSource組件。

我也有過使用AudioClip作爲緩衝區的想法,用音頻數據填充它,然後將其加載到AudioSource中,但我不認爲這可以在不知道緩衝區大小的情況下完成,並且能夠在讀取每個緩衝區時加載新的剪輯。由於每個新緩衝區都是必需的,所以沒有辦法讀入AudioClip

有沒有什麼方法可以在之前更改AudioSource的音頻數據?它會經過音頻源的空間化/俯仰/增益等嗎?

+0

這不是主題,也不要求'推薦或找到書籍,工具,軟件庫,教程或其他非現場資源'。這是一個關於Unity的直接問題。如果有什麼不清楚的地方,請評論,我會編輯清楚,謝謝。 –

回答

0

我自己解決了這個問題。這是一個愚蠢的錯誤。讀取所述文檔爲OnAudioFilterRead後正確我發現,它規定:

音頻數據是浮筒的範圍從陣列[-1.0F; 1.0F]和 包含在鏈中或先前的過濾器的音頻AudioSource上的AudioClip 。如果這是連鎖店中的第一個過濾器,並且 剪輯未附加到音頻源,則此過濾器將被「播放」。 這樣你就可以使用過濾器作爲音頻剪輯,程序性地生成音頻 。

我曾在AudioSource音頻剪輯,其停止OnFilterRead是在DSP鏈中的第一過程。刪除音頻剪輯修復了問題!