当前位置:  开发笔记 > 编程语言 > 正文

MIDI OUT发射器不可用

如何解决《MIDIOUT发射器不可用》经验,为你挑选了0个好方法。

我一整天都在喋喋不休,阅读我能找到的所有内容,遵循JDK源代码,没有好运找到关于如何获取midi设备上的数据以及确定什么是什么的关于HOWWHERE的详细信息.

我试图通过我的NI Audio 8 DJ MIDI IN端口捕获midi消息,但是,java并没有"看到"MIDI IN端口,只有out,我已成功用于发送midi.我也可以使用M-Audio USB UNO midi设备获得相同的结果:MidiSystem.getMidiDeviceInfo()只"看到"输出端口.

我已经验证了MIDI IN端口的操作:

amidi -p hw:2,0 -d

并发送一些信号.工作良好.

getMaxTransmitters()返回零. MidiSystem.getMidiDeviceInfo()仅显示两个设备的一个条目:Audio8DJ [hw:2,0]Interface [hw:2,0]

下面的代码适用于接收器,我认为只有我需要验证getTransmitter()抓取端口的位,因为它只适用于另一个并且一切正常,我得到一个MidiUnavailableException/Transmitter不可用的异常.

我甚至把getMaxReceivers()陷阱拿走了,因为我只是试图看看设备是否只提供了一个条目并将其整理出来,但没有.

public static Transmitter getMidiIn () {
    if (midiIn == null){
        devices = MidiSystem.getMidiDeviceInfo();
        for(MidiDevice.Info info: devices){
            System.out.println("device class " + info.getClass());
            MidiDevice device;
            try{
                device = MidiSystem.getMidiDevice(info);
                if (info.toString().equals("Audio8DJ [hw:2,0]")){

                    if (device.getMaxTransmitters() != 0){
                        try{
                            device.open();
                            System.out.println("max transmitters:" + device.getMaxTransmitters());
                            midiIn = device.getTransmitter();
                            System.out.println("Found a transmitter: "+ midiIn);
                            break;
                        } catch (Exception e){
                            e.printStackTrace();
                        }
                    }
                }
            } catch (MidiUnavailableException e1){
                e1.printStackTrace();

            }
        }
    }
    return midiIn;
}

所以让我来到这里的是:alsa只列出一个条目amidi -l,当我指定作为转储端口时,它工作正常.Java获取相同的文本条目并且无法对MIDI IN进行排序,将其分配给com.sun.media.sound.MidiOutDeviceProvider类,因此它让我想知道Java是如何做到的,或者Java在哪里找出设备必须提供的内容以及为什么它没有看到输入alsa正在看的港口.

我正在使用带有JDK1.6的eclipse版本:3.8.1 IDE进行编码,在Linux薄型操作系统上.

我很乐意提供任何要求.谢谢阅读!

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有