我想向MIDI端口发送Sysex消息。不幸的是,当我发送它时,根本没有任何响应。发送常规的MIDI消息(ShortMessage)工作正常,但是一旦我用SysexMessage替换了ShortMessage,事情就停止了。
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);为什么端口没有接收到消息,或者为什么没有发送消息?
发布于 2014-07-14 20:35:01
没有发送SysEx消息的原因是因为OSX的MIDI系统崩溃了。它不能发送SysEx消息。MMJ似乎是一个解决这个问题的库。
发布于 2019-08-18 23:08:30
一个较新的解决方案是https://github.com/DerekCook/CoreMidi4J,这只是您添加的另一个依赖项,它将使Midi on OSX工作(并且不会对其他平台造成损害)。
https://stackoverflow.com/questions/24725567
复制相似问题