在 Audiokit 中将 AKBooster 与 AKAmplitudeTracker 结合使用

Using AKBooster with AKAmplitudeTracker in Audiokit

我这里的问题是关于在 AKAmplitudeTracker 被添加到信号链中稍后的输出之前添加一个 AKBoosterAKAmplitudeTracker。它应该看起来像这样:

do {
   try sprite.MIDISamplerPlayer.loadAudioFile(myAudioFile)
} catch let error as NSError {
   print("There's an error: \(error)")
}

sprite.amplitudeTracker = AKAmplitudeTracker(sprite.MIDISamplerPlayer)
sprite.silentBooster = AKBooster(sprite.amplitudeTracker)

sprite.silentBooster?.gain = 0

sprite.silentBooster! >>> mixer
sprite.MIDISamplerPlayer.enableMIDI(sprite.samplerMIDI.client, name: "My MIDISampler")
sprite.MIDISamplerPlayer >>> mixer

sequencer = AKSequencer(filename: myMIDI)

AudioKit.output = mixer
AudioKit.start()

sequencer!.play()

我遇到的问题是增益报告为 0.0,但音量播放正常,即增益对输出没有影响。

我不能在末尾将 AKBooster 添加到信号链,因为我希望将 AKBooster 添加到音序器中的轨道。

关于如何解决这个问题的想法非常感谢!谢谢 8•)

已编辑 在我的过程中错过了一些步骤,在下面 Aure 的回答后注意到...

我认为您没有将助推器放入链中。你必须做

sprite.silentBooster >>> mixer

而不是 sprite.MIDIsampler,否则跟踪器和助推器都不会通过它拉出音频。

再次感谢 Aure(他的建议解决了问题)。修改后的代码如下,现在可以正常使用了。

sprite.amplitudeTracker = AKAmplitudeTracker(sprite.MIDISamplerPlayer)
sprite.MIDISamplerPlayer.enableMIDI(sprite.samplerMIDI.client, name: "My MIDISampler")
sprite.silentBooster = AKBooster(sprite.amplitudeTracker)

sprite.silentBooster?.gain = 0
sprite.silentBooster! >>> mixer

//sprite.MIDISamplerPlayer >>> mixer