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 aletleri, donanımlar ve bilgisayarlar için iletişim kurulmasını sağlayan standart bir yöntemdir. Web MIDI API, web sitelerinin kullanıcının MIDI klavyesine veya denetleyicisine bağlanarak sanal sentezleyicileri, davul makinelerini veya diğer enstrümanları kontrol etmesine olanak tanır.

Tarayıcı Desteği

  • 43
  • 79
  • 108
  • x

Kaynak

Web MIDI API ile bağlı MIDI cihazlarına ücretsiz olarak erişme konusundaki güvenlik endişeleri nedeniyle W3C Audio Çalışma Grubu, Web MIDI spesifikasyonundaki tüm MIDI API kullanımı için açık izin gereksinimi istedi. Daha önce yalnızca Chrome'da gelişmiş MIDI kullanımı (SysEx mesajları) için geçerli olan bu değişiklik, artık standart MIDI etkileşimlerini de kapsayacaktır.

Bu sayede, Web MIDI API'nin tamamı artık bir izin isteminin arkasında kontrol ediliyor. Bu değişiklik, Chrome 124 sürümünden itibaren kademeli olarak kullanıma sunulacaktır.

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

Aşağıdaki kod, kullanıcı tarafından erişim izni verilmediğinde navigator.requestMIDIAccess() çağrısının tetiklediği 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.
  }
}

Yalnızca web siteniz için bu özellik kesinlikle gerekiyorsa navigator.requestMIDIAccess({ sysEx: true }) ile SysEx mesaj desteği isteyin. Chrome izin istemi dizeleri ileride değişebilir.

Test

Bu değişiklik Chrome 124'te kademeli olarak kullanıma sunulmaktadır. Chrome'u cihazınızda yerel olarak etkinleştirmek için --enable-features=BlockMidiByDefault komut satırı anahtarı ile ç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ılarında kullanıcı izni gerekir.

Geri bildirim

Chrome ekibi ve web standartları topluluğu, bu değişiklikle ilgili deneyimlerinizi öğrenmek istiyor. Mevcut GitHub sorunlarını bildirerek veya yeni sorunlar bildirerek geri bildirim sağlayın.

Teşekkür

Bu yayını incelediğiniz için Michael Wilson'a teşekkür ederiz.