我正在使用AudioKit的AKMIDIListener协议来监听MIDI消息的一个类。对于像Note On
这样的标准消息,这很好用,但是SysEx
消息没有传递。
func receivedMIDINoteOn(noteNumber: MIDINoteNumber, velocity: MIDIVelocity, channel: MIDIChannel) {
NSLog("Note On \(noteNumber), \(velocity), \(channel)") // works perfectly
}
func receivedMIDISystemCommand(_ data: [MIDIByte]) {
NSLog("SysEx \(data)") // never triggers
// More code to handle the messages...
}
SysEx消息是从外部硬件或测试软件发送的。我使用了MIDI监视应用程序来确保消息被正确发送,但在我的应用程序中它们没有触发receivedMIDISystemCommand
。
是否需要执行其他步骤才能接收SysEx消息?
提前感谢您提供任何线索。
NSLog("SysEx \(data)")
根本没有触发。没有任何日志记录,这表明receivedMIDISystemCommand
从未运行。感谢您的建议,使用AKMIDISystemCommand
肯定会使我的代码更加简洁。 - Oscar