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 kapsayacak şekilde genişletildi.

Bu, Web MIDI API'sinin tamamının artık bir izin isteminin arkasında olduğu anlamına gelir. Bu değişiklik, Chrome 124'ten itibaren kademeli olarak uygulanmaktadır.

Chrome'daki Web MIDI izin isteminin ekran görüntüsü.
Chrome'da Web MIDI izin istemi.

Aşağıdaki kod, kullanıcı henüz erişim izni vermediğinde navigator.requestMIDIAccess() çağrısının tetiklenerek tetiklenen izin isteminin nasıl işleneceğini gösterir.

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 cihazlarına erişim için hem Chrome hem de Firefox tarayıcılarda 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ı bildirerek geri bildirimde bulunun.

Teşekkür ederiz

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