वेब पर ऑडियो और वीडियो प्लेबैक सिंक करें

वेब ऑडियो एपीआई की मदद से, AV सिंक्रनाइज़ेशन सही तरीके से हासिल किया जा सकता है.

फ्रैंको ब्यूफ़ोर्ट
फ़्रैंकोइस ब्यूफ़ोर्ट

AudioContext इंस्टेंस की outputLatency प्रॉपर्टी, ऑडियो हार्डवेयर के आउटपुट में लगने वाले समय का अनुमान लगाती है. उदाहरण के लिए, ब्लूटूथ ईयरबड या बाहरी यूएसबी ऑडियो इंटरफ़ेस. यह प्रॉपर्टी तब काम आती है, जब आपको:

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

इस WebCodecs डेमो (सोर्स) में, WebCodecs API का इस्तेमाल करके MediaStream को रॉ वीडियो और ऑडियो डेटा में डीकोड किया गया और फिर ऑडियो वर्कलेट से आने वाले ऑडियो डेटा वाले एचटीएमएल <canvas> एलिमेंट में वापस चलाया गया. outputLatency प्रॉपर्टी की मदद से डेमो यह पता लगा सकता है कि दिया गया ऑडियो टाइमस्टैंप, उपयोगकर्ता के कान तक कब पहुंच रहा है. इसके बाद, इससे मिलते-जुलते वीडियो फ़्रेम को सही तरीके से पेंट किया जा सकता है.

डेमो का स्क्रीनशॉट, एम्बेड किए गए ऐसे वीडियो का है जिसमें आवाज़, ऑडियो बफ़र की परफ़ॉर्मेंस, और आउटपुट होने में लगने वाला कुल समय के बारे में बताया गया है. साथ ही, इसमें AudioContext. calloutLatency का इस्तेमाल करने के लिए एक चेकबॉक्स मौजूद है.

इसे खुद आज़माएं, अपने पसंदीदा ब्लूटूथ हेडसेट (🎧) के साथ वीडियो चलाएं, पक्षी (पसंद) (ऊपर देखें) का इंतज़ार करें (ऊपर देखें). इसके बाद, ऑडियो प्लेबैक में हो रहे बदलावों को देखने के लिए, चेकबॉक्स (☑️) को टॉगल करें. आउटपुट में लगने वाले समय की कुल वैल्यू, रीयल टाइम में अपडेट की जाती है.

ऑडियो कॉन्टेक्स्ट आउटपुट इंतज़ार की अवधि

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

  • 102
  • 102
  • 70
  • x

सोर्स

Unsplash पर, वाहिद खेने की हीरो इमेज.