Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java getDevices()返回一个空列表,其中synth通过USB直接连接_Java_Android_Midi - Fatal编程技术网

Java getDevices()返回一个空列表,其中synth通过USB直接连接

Java getDevices()返回一个空列表,其中synth通过USB直接连接,java,android,midi,Java,Android,Midi,我正在编写一个Android应用程序(使用Android.media.midi)来控制通过USB连接的Roland Juno-G synth。当我通过罗兰UM-ONE接口将android设备(Moto G5S)连接到synth上的DIN插座时,它就可以工作了。但是,当我使用打印机样式的电缆将android设备直接连接到USB插座时,MidiManager.getDevices()返回一个空列表。 我知道,为了让它工作,Juno-G需要配置为通过USB接口传输MIDI,并且已经进行了配置,事实上,

我正在编写一个Android应用程序(使用Android.media.midi)来控制通过USB连接的Roland Juno-G synth。当我通过罗兰UM-ONE接口将android设备(Moto G5S)连接到synth上的DIN插座时,它就可以工作了。但是,当我使用打印机样式的电缆将android设备直接连接到USB插座时,MidiManager.getDevices()返回一个空列表。 我知道,为了让它工作,Juno-G需要配置为通过USB接口传输MIDI,并且已经进行了配置,事实上,我尝试过的其他应用程序也可以使用这种配置

midiManager = (MidiManager) getSystemService(MIDI_SERVICE);
    if (midiManager == null) {
        Toast.makeText(this, "No MIDI service.", Toast.LENGTH_LONG).show();
        return;
    }
midiDeviceInfos = midiManager.getDevices();
    if (midiDeviceInfos.length == 0) {
        Toast.makeText(this, "No MIDI devices found.", Toast.LENGTH_LONG).show();
        return;
    }

如果你能澄清你的问题就好了。也许你在问为什么?或者你想要一个解决办法?关于原因,我没有Juno-G,而是针对Windows和macOS的罗兰产品页面。如果产品不符合USB MIDI标准,那么如果没有设备的特定驱动程序,它将无法工作。佩德罗:谢谢。1) 为了澄清这一点,我需要getDevices()返回Juno-G的信息,这样应用程序的其余部分就可以工作了——我只展示了上面的一些启动代码。2) 我已经向罗兰提出了一个关于标准合规性的支持问题,但我认为,鉴于其他安卓应用在USB接口上工作正常,不需要任何特定的驱动程序。我可能需要检查其他应用程序是否实际使用了android.media.midi。