我正在尝试播放midi文件,因为正在播放wav音频。
我已经尝试了
let akSequencer = AKSequencer(filename: "melody")
akSequencer.enableLooping()
akSequencer.play()
但它只播放第一个音符而没有别的。另外,我无法使用调音台将其与正在加载的wav文件混合:
let akMidiSampler = AKMIDISampler()
let akSampler = AKSampler()
let wavFile = try AKAudioFile(forReading: wavUrl!)
try akSampler.loadAudioFile(wavFile)
let mixer = AKMixer(akSampler, akMidiSampler)
mixer.volume = 1
AudioKit.output = mixer
AudioKit.start()
akSampler.play()
正在播放wav音频,但midi只是第一个音符。
非常欢迎任何帮助!
答案 0 :(得分:2)
我相信您没有正确地将音序器连接到MIDI采样器。如果你看一下这里的一些AudioKit示例游乐场:
http://audiokit.io/playgrounds/Playback/Sequencer/
或
http://audiokit.io/playgrounds/Playback/Drum%20Sequencer/
您会注意到有一条线将序列发生器连接到采样器,如:
sequencer.setGlobalMIDIOutput(piano.midiIn)
或
sequencer.setGlobalMIDIOutput(drums.midiIn)
最终你可以为音序器的不同轨道提供不同的采样器,但我认为这种全局方法现在最适合你。请记住,您可能必须在iOS上启用音频背景模式才能使用MIDI。 HTH!