我正在尝试使用AKSequencer()从.mid文件发送midi数据,在虚拟输出上使用它在应用程序外部(更多详细信息如下)。 我的问题是我的AKSequencer没有在我的应用程序之外发送midi ,就像我想用virtualOuput端口做的那样。
// My midiOutput is set like this:
let midiOut = AKMIDI()
midiOut.createVirtualOutputPort()
midiOut.openOutput()
//And my AKSequencer connect to the midiOuput like this:
sequencer.setGlobalMIDIOutput(midiOut.virtualOutput)
我设置了AKSampler()以确保我的AKSequencer工作正常。
我认为我的问题要么是从我对midiOutput的联系,要么是我使用AKSequencer而不是像我想象的那样设计发送midi。
要进入细节,我正在尝试通过蓝牙将MIDI从iOS应用程序发送到DAW。感谢CABTMIDILocalPeripheralViewController。当建立两个设备连接时,设置连接以发送midi非常容易。我实现了使用AKMIDI()。sendNoteOnMessage()发送midi所以我确定连接不是问题。
答案 0 :(得分:3)
用AKSequencer
向外发送MIDI有点棘手。您需要使用AKMIDICallbackInstrument
或您自己的AKMIDIListener
从音序器获取MIDI,并通过AKMIDI
输出重新路由到应用之外。
这个帖子有一个讨论: https://groups.google.com/forum/#!topic/audiokit/6VkayJMpMvY
另外,您可能想要查看我在AKSequencer
上使用iOS和Mac示例构建的MIDISequencer库:
https://github.com/cemolcay/MIDISequencer