2012-10-18 81 views
5

我正在使用CoreAudio構建MIDI合成器。目前,我有以下的音頻圖:CoreAudio Audio Graph中的自定義音頻效果 - 渲染回調

Sampler -> Reverb -> IO 

我需要添加一個合唱效果,以及圖和混響。問題是iPhone上沒有合唱效果。爲了解決這個問題,我打算實現我自己的合唱效果。爲此,我需要訪問音頻流。

問題是:什麼是在音頻圖形中間訪問音頻流的最佳方式。

Sampler -> Reverb -> [Custom processing] -> IOUnit 

有沒有一種方法可以改變音頻流使用像AudioUnitAddRenderNotify回調?或我必須打破這樣的音頻圖:

Sampler -> Reverb -> [AudioUnitAddRenderNotify callback] -> buffer -> [RenderCallback] -> IOUnit 

任何意見,將不勝感激。

回答

2

最簡單的方法是將渲染通知回調(AudioUnitAddRenderNotify)添加到您的Reverb節點的AU中,並處理kAudioUnitRenderAction_PostRender調用中的音頻。我做了一個實驗,只要在AUGraph打開後添加回調,並且在預渲染調用中沒有處理完成,就可以開始工作。

+0

這確實奏效。事實證明,您可以使用渲染通知即時修改音頻信息。 –