Я пишу приложение для Android (используя android.media.midi) для управления синтезатором Roland Juno-G, подключенным через USB. Это работает, когда я подключаю устройство Android (Moto G5S) к синтезатору через интерфейс Roland UM-ONE к разъемам DIN на синтезаторе. Но когда я подключаю устройство Android напрямую к USB-разъему с помощью кабеля в стиле принтера, MidiManager.getDevices () возвращает пустой список. Я знаю, что для того, чтобы это работало, необходимо настроить Juno-G для передачи MIDI через интерфейс USB и выполнить эту настройку, и это действительно работает с другими приложениями, которые я пробовал.
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;
}