我想将Sysex消息发送到MIDI端口。不幸的是,当我发送它时根本没有回应。发送常规MIDI消息(ShortMessage
)工作得很好,但是一旦用ShortMessage
替换SysexMessage
,事情就会停止工作。
MidiDevice midiIn = MidiSystem.getMidiDevice(midiDeviceList[NUMBER]);
Receiver rcvr = midiIn.getReceiver
byte[] clearMsg = {(byte) 0xf0, 0x47, 0x7f, 0x15, 0x1e, 0x00, 0x00, (byte) 0xf7 };
SysexMessage sysMsg = new SysexMessage();
sysMsg.setMessage(clearMsg, clearMsg.length);
rcvr.send(sysMsg, -1);
为什么端口没有收到邮件或为什么没有收到邮件?
答案 0 :(得分:1)
未发送SysEx消息的原因是因为OSX的MIDI系统已损坏。它无法发送SysEx消息。 MMJ似乎是一个解决这个问题的库。
答案 1 :(得分:0)
最近的解决方案是https://github.com/DerekCook/CoreMidi4J,这是您添加的另一个依赖关系,它将使Midi在OSX上正常工作(并且在其他平台上无害)。