Привет всем, я копал javax.sound.midi Api и столкнулся с проблемой, которая, как мне кажется, связана не с самой библиотекой, а с маком. Ну, у меня есть этот простой код для отправки миди-сообщения Timing Clock. И получите это красное сообщение «PLATFORM_API_MacOSX_MidiOut.c: 162-> Недопустимое сообщение: статус сообщения = 0xF8 при отправке короткого сообщения». Кто-нибудь знает обойти это? заранее спасибо
Я посмотрел на этот исходный код https://github.com/JetBrains/jdk8u_jdk/blob/master/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiOut.c
И кажется, что диапазон миди-сообщений немного ограничен.
открытый класс TestMidiLibrary {
public static void main(String[] args) {
MidiDevice.Info[] info = MidiSystem.getMidiDeviceInfo();
MidiDevice device = null;
try {
device = MidiSystem.getMidiDevice(info[6]);
device.open();
} catch (MidiUnavailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ShortMessage msg = new ShortMessage();
try {
msg.setMessage(ShortMessage.TIMING_CLOCK);
long timeStamp = -1;
Receiver r = device.getReceiver();
r.send(msg,timeStamp);
} catch (InvalidMidiDataException | MidiUnavailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}