AudioKit是目前iOS端下关于音乐处理最全面的框架 涵盖音乐播放与录制, midi文件的处理, 节拍器, 各种效果器等诸多功能.18年7月 笔者开始接触关于iOS端音乐合成处理与效果的实现. 便开始使用貌似强大的AudioKit框架. 踩了不少坑 一点总结如下 以飨读者.
整体
首先 AudioKit存在一个总输出端口(AudioKit.output) 意味着你想要的任何发出声音的组件都要与该端口链接才能发出声音.当设置好它后 启动AudioKit(AudioKit.start())才能使与它相关的组件正常工作!
示例:
public class AudioKitManager: NSObject {
static var shared: AudioKitManager?
/// 主混合器
var mainMixer = AKMixer.init()
override init() {
super.init()
try? AudioKit.stop()
// AKSettings等其他设置...
// 将需要发声的组件与mainMixer相连
AudioKit.output = mainMixer
try? AudioKit.start()
AudioKitManager.shared = self
}
}
注: AKMixer是一个混合器 本质上说相当于一个可以将若干输出端口集合到一个输出端口的混合器.
模式
播放
乐器
录音 & 保存
录音主要分为两种: 录制从麦克风输入的音频与录制其他输出的音频(如伴奏或者乐器等)
未完待续...
网友评论