Musical Instrument Digital Interface (MIDI) to standardowy sposób komunikacji elektronicznej instrumentów muzycznych, sprzętu i komputerów. Interfejs Web MIDI API umożliwia witrynom sterowanie syntezatorami wirtualnymi, automatami perkusyjnymi i innymi instrumentami przez połączenie z klawiaturą MIDI lub kontrolerem użytkownika.
Ze względu na problemy z bezpieczeństwem związane z otwartym dostępem do podłączonych urządzeń MIDI za pomocą interfejsu Web MIDI, grupa robocza W3C ds. dźwięku zażądała wyraźnego wymagania dotyczącego uprawnień do wszystkich interfejsów MIDI API w specyfikacji Web MIDI. Ta zmiana, która wcześniej dotyczyła tylko zaawansowanego korzystania z MIDI (wiadomości SysEx) w Chrome, dotyczy teraz również standardowych interakcji MIDI.
Oznacza to, że cały interfejs Web MIDI jest teraz dostępny po wyrażeniu zgody. Ta zmiana jest wprowadzana stopniowo, począwszy od wersji 124 przeglądarki Chrome.

Poniższy kod pokazuje, jak obsłużyć prośbę o przyznanie uprawnień wywoływaną przez funkcję navigator.requestMIDIAccess()
, gdy użytkownik nie przyznał jeszcze dostępu.
try {
// Prompt user to access MIDI devices.
const access = await navigator.requestMIDIAccess();
// Get lists of available MIDI controllers...
} catch (error) {
if (error.name === "SecurityError") {
// The website is not allowed to control and reprogram MIDI devices.
}
}
Poproś o obsługę wiadomości SysEx navigator.requestMIDIAccess({ sysEx: true })
tylko, jeśli Twoja witryna absolutnie potrzebuje tej funkcji. W przyszłości ciągi znaków w prośbach o uprawnienia w Chrome mogą się zmienić.
Testowanie
Ta zmiana jest stopniowo wprowadzana w Chrome 124. Aby włączyć ją lokalnie na urządzeniu, konieczne może być uruchomienie Chrome z opcją wiersza poleceń --enable-features=BlockMidiByDefault
.
Przetestuj tę zmianę na stronie https://permission.site, klikając przyciski „MIDI” i „MIDI + SysEx”.
Obsługa przeglądarek
Dostęp do urządzeń MIDI wymaga zgody użytkownika zarówno w przeglądarce Chrome, jak i Firefox.
Prześlij opinię
Zespół Chrome i społeczność zajmująca się standardami internetowymi chce poznać Twoje wrażenia związane z tą zmianą. Prześlij opinię, komentując istniejące problemy w GitHub lub zgłaszając nowe.
Przydatne linki
Podziękowania
Dziękujemy Michaelowi Wilsonowi za sprawdzenie tego posta.