gpt4 book ai didi

java - 如何向特定 Midi 端口发送 Midi 消息

转载 作者:行者123 更新时间:2023-12-02 02:03:22 25 4
gpt4 key购买 nike

我想将 Note_On 消息发送到名为 LoopBe ( Link to Site ) 的虚拟 Midi 接口(interface)。如何获取接收者对象(Java)?我尝试了下面的代码,但我在 rcvr.send() 上收到 NullPointerException。

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。

最佳答案

你应该open使用前先检查设备。

关于java - 如何向特定 Midi 端口发送 Midi 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51232939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com