這篇文章依然是圍繞AVFoundation中下面三個(gè)類展開(kāi)的
AVAudioEngine
AVAudioPCMBuffer
AVAudioPlayerNode
如果對(duì)于這三個(gè)類沒(méi)有了解可以參考下另外一篇文章
http://www.reibang.com/p/d6f57e43efd5
一個(gè)AVAudioEngine可以連接多個(gè)節(jié)點(diǎn),也可以連接多個(gè)播放器,利用這個(gè)特性,我們可以創(chuàng)建多個(gè)播放器和緩沖區(qū)來(lái)為我們處理不同的音頻,只需要在與engine連接的時(shí)候,設(shè)置好通道即可.
[_engine connect:_player to:[_engine mainMixerNode] fromBus:0 toBus:2 format:stereoFormat];
[_engine connect:_player2 to:[_engine mainMixerNode] fromBus:0 toBus:1 format:stereoFormat];
我們的目的是不同音頻同時(shí)輸出,所以我們的toBus,都選擇為當(dāng)前音頻引擎主線,而fromBus,則可以根據(jù)業(yè)務(wù)自行定義
我將Demo中無(wú)用的代碼都分離了出去,相信你可以很快就理解
附上地址:https://github.com/WeiTChen/AudioChannel