我想將Note_On消息發(fā)送到名為LoopBe(鏈接到站點(diǎn))的虛擬Midi接口。如何獲取Receiver對(duì)象(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()一下,但效果很好,但是它將消息發(fā)送到com.sun.media.sound.MidiOutDevice$MidiOutReceiver@404b9385。
添加回答
舉報(bào)
0/150
提交
取消