Müzik Enstrümanı Dijital Arayüzü (MIDI), elektronik müzik enstrümanı, donanımlar ve bilgisayarların standart iletişim yöntemidir. Web MIDI API, web sitelerinin kullanıcının MIDI klavyesine veya kumanda cihazına bağlanarak sanal sentezleyicileri, elektronik baterileri veya diğer enstrümanları kontrol etmesine olanak tanır.
Web MIDI API ile bağlı MIDI cihazlarına özgürce erişmeyle ilgili güvenlik endişeleri nedeniyle W3C Audio Çalışma Grubu, Web MIDI spesifikasyonundaki tüm MIDI API kullanımı için açık izin şartı talep etti. Daha önce Chrome'da yalnızca gelişmiş MIDI kullanımı (SysEx mesajları) için geçerli olan bu değişiklik artık standart MIDI etkileşimlerini de kapsıyor.
Bu, Web MIDI API'nin tamamının artık bir izin istemi ile korunduğu anlamına gelir. Bu değişiklik, Chrome 124'ten itibaren kademeli olarak uygulanmaktadır.

Aşağıdaki kodda, kullanıcı tarafından erişim izni verilmemişken navigator.requestMIDIAccess()
çağrılmasıyla tetiklenen izin istemi nasıl ele alınacağı gösterilmektedir.
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.
}
}
Web sitenizin bu özelliğe kesinlikle ihtiyacı varsa navigator.requestMIDIAccess({ sysEx: true })
ile SysEx mesajları desteği isteğinde bulunun yalnızca. Chrome izin istemi dizeleri gelecekte değişebilir.
Test
Bu değişiklik, Chrome 124'te kademeli olarak kullanıma sunulmaktadır. Özelliği cihazınızda yerel olarak etkinleştirmek için Chrome'u --enable-features=BlockMidiByDefault
komut satırı anahtarıyla çalıştırmanız gerekebilir.
Bu değişikliği https://permission.site web sitesinde "MIDI" ve "MIDI + SysEx" düğmelerini tıklayarak test edin.
Tarayıcı desteği
MIDI cihazlara erişim için hem Chrome hem de Firefox tarayıcılarında kullanıcı izni gerekir.
Geri bildirim
Chrome ekibi ve web standartları topluluğu, bu değişiklikle ilgili deneyimlerinizi öğrenmek istiyor. Mevcut sorunlara yorum yaparak veya yeni GitHub sorunları göndererek geri bildirimde bulunun.
Faydalı bağlantılar
Teşekkür ederiz
Bu yayını inceleyen Michael Wilson'a teşekkür ederiz.