2012-10-17 68 views
2

我試圖創建一個應用程序,播放從文件加載的多個樣品(類似於iPhoneMultichannelMixer示例應用程序),同時記錄用戶從麥克風或線路輸入的輸入並保存(記錄)所有內容以任何立體聲格式轉換爲文件。MultiChannelMixer同步錄音和播放AudioUnit

從結構上講,我有一臺混音器AudioUnit,它接收不同的採樣作爲輸入,混合並通過IORemote進行回放。 IORemote麥克風輸入正被另一個記錄回調捕獲。問題是 - 我如何記錄麥克風輸入端以及Mixer AudioUnit輸出總線播放的內容?

我可以簡單地將我從麥克風獲得的內容混合到同一個調音臺,並將調音臺連接到IORemote以及其他一些可處理混合信號錄製的AudioUnit(哪種類型?)?它可能同時嗎?我應該按順序進行 - 首先將調音臺連接到錄音AudioUnit(然後?),然後再到IORemote進行播放?我應該/可以使用AudioQueue來記錄混音器的輸出嗎?

我意識到這是很多問題,但搜索沒有產生任何積極的結果,所以欣賞任何方向。

回答

1

我以前做過這個。

他們這樣做的方式是通過在調音臺中創建另一條總線,用於從remoteIO(特別是麥克風)渲染其數據的語音。然後在混音器的輸出端添加一個AudioRenderNotify以捕獲所有組合的音頻。在這個回調中,我設置了一個ExtAudioFileWriteAsync和Voila!將所有音頻合併並保存到文件中。

您甚至可以使用壓縮音頻。 AAC AppleLossless或者簡單的LinearPCM(Wave,Aiff)