MidiManager.getDevices () возвращает пустой список с синтезатором, подключенным напрямую через USB - PullRequest
0 голосов
/ 17 октября 2019

Я пишу приложение для 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;
    }
...