1

我想向 MIDI 端口发送一条 Sysex 消息。不幸的是,当我发送它时根本没有任何回应。发送常规MIDIShortMessage消息(ShortMessageSysexMessage

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

为什么端口没有收到消息或为什么没有发送?

4

2 回答 2

1

未发送 SysEx 消息的原因是 OSX 的 MIDI 系统损坏。它不能发送 SysEx 消息。MMJ 似乎是一个解决此问题的库。

于 2014-07-14T12:35:01.080 回答
1

一个更新的解决方案是https://github.com/DerekCook/CoreMidi4J这只是您添加的另一个依赖项,它将使 Midi 在 OSX 上工作(并且在其他平台上不会造成伤害)。

于 2019-08-18T15:08:30.033 回答