MIDI cihazlarına erişim için artık kullanıcı izni gerekiyor

François Beaufort
François Beaufort

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.

Tarayıcı desteği

  • Chrome: 43.
  • Edge: 79.
  • Firefox: 108.
  • Safari: Desteklenmez.

Kaynak

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.

Chrome'daki Web MIDI izin isteğinin ekran görüntüsü.
Chrome'daki Web MIDI izin istemi.

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.

Teşekkür ederiz

Bu yayını inceleyen Michael Wilson'a teşekkür ederiz.