初始化完成后如何将AKMidiSampler连接至AKCompressor?
如何在AudioKit中先初始化AKCompressor再连接输入源?
没问题,这在AudioKit里完全可以实现——效果节点的输入源本来就支持后期动态绑定,不用非得在初始化时就传入。下面给你两种常用的实现方式:
方式1:直接设置压缩器的input属性
这是最直观的方法,先分别初始化你的采样器和空压缩器,之后直接给压缩器的input赋值就行:
// 1. 初始化你的MIDI采样器 let akMidiSampler = AKMIDISampler() // 2. 初始化空的AKCompressor var compressor = AKCompressor() // 3. 把采样器连接到压缩器 compressor.input = akMidiSampler // 4. 别忘了把压缩器设置为AudioKit的输出,并启动AudioKit AudioKit.output = compressor try? AudioKit.start()
方式2:使用AudioKit的全局connect方法
如果你习惯用AudioKit的节点连接链语法,也可以用全局的connect方法来建立两者的关联:
// 1. 初始化采样器和空压缩器 let akMidiSampler = AKMIDISampler() var compressor = AKCompressor() // 2. 用全局方法连接采样器到压缩器 AudioKit.connect(akMidiSampler, to: compressor) // 3. 设置输出并启动AudioKit AudioKit.output = compressor try? AudioKit.start()
两种方法的效果完全一致,你可以根据自己的代码风格选择。另外,如果之后需要切换压缩器的输入源(比如换成另一个合成器或音频节点),直接重复上面的连接步骤就行,旧的连接会自动被替换。
内容的提问来源于stack exchange,提问作者Fischer
相关产品推荐
相关产品推荐

