为了账号安全,请及时绑定邮箱和手机立即绑定

我如何将Midi消息发送到特定的Midi端口

我如何将Midi消息发送到特定的Midi端口

qq_笑_17 2021-05-07 18:17:31
我想将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。
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

您应该在使用设备之前先打开设备。


查看完整回答
反对 回复 2021-05-19
  • 1 回答
  • 0 关注
  • 207 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信