الوصول إلى أجهزة MIDI يتطلب الآن إذن المستخدم

François Beaufort
François Beaufort

الواجهة الرقمية للآلات الموسيقية (MIDI) هي طريقة معيارية يمكن من خلالها التواصل بين الآلات الموسيقية الإلكترونية والأجهزة وأجهزة الكمبيوتر. تسمح Web MIDI API للمواقع الإلكترونية بالتحكّم في أجهزة المزج الافتراضية أو آلات الطبول أو الآلات الأخرى من خلال الاتصال بلوحة مفاتيح MIDI أو وحدة تحكُّم المستخدم.

التوافق مع المتصفح

  • 43
  • 79
  • 108
  • x

المصدر

بسبب مخاوف أمنية بشأن الوصول بحرية إلى أجهزة MIDI المتصلة باستخدام واجهة برمجة تطبيقات Web MIDI، طلبت مجموعة عمل W3C Audio Workinging الحصول على إذن صريح لجميع استخدامات MIDI API في مواصفات Web MIDI. وقد كان هذا التغيير يسري في السابق على استخدام MIDI المتقدم (رسائلSysEx) في Chrome، والآن يتسع لتفاعلات MIDI العادية أيضًا.

وهذا يعني أنّ واجهة برمجة التطبيقات Web MIDI API بالكامل محمية الآن بإذن الوصول إلى الواجهة. يتم طرح هذا التغيير تدريجيًا بدءًا من الإصدار 124 من Chrome.

لقطة شاشة لطلب الحصول على إذن MIDI على الويب في Chrome
طلب إذن MIDI على الويب في Chrome

يوضِّح لك الرمز التالي كيفية التعامل مع طلب الإذن الذي تم تفعيله من خلال الاتصال بـ navigator.requestMIDIAccess() في حال لم يسبق للمستخدم منحك إذن الوصول.

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.
  }
}

يمكنك طلب دعم رسائل SysEx مع navigator.requestMIDIAccess({ sysEx: true }) فقط إذا كان موقعك الإلكتروني في حاجة ماسة إلى هذه الميزة. قد تتغير سلاسل طلب أذونات Chrome في المستقبل.

الاختبار

يتم طرح هذا التغيير تدريجيًا في Chrome 124. يجب تشغيل Chrome باستخدام مفتاح سطر الأوامر --enable-features=BlockMidiByDefault لتفعيله على جهازك.

يمكنك اختبار هذا التغيير على موقع https://permission.site الإلكتروني بالنقر على زرَّي "MIDI" و "MIDI + SysEx".

المتصفحات المتوافقة

يتطلب الوصول إلى أجهزة MIDI الحصول على إذن من المستخدم في كلٍّ من متصفِّح Chrome وFirefox.

إضافة ملاحظات

يرغب فريق Chrome ومنتدى معايير الويب في التعرّف على تجاربك مع هذا التغيير. قدِّم ملاحظاتك من خلال التعليق على مشاكل GitHub الحالية أو تقديم بيانات جديدة عنها.

شكر وتقدير

شكرًا مايكل ويلسون لمراجعة هذه المشاركة.