簡體   English   中英

使用AVAudioEngine錄制麥克風和聲音效果

[英]Using AVAudioEngine to record mic and sound effects

我正在使用AVAudioEngine將來自麥克風的輸入以及各種聲音效果記錄到單個文件中。 錄音時,聲音通過揚聲器,通過引擎的outputNode播放。 然而,這對於使用耳機進行錄制的用戶來說會產生奇怪的效果,因為他們可以通過揚聲器/耳機聽到自己的聲音。 因此,我只希望通過揚聲器輸出聲音文件的聲音,而不是來自麥克風的聲音。

但是,我還沒有找到使用AVAudioEngine實現此目的的方法。 我的最新嘗試包括將聲音文件節點連接到主混音器,然后使用混音器的outputNode播放它們,然后將麥克風連接到第二個混音器。 然后mainMixer將其輸出(來自聲音文件的音頻)發送到此混音器,我安裝了一個水龍頭,用於將音頻寫入我的文件。

但是,混音器節點只有一個輸出,這意味着根本沒有聲音通過揚聲器播放,因為mainMixer已被改變以將其輸出路由到第二個混音器而不是outputNode。

這是我的引擎布局:

soundfileNode ----> mainMixer ---> outputNode (speaker)
                        |
                        |
                        v
inputNode (mic) --> secondaryMixer ---> tap (write to file)

我怎樣才能解決我的問題? 有任何想法嗎?

更新:

我現在正在使用AVAudioConnectionPoint來分割mainMixer的輸出。 然而,播放(和錄制)的聲音文件聲音失真,有很多噼啪聲和噪音。 這只發生在我的輔助混音器上安裝一個水龍頭,用於寫入輸出文件。 還有其他人經歷過這個嗎?

但是,混合器節點只有一個輸出

啊哈,但事實並非如此。 您正在尋找AVAudioConnectionPoint。 通過連接到一組連接點,可以拆分輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM