多通道播放音频

这篇文章依然是围绕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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容