Akses ke perangkat MIDI kini memerlukan izin pengguna

François Beaufort
François Beaufort

Musical Instrument Digital Interface (MIDI) adalah cara komunikasi standar antara alat musik elektronik, hardware, dan komputer. Web MIDI API memungkinkan situs mengontrol synthesizer virtual, mesin drum, atau instrumen lainnya dengan terhubung ke keyboard atau pengontrol MIDI pengguna.

Dukungan Browser

  • Chrome: 43.
  • Edge: 79.
  • Firefox: 108.
  • Safari: tidak didukung.

Sumber

Karena masalah keamanan untuk mengakses perangkat MIDI yang terhubung dengan bebas menggunakan Web MIDI API, Audio Working Group W3C telah meminta persyaratan izin eksplisit untuk semua penggunaan MIDI API dalam spesifikasi Web MIDI. Perubahan ini, yang sebelumnya hanya berlaku untuk penggunaan MIDI lanjutan (pesan SysEx) di Chrome, kini juga diperluas ke interaksi MIDI standar.

Artinya, seluruh Web MIDI API kini dibatasi dengan dialog izin. Perubahan ini akan diluncurkan secara bertahap mulai Chrome 124.

Screenshot dialog izin Web MIDI di Chrome.
Dialog izin Web MIDI di Chrome.

Kode berikut menunjukkan cara menangani perintah izin yang dipicu dengan memanggil navigator.requestMIDIAccess() saat akses belum diberikan oleh pengguna.

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.
  }
}

Minta dukungan pesan SysEx dengan navigator.requestMIDIAccess({ sysEx: true }) hanya jika situs Anda benar-benar memerlukan fitur ini. String perintah izin Chrome mungkin berubah pada masa mendatang.

Pengujian

Perubahan ini diluncurkan secara bertahap di Chrome 124. Anda mungkin perlu menjalankan Chrome dengan tombol command line --enable-features=BlockMidiByDefault untuk mengaktifkannya secara lokal di perangkat.

Uji perubahan ini di situs https://permission.site dengan mengklik tombol "MIDI" dan "MIDI + SysEx".

Dukungan browser

Akses ke perangkat MIDI memerlukan izin pengguna di browser Chrome dan Firefox.

Masukan

Tim Chrome dan komunitas standar web ingin mengetahui pengalaman Anda dengan perubahan ini. Berikan masukan dengan memberikan komentar pada masalah GitHub yang ada atau mengajukan masalah baru.

Ucapan terima kasih

Terima kasih kepada Michael Wilson yang telah meninjau postingan ini.