通过虚拟输出使用 AKSequencer 发送 midi

Send midi with AKSequencer over virtual output

我正在尝试使用 AKSequencer() 从 .mid 文件发送 midi 数据,在虚拟输出上以在应用程序外部使用它(下面有更多详细信息)。 我的问题是我的 AKSequencer 没有像我想用 virtualOuput 端口那样将 midi 发送到我的应用程序之外

// 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)

为了进入细节,我正在尝试通过蓝牙将 MIDI 从 iOS 应用程序发送到 DAW。感谢 CABTMIDILocalPeripheralViewController。当两个设备建立连接时,建立连接以发送 midi 非常容易。我用 AKMIDI().sendNoteOnMessage() 实现了发送 midi,所以我确定连接不是问题。

AKSequencer 向外发送 MIDI 有点棘手。您需要使用 AKMIDICallbackInstrument 或您自己的 AKMIDIListener 从音序器获取 MIDI 并通过 AKMIDI 输出在您的应用程序之外重新路由。

关于这个话题有一个讨论: https://groups.google.com/forum/#!topic/audiokit/6VkayJMpMvY

此外,您可能想查看我在 AKSequencer 上构建的 MIDISequencer 库,其中包含 iOS 和 Mac 示例: https://github.com/cemolcay/MIDISequencer