当我用Java打开Midi IN设备并关闭它时,我的程序永远不会终止,因为Java Sound MidiInDevice Thread永远不会终止。我可以调用System.exit(0),但我想避免这种情况。
有什么想法吗?
public class MidiClose {
public static void main(String[] args) {
MidiDevice.Info[] midiInfos = MidiSystem.getMidiDeviceInfo();
MidiDevice device = null;
String midiDeviceName = "Bus 1";
try {
for (int i = 0; i < midiInfos.length; i++) {
if (midiInfos[i].getName().equals(midiDeviceName)) {
device = MidiSystem.getMidiDevice(midiInfos[i]);
if (device.getMaxTransmitters() != 0) {
device.open();
device.close();
}
}
}
} catch (MidiUnavailableException e) {
}
}
}