我想将Note_On消息发送到名为LoopBe(链接到站点)的虚拟Midi接口。如何获取Receiver对象(Java)?我尝试了下面的代码,但在上收到了NullPointerException rcvr.send()。public class test {public static Receiver rcvr;public static void main(String[] args) throws InvalidMidiDataException, MidiUnavailableException { String scene = "Test"; getReceiver(); ShortMessage myMsg = new ShortMessage(); // Nachricht Channel Note Lautstärke myMsg.setMessage(ShortMessage.NOTE_ON, 0, 1, 127); rcvr.send(myMsg, -1); System.out.println("Szene " + scene + " ausgelöst");}public static void getReceiver() throws MidiUnavailableException { MidiDevice.Info[] infos = MidiSystem.getMidiDeviceInfo(); for(Info devices : infos ) { System.out.println(devices.getName() + " : " + devices.getDescription()); if(devices.getName() == "LoopBe Internal MIDI" && devices.getDescription() == "No details available") { MidiDevice device = MidiSystem.getMidiDevice(devices); rcvr = device.getReceiver(); System.out.println("Receiver: " + rcvr.toString()); } } }}我尝试了rcvr = MidiSystem.getReceiver()一下,但效果很好,但是它将消息发送到com.sun.media.sound.MidiOutDevice$MidiOutReceiver@404b9385。
添加回答
举报
0/150
提交
取消