这篇文章依然是围绕AVFoundation中下面三个类展开的
AVAudioEngine
AVAudioPCMBuffer
AVAudioPlayerNode
如果对于这三个类没有了解可以参考下另外一篇文章
http://www.jianshu.com/p/d6f57e43efd5
一个AVAudioEngine可以连接多个节点,也可以连接多个播放器,利用这个特性,我们可以创建多个播放器和缓冲区来为我们处理不同的音频,只需要在与engine连接的时候,设置好通道即可.
[_engine connect:_player to:[_engine mainMixerNode] fromBus:0 toBus:2 format:stereoFormat];
[_engine connect:_player2 to:[_engine mainMixerNode] fromBus:0 toBus:1 format:stereoFormat];
我们的目的是不同音频同时输出,所以我们的toBus,都选择为当前音频引擎主线,而fromBus,则可以根据业务自行定义
我将Demo中无用的代码都分离了出去,相信你可以很快就理解
附上地址:https://github.com/WeiTChen/AudioChannel