Не удается получить события из виртуальной клавиатуры MIDI - PullRequest
1 голос
/ 18 марта 2020

Я пытался понять, как использовать Web MIDI API на chrome. Я пытаюсь следить за информацией в документах MDN и могу получить информацию о виртуальной клавиатуре пианино MIDI, которую я установил в macOS.

Используя следующий код, я могу убедиться, что я возможность получить информацию об устройстве MIDI

navigator.requestMIDIAccess()
    .then(onMIDISuccess, onMIDIFailure);

function onMIDISuccess(midiAccess) {
    console.log(midiAccess);

    var inputs = midiAccess.inputs;
    var outputs = midiAccess.outputs;
}

function onMIDIFailure() {
    console.log('Could not access your MIDI devices.');
}

Но мне не предлагается разрешить веб-сайту доступ к моему устройству MIDI, как я ожидал.

Я пытался использовать код, найденный в документах MDN, чтобы получить onmidimessage.

// Printing all messages to console
navigator.requestMIDIAccess().then(midiAccess => {
  Array.from(midiAccess.inputs).forEach(input => {
    input[1].onmidimessage = console.log;
  })
});

https://developer.mozilla.org/en-US/docs/Web/API/MIDIMessageEvent

Я не получаю никакой ошибки, могу console.log(input[1]) и посмотрите результаты. Но когда я нажимаю клавиши на виртуальной клавиатуре пианино MIDI, ничего не происходит, я не вижу ничего записанного в консоль.

Так что я очень растерялся и не могу найти информацию о том, как чтобы заставить это работать. У кого-нибудь есть идеи, как получить события с MIDI-устройства?

...