2017-04-19 38 views
1

我知道這個問題可能會得到很差的評價,但我一直在尋找如何將音頻輸出重新路由到iOS設備上的揚聲器的問題。AVAudioEngine和AVAudioSession之間是否有任何關係?

每個問題,我看着用戶談到使用您的AVAudioSession重新路由它..但是,我沒有使用AVAudioSession,我使用AVAudioEngine

所以基本上我的問題是,即使我使用AVAudioEngine,我還應該有AVAudioSession

如果是這樣,這兩個對象之間的關係是什麼?或者有沒有辦法將AVAudioEngine連接到AVAudioSession


如果不是這種情況,並且有一個AVAudioEngineAVAudioSession沒有關係,不是如何使其發揮出了主音箱的iOS設備,而不是聽筒上你重新路由音頻。

謝謝!

+0

您是否考慮閱讀文檔? o_O –

+0

聲音很好。 AVAudioSession總是很重要 – matt

+0

@ l'l是的,我試過查看文檔,但我確實沒有發現它是非常豐富的。 – Logan

回答

3

AVAudioSession特定於iOS,並協調應用程序之間的音頻播放,以便例如在來電時停止播放音頻或在用戶啓動電影時停止播放音樂。需要此API才能確保應用程序正確響應此類事件

AVAudioEngine是用於播放和錄製的現代Objective-C API。它提供了您以前必須下載到Audio Toolbox框架的C API的控制級別(例如,實時音頻任務)。音頻引擎API被構建爲與較低級別的API良好接口,所以如果必須的話,您仍然可以下載到音頻工具箱。

該API的基本概念是構建從源節點(播放器和麥克風)和過度處理節點(混合器和效果)到目標節點(硬件輸出)的音頻節點圖。每個節點都有一定數量的具有定義良好的數據格式的輸入和輸出總線。這種架構使其非常靈活和強大。它甚至與音頻單元集成在一起。

所以這裏沒有包容關係。

來源鏈接:https://www.objc.io/issues/24-audio/audio-api-overview/

+1

所以,如果我要編輯AVAudioSession,這會影響AVAudioEngine的使用方式嗎?例如,如果我將AVAudioSession設置爲使用PlayAndRecord類型,是否會影響我的AVAudioEngine? – Logan

相關問題