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