एमआईडीआई डिवाइसों को ऐक्सेस करने के लिए, अब उपयोगकर्ता की अनुमति ज़रूरी है

François Beaufort
François Beaufort

म्यूज़िकल इंस्ट्रुमेंट डिजिटल इंटरफ़ेस (एमआईडीआई), इलेक्ट्रॉनिक म्यूज़िकल इंस्ट्रुमेंट, हार्डवेयर, और कंप्यूटर से बातचीत करने का स्टैंडर्ड तरीका है. Web MIDI API, वेबसाइटों को उपयोगकर्ता के एमआईडीआई कीबोर्ड या कंट्रोलर से कनेक्ट करके, वर्चुअल सिंथेसाइज़र, ड्रम मशीन या अन्य इंस्ट्रुमेंट को कंट्रोल करने की अनुमति देता है.

ब्राउज़र सहायता

  • 43
  • 79
  • 108
  • x

सोर्स

वेब MIDI API के साथ कनेक्ट किए गए एमआईडीआई डिवाइसों को मुफ़्त में ऐक्सेस करने की सुरक्षा से जुड़ी समस्याओं के चलते, W3C ऑडियो वर्किंग ग्रुप ने वेब एमआईडीआई की शर्तों में, सभी एमआईडीआई एपीआई के इस्तेमाल के लिए, साफ़ तौर पर अनुमति देने की ज़रूरी शर्त का अनुरोध किया है. यह बदलाव पहले Chrome में, सिर्फ़ बेहतर एमआईडीआई इस्तेमाल (SysEx मैसेज) के लिए किया जाता था. अब यह स्टैंडर्ड एमआईडीआई इंटरैक्शन पर भी लागू होगा.

इसका मतलब है कि अब पूरे Web MIDI API को अनुमति के प्रॉम्प्ट से सुरक्षित कर दिया गया है. Chrome के वर्शन 124 में, यह बदलाव धीरे-धीरे रोल आउट किया जाएगा.

Chrome में वेब एमआईडीआई की अनुमति के अनुरोध का स्क्रीनशॉट.
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.
  }
}

navigator.requestMIDIAccess({ sysEx: true }) के लिए SysEx मैसेज के सहायता का अनुरोध सिर्फ़ तब करें, जब आपकी वेबसाइट को इस सुविधा की बिलकुल ज़रूरत हो. आने वाले समय में, Chrome की अनुमति के अनुरोध वाली स्ट्रिंग बदल सकती हैं.

टेस्ट करना

यह बदलाव Chrome 124 में धीरे-धीरे रोल आउट किया जा रहा है. Chrome को अपने डिवाइस पर चालू करने के लिए, आपको --enable-features=BlockMidiByDefault के कमांड-लाइन स्विच का इस्तेमाल करना पड़ सकता है.

"एमआईडीआई" और "एमआईडीआई + SysEx" बटन पर क्लिक करके, https://permission.site वेबसाइट पर जाकर इस बदलाव की जांच करें.

ब्राउज़र समर्थन

एमआईडीआई डिवाइसों को ऐक्सेस करने के लिए, Chrome और Firefox, दोनों ब्राउज़र में उपयोगकर्ता की अनुमति होना ज़रूरी है.

सुझाव/राय दें या शिकायत करें

Chrome टीम और वेब स्टैंडर्ड की कम्यूनिटी, इस बदलाव से जुड़े आपके अनुभव के बारे में जानना चाहती है. मौजूदा समस्याओं पर टिप्पणी करके या नई GitHub से जुड़ी समस्याएं फ़ाइल करके, सुझाव/राय दें या शिकायत करें.

स्वीकार हैं

इस पोस्ट की समीक्षा करने के लिए माइकल विल्सन का धन्यवाद.