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.
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.
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.
Link bermanfaat
Ucapan terima kasih
Terima kasih kepada Michael Wilson telah meninjau postingan ini.