【发布时间】:2020-05-23 10:55:14
【问题描述】:
感谢 AudioKit! 我有下一个问题: 我试图获得AKSampleMetronome 和一个包装在AKMIDISampler 中的midi 文件的理想同步播放。这是我的代码:
let metronome = AKSamplerMetronome()
let mixer = AKMixer()
let midiSampler = AKMIDISampler()
midiSampler.samplerUnit.loadSoundBankInstrument(....)
metronome >>> mixer
midiSampler >>> mixer
AudioKit.output = mixer
AudioKit.start()
let sequencer = AKAppleSequencer(filename: "midifilename")
sequencer.enableLooping()
sequencer.tracks[1].setMIDIOutput(midiSampler.midiIn)
//now play
sequencer.play()
metronome.beatTime = 0
metronome.play()
但是当我像这样改变节奏时:
sequencer.setTempo(bpm)
let now = AVAudioTime(hostTime: mach_absolute_time())
metronome.setTempo(Double(bpm), at: now)
片刻之后,节拍器和 midi 音序器的声音出现分歧。 我怎样才能得到准确的解决方案?
【问题讨论】:
标签: ios swift synchronization midi audiokit