PLATFORM_API_MacOSX_MidiOut.c: 162-> Неверное сообщение: - PullRequest
0 голосов
/ 02 июля 2019

Привет всем, я копал 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();
    }
}

}

...