[英]read midi IO device with java
我试图解析来自连接到笔记本电脑的Midi设备的输入。 所以我想找到设备,连接到它并从它接收输入。
我从Java中的select midi设备开始,但是在解决这一问题时遇到了一些麻烦。 我考虑过jFugue,它提供了一种访问Java声音API的方法,但是由于我没有他们的书,所以没有资源。 另外,jMusic提供了一些功能,但主要用于midi文件IO,而不是midi设备IO。 因此,您知道关于该主题的任何实用教程(可能直接使用Java声音API)。
一如既往,任何帮助均不胜感激!
看一下Java Sound教程: http : //docs.oracle.com/javase/tutorial/sound/accessing-MIDI.html它包含对Java MIDI API的很好的解释,还包含有关如何枚举设备的示例源代码。
有以下示例源代码:
// Obtain information about all the installed synthesizers.
Vector synthInfos;
MidiDevice device;
MidiDevice.Info[] infos = MidiSystem.getMidiDeviceInfo();
for (int i = 0; i < infos.length; i++) {
try {
device = MidiSystem.getMidiDevice(infos[i]);
} catch (MidiUnavailableException e) {
// Handle or throw exception...
}
if (device instanceof Synthesizer) {
synthInfos.add(infos[i]);
}
}
// Now, display strings from synthInfos list in GUI.
当您获取MIDI设备时,您可以(在先前的源代码中)
infos[i].getName
获取设备名称 infos[i].getVendor()
获得设备供应商 device.getMaxReceivers()
和device.getMaxTransmitters()
检查这是输入设备还是输出设备(如果一个“物理”设备提供输入和输出端口,它们将被视为Java中的两个设备,一个用于输入,第二个用于输出)。 device.getMaxTransmitters()
。 有关更多详细信息,请参见API文档:-http: //docs.oracle.com/javase/1.5.0/docs/api/javax/sound/midi/MidiDevice.html-http : //docs.oracle.com/javase /1.5.0/docs/api/javax/sound/midi/MidiDevice.Info.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.