Dostęp do urządzeń MIDI wymaga teraz zgody użytkownika

François Beaufort
François Beaufort

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 wirtualnym syntezatorem, automatami perkusyjnymi i innymi instrumentami przez połączenie z klawiaturą lub kontrolerem MIDI użytkownika.

Obsługa przeglądarek

  • 43
  • 79
  • 108
  • x

Źródło

Ze względu na problemy z bezpieczeństwem dotyczące swobodnego dostępu do urządzeń MIDI za pomocą interfejsu Web MIDI API organizacja W3C Audio Working Group zażądała wymogu uzyskania konkretnych uprawnień w przypadku całego korzystania z interfejsu MIDI API w specyfikacji Web MIDI. Ta zmiana, wcześniej stosowana tylko do zaawansowanego korzystania z MIDI (wiadomości SysEx) w Chrome, obejmuje teraz też standardowe interakcje MIDI.

Oznacza to, że cały interfejs Web MIDI API jest obecnie ograniczony po wyświetleniu prośby o przyznanie uprawnień. Tę zmianę będziemy wprowadzać stopniowo, począwszy od Chrome 124.

Zrzut ekranu z prośbą o przyznanie uprawnień Web MIDI w Chrome.
Prośba o przyznanie uprawnień Web MIDI w Chrome.

Poniższy kod pokazuje, jak postępować z prośbą o przyznanie uprawnień, która została wywołana przez wywołanie 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.
  }
}

Zgłaszaj się do zespołu pomocy ds. wiadomości SysEx navigator.requestMIDIAccess({ sysEx: true }) tylko tylko wtedy, gdy Twoja witryna absolutnie potrzebuje tej funkcji. Ciągi tekstowe o uprawnieniach w Chrome mogą w przyszłości ulec zmianie.

Testowanie

Tę zmianę wprowadzamy stopniowo w Chrome 124. Aby włączyć go lokalnie na urządzeniu, konieczne może być uruchomienie Chrome przy użyciu przełącznika wiersza poleceń --enable-features=BlockMidiByDefault.

Przetestuj tę zmianę na stronie https://permission.site, klikając przyciski „MIDI” i „MIDI + SysEx”.

Obsługiwane przeglądarki

Dostęp do urządzeń MIDI wymaga zgody użytkownika w przeglądarkach Chrome i Firefox.

Prześlij opinię

Zespół Chrome i społeczność ds. standardów internetowych chcą poznać Twoje wrażenia związane z tą zmianą. Przekaż nam swoją opinię, komentując istniejące lub zgłaszając nowe problemy z GitHubem.

Podziękowania

Dziękujemy Michaelowi Wilsonowi za przeczytanie tego posta.