使用 Audiokit 5 的 AKSequencer 和 AKMIDISampler 类来连接序列器和 MIDI 器乐。
代码示例:
// 创建 MIDI 器乐 let midi = MIDI() let sampler = AKMIDISampler()
// 从 AKSamplerPatch 文件加载声音样本 try sampler.loadWav("sound.wav", note: 60)
// 将 MIDI 器乐连接到 Sequencer let sequencer = AKSequencer() sequencer.setGlobalMIDIOutput(sampler.midiIn)
// 设置序列器时长和速度 sequencer.setLength(AKDuration(beats: 4)) sequencer.tempo = 120
// 将 MIDI 事件添加到序列器 let firstTrack = sequencer.newTrack() firstTrack.add(noteNumber: 60, velocity: 127, position: AKDuration(beats: 0), duration: AKDuration(beats: 1)) firstTrack.add(noteNumber: 62, velocity: 127, position: AKDuration(beats: 1), duration: AKDuration(beats: 1))
// 启动播放器 try sampler.enableMIDI(midi.client, name: "Sampler")
// 启动序列器 sequencer.enableLooping() sequencer.play()