大家好,我一直在研究javax.sound.midi Api,遇到了我认为与库本身无关但与Mac有关的问题。好吧,我有这个简单的代码来发送Timing Clock Midi消息。并收到此红色消息“ 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 而且看来midi消息的范围有些受限制。
公共类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();
}
}
}