Java Sound MidiInDevice Thread永远不会关闭

时间:2016-10-10 15:44:08

标签: java multithreading midi

当我用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) {
        }
    }
}

0 个答案:

没有答案