Akses ke perangkat MIDI kini memerlukan izin pengguna

François Beaufort
François Beaufort

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

Dukungan Browser

  • 43
  • 79
  • 108
  • x

Sumber

Karena masalah keamanan untuk mengakses perangkat MIDI yang terhubung secara bebas dengan Web MIDI API, W3C Audio Working Group 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 meluas ke interaksi MIDI standar.

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

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

Kode berikut menunjukkan cara menangani prompt 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 permintaan izin Chrome mungkin berubah di masa mendatang.

Pengujian

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

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 mengomentari masalah GitHub baru yang sudah ada atau mengajukan.

Ucapan terima kasih

Terima kasih kepada Michael Wilson telah meninjau postingan ini.