【问题标题】:Using AKBooster with AKAmplitudeTracker in Audiokit在 Audiokit 中使用 AKBooster 和 AKAmplitudeTracker
【发布时间】:2017-11-22 09:32:08
【问题描述】:

我的问题是在将AKBooster 添加到AKAmplitudeTracker 之前,然后将其添加到信号链稍后的输出中。它应该看起来像这样:

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 在下面的回答之后注意到了......

【问题讨论】:

    标签: ios swift audiokit


    【解决方案1】:

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

    sprite.silentBooster >>> mixer
    

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

    【讨论】:

    • 嗨,Aure,谢谢。我意识到我错过了我的流程中的一些步骤(现在在编辑中添加)......这意味着问题不同?
    【解决方案2】:

    再次感谢 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多