ऑडियो डिवाइस

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

ऑडियो के लिए Google Cast की सुविधा देने वाले ऐप्लिकेशन को इन बातों का ध्यान रखना चाहिए:

  • ऑडियो डिवाइसों के लिए Google Cast में वीडियो या ग्राफ़िक नहीं दिखते. हालांकि, कई ऑडियो डिवाइसों में मेटाडेटा दिखाने के लिए डिसप्ले होता है. जैसे, वीडियो चलाने या रोकने की स्थिति (चलने या रोका गया) और प्रोग्रेस. आपके ऐप्लिकेशन में उपयोगकर्ता की ऐसी अहम जानकारी, सिर्फ़ ईमेल पाने वाले व्यक्ति को नहीं दिखनी चाहिए. अहम जानकारी और यूज़र इंटरफ़ेस की ज़्यादातर जानकारी, भेजने वाले व्यक्ति को ही दिखनी चाहिए.
  • वेब रिसीवर ऐप्लिकेशन को ठीक से चलाने के लिए, ऑडियो डिवाइसों के लिए Google Cast को ग्राफ़िक रेंडर करने होंगे. भले ही, वे न दिखें. हो सकता है कि डिवाइस, हार्डवेयर से तेज़ी से लोड होने वाले ग्राफ़िक ऑपरेशन के साथ काम न करें. इसलिए, रिसीवर ऐप्लिकेशन को चाहिए कि वे ग्राफ़िक का इस्तेमाल करने वाली कार्रवाइयों, जैसे कि कलर ग्रेडिएंट, रोटेशन, ऐल्फ़ा ब्लेंडिंग, और प्रोग्रेस बार जैसे बड़े ऑब्जेक्ट को एक सेकंड में एक से ज़्यादा बार फिर से बनाने से बचें.
  • ऑडियो डिवाइसों के लिए Google Cast, सिर्फ़ डिजिटल राइट मैनेजमेंट (डीआरएम) से सुरक्षित कॉन्टेंट के लिए Widevine पर काम करता है.
  • ऑडियो डिवाइसों के लिए Google Cast वाले ज़्यादातर डिवाइसों पर, भेजने वाला ऐप्लिकेशन, डिवाइस के पूरे वॉल्यूम रेंज (उदाहरण के लिए, कोई स्पीकर) को कंट्रोल करता है, न कि सिर्फ़ टीवी पर ऑडियो सोर्स के इनपुट का वॉल्यूम, जैसा कि किसी Chromecast डिवाइस में होता है.
  • भेजने वाले डिवाइस (जैसे कि फ़ोन) से वीडियो को कंट्रोल करने के अलावा, ऐप्लिकेशन को डिवाइस के कंट्रोलर से भी वीडियो चलाने की सुविधा देनी पड़ सकती है. जैसे, रिमोट कंट्रोल, डिवाइस पर मौजूद बटन या किसी बाहरी रिमोट ऐप्लिकेशन से.
  • ऑडियो डिवाइस के लिए Google Cast में, एक छोटी एलसीडी स्क्रीन, एचडीएमआई आउटपुट (साउंडबार या ऑडियो-वीडियो रिसीवर के लिए) या किसी बाहरी रिमोट ऐप्लिकेशन की मदद से कॉन्टेंट का मेटाडेटा दिखाया जा सकता है. हालांकि, ये सुविधाएं डिवाइस के खास यूज़र इंटरफ़ेस (यूआई) के हिसाब से तय होती हैं.

डेवलेपमेंट

ऑडियो के लिए Google Cast की सुविधा देने वाला कास्ट ऐप्लिकेशन डेवलप करने का पहला कदम, ऑडियो-वीडियो के लिए एक कास्ट ऐप्लिकेशन डेवलप करना है. यह पक्का करना कि वह Chromecast पर चलता हो. यह दस्तावेज़ यह मानता है कि आपने इस तरह के ऐप्लिकेशन को डेवलप और टेस्ट किया है.

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

उदाहरण के लिए, ड्यूअल वीडियो और ऑडियो ऐप्लिकेशन (जैसे कि लोकल/NAS फ़ाइल प्लेबैक ऐप्लिकेशन) में सिर्फ़-ऑडियो वाले डिवाइस पर कास्ट करने की सुविधा चालू होनी चाहिए, ताकि ऑडियो फ़ाइलें चल सकें. हालांकि, ऐप्लिकेशन को उपयोगकर्ता को सिर्फ़-ऑडियो वाले डिवाइस पर वीडियो फ़ाइलें भेजने की अनुमति नहीं देनी चाहिए. डिवाइस के लिए सही कॉन्टेंट तय करने के लिए ऐप्लिकेशन, नीचे दिए गए ईमेल भेजने वालों के लिए डिवाइस की क्षमता वाले एपीआई का इस्तेमाल कर सकता है.

ऑडियो के लिए Google Cast की सुविधा देने के लिए, आपके ऐप्लिकेशन को ये काम करने होंगे:

  • सिर्फ़-ऑडियो वाले मोड में काम करता है: म्यूज़िक और ऑडियो फ़ाइलें, रेडियो वगैरह स्ट्रीम करना. वेब रिसीवर ऐप्लिकेशन पर स्ट्रीम किया गया मीडिया, कोई वीडियो स्ट्रीम नहीं होना चाहिए. इसके अलावा, ऐप्लिकेशन लॉन्च करने के समय और मेमोरी के इस्तेमाल को बेहतर बनाने के लिए ग्राफ़िक और इमेज स्ट्रीम करने से बचें. नीचे मेमोरी के इस्तेमाल से जुड़े दिशा-निर्देश देखें.

  • ऑडियो डिवाइस के साथ-साथ सामान्य Chromecast के लिए, उम्मीद के मुताबिक चलाएं.

डिवाइस की क्षमताएं

डिवाइस की सुविधाओं वाले एपीआई की मदद से, आपका ऐप्लिकेशन यह पता लगा सकता है कि क्या वह सिर्फ़-ऑडियो वाले डिवाइस पर चल रहा है.

डिवाइस का एचटीटीपी हेडर

ऐप्लिकेशन लॉन्च के दौरान कास्ट डिवाइस से मिलने वाला CAST-DEVICE-CAPABILITIES एचटीटीपी हेडर, डिवाइस की क्षमताओं के बारे में बताता है. डिवाइस, इस हेडर के साथ वेब रिसीवर ऐप्लिकेशन को होस्ट करने वाले सर्वर को अनुरोध भेजता है. सिर्फ़ ऑडियो वाले डिवाइस का हेडर, CAST-DEVICE-CAPABILITIES: {"display_supported":false} की मदद से डिवाइस की क्षमताओं के बारे में बताता है.

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

वेब रिसीवर का एपीआई

वेब रिसीवर ऐप्लिकेशन लोड होने पर CastReceiverManager.getDeviceCapabilities() को कॉल करके, आपको डिवाइस से जुड़ी वही क्षमता वाला ऑब्जेक्ट मिल सकता है.

अधिक जानकारी के लिए डिवाइस की क्षमताएं देखें.

सेंडर एपीआई

कास्ट भेजने वाले के हर एपीआई के पास, डिवाइस की सुविधाओं की जानकारी भी होती है. इनसे, भेजने वाले ऐप्लिकेशन को यह तय करने में मदद मिलती है कि फ़ाइल पाने वाले व्यक्ति को किस तरह का मीडिया भेजा जाए. अगर आपके ऐप्लिकेशन में ऑडियो और वीडियो, दोनों की सुविधा है, तो हो सकता है कि वह सिर्फ़ ऑडियो वाले डिवाइसों पर वीडियो कॉन्टेंट न भेजे. साथ ही, आपका ऐप्लिकेशन डिवाइस के लिए सबसे सही तरीके का इस्तेमाल करके वॉल्यूम को कंट्रोल कर सकता है, जैसा कि डिज़ाइन चेकलिस्ट में बताया गया है. भेजने वालों के लिए, नीचे दिए गए डिवाइस की क्षमता वाले एपीआई देखें:

मेमोरी के इस्तेमाल से जुड़े दिशा-निर्देश

ऑडियो डिवाइसों पर चल रहे वेब रिसीवर ऐप्लिकेशन को, मेमोरी के इस्तेमाल को इस तरह मैनेज करना चाहिए:

  • किसी इमेज या ग्राफ़िक एसेट को डाउनलोड करने या उसका इस्तेमाल करने से बचें. ऐसा करके, मेमोरी फ़ुटप्रिंट कम किया जा सकता है और वीडियो चलाने में लगने वाला समय कम किया जा सकता है.
  • मीडिया सोर्स एक्सटेंशन (MSE) का इस्तेमाल करते समय, ऐप्लिकेशन को स्ट्रीम बफ़र का साइज़ 2 एमबी तक सीमित करना चाहिए. अगर मीडिया प्लेयर लाइब्रेरी (MPL) का इस्तेमाल किया जा रहा है, तो ऐप्लिकेशन का स्ट्रीम बफ़र साइज़ पहले से ही MPL ने तय किया है.
  • HTMLMediaElement का इस्तेमाल करते समय, Chrome ऐप्लिकेशन के स्ट्रीम बफ़र साइज़ को स्ट्रीम दर के आधार पर तय करता है. ऑडियो बिटरेट को प्रति सेकंड दो मेगाबिट तक सीमित करें. यह काम करने वाले मीडिया (48 किलोहर्ट्ज़/16 बिट तक) में बताए गए सभी कोडेक के साथ काम करता है.

वॉल्यूम कंट्रोल

ज़्यादातर 'ऑडियो डिवाइसों के लिए Google Cast' में, भेजने वाला ऐप्लिकेशन, डिवाइस की पूरी वॉल्यूम रेंज को कंट्रोल करता है, न कि सिर्फ़ ऑडियो सोर्स के इनपुट वॉल्यूम को, जैसा कि Chromecast डिवाइस के साथ किया जाता है. इसका मतलब है कि सिर्फ़-ऑडियो वाले ऐप्लिकेशन के लिए, आवाज़ में होने वाले बदलाव की संख्या कम होनी चाहिए. अपने ऐप्लिकेशन में वॉल्यूम कंट्रोल की सुविधा देने के दिशा-निर्देशों के लिए ये दस्तावेज़ देखें:

डिवाइस कंट्रोल

ऑडियो डिवाइसों के लिए Google Cast में खुद के प्लेबैक कंट्रोल (जैसे कि बटन, रिमोट) हो सकते हैं. ये urn:x-cast:com.google.cast.media नेमस्पेस के लिए बताए गए मीडिया प्लेबैक मैसेज का इस्तेमाल करते हैं, जैसा कि मीडिया प्लेबैक मैसेज में बताया गया है. रिसीवर ऐप्लिकेशन पर वीडियो चलाने के लिए, इन मैसेज का इस्तेमाल किया जाता है. डिवाइस के प्लेबैक कंट्रोल काम कर सकें, इसके लिए आपके रिसीवर ऐप्लिकेशन में इन मीडिया प्लेबैक मैसेज की सुविधा काम करनी होगी.

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

डिवाइस का डिसप्ले

'ऑडियो डिवाइस के लिए Google Cast' में, डिवाइस पर एलसीडी स्क्रीन हो सकती है. इसके अलावा, डिवाइस के लिए खास तौर पर ऐसा कंट्रोल ऐप्लिकेशन भी हो सकता है जो मीडिया मेटाडेटा दिखाता है. कॉन्टेंट पाने वाले ऐप्लिकेशन को सभी ऑडियो ट्रैक के लिए, यह मेटाडेटा देना होगा. साथ ही, यह पक्का करना होगा कि वह मौजूदा समय में चल रहे कॉन्टेंट के साथ सिंक हो, ताकि डिसप्ले पर मेटाडेटा सही तरीके से दिखे. अगर ऐप्लिकेशन में कस्टम मेटाडेटा का इस्तेमाल किया जा रहा है, तो इसे हर प्लैटफ़ॉर्म के लिए नीचे बताए गए स्टैंडर्ड ऑडियो मेटाडेटा (ट्रैक का नाम, कलाकार का नाम, एल्बम का टाइटल वगैरह) भी उपलब्ध कराना होगा.

मीडिया लोड करते समय, पाने वाले को भेजने वाले से मेटाडेटा मिलता है. भेजने वाले ऐप्लिकेशन में, रिसीवर पर मीडिया लोड करने के निर्देश के साथ, आपको नीचे दिए गए फ़ील्ड के बारे में बताना होगा, ताकि मेटाडेटा, 'ऑडियो के लिए Google Cast' डिवाइस पर दिखे. इन एपीआई का इस्तेमाल करें:

अगर Cast ऐप्लिकेशन, रिसीवर पर या क्लाउड पर मीडिया सूची को मैनेज करता है, तो वेब पाने वाले को urn:x-cast:com.google.cast.media नेमस्पेस का इस्तेमाल करके, मीडिया की स्थिति के किसी भी अपडेट को ब्रॉडकास्ट करना होगा. ऐसा करने से, भेजने वाले सभी लोगों को सिंक करना होगा.

रजिस्ट्रेशन

आपको 'ऑडियो डिवाइस के लिए Google Cast' को टेस्ट करने के लिए रजिस्टर करना होगा. साथ ही, ऑडियो डिवाइसों के लिए Google Cast की सुविधा देने के लिए, Google Cast SDK Developer Console का इस्तेमाल करके अपने ऐप्लिकेशन को रजिस्टर करना होगा.

  • डिवाइसों को रजिस्टर करने के बारे में ज़्यादा जानकारी के लिए डिवाइस देखें.
  • अपने ऐप्लिकेशन को ऑडियो डिवाइस के लिए Google Cast को खोजने की अनुमति देने के लिए, आपको अपने ऐप्लिकेशन को रजिस्टर करते समय सिर्फ़-ऑडियो वाले डिवाइस पर कास्ट करने की सुविधा देता है चेकबॉक्स को चुनना होगा. अपना ऐप्लिकेशन रजिस्टर करें देखें.

पब्लिश नहीं किए गए ऐप्लिकेशन, जैसे कि टेस्टिंग के लिए इस्तेमाल किए जाने वाले ऐप्लिकेशन के लिए, आपको सिर्फ़ ऑडियो वाले डिवाइसों पर काम करने का विकल्प चुनना होगा. इससे ऐप्लिकेशन, सिर्फ़ ऑडियो वाले डिवाइसों को खोज पाएगा.

ऑडियो 2.0 के लिए Google Cast

Google Cast for Audio (GC4A) 2.0, अगली-पीढ़ी का Cast ऑडियो प्लैटफ़ॉर्म है. इसे कम मेमोरी वाले डिवाइसों को टारगेट करने के लिए डिज़ाइन किया गया है. इससे ऐसे डिवाइसों का नेटवर्क बढ़ जाता है जिन पर आपका कॉन्टेंट स्ट्रीम किया जा सकता है.

यह ज़रूरी है कि ऑडियो ऐप्लिकेशन डेवलपर अपने ऐप्लिकेशन की जांच GC4A 2.0 पर करें. Bose के प्रोडक्शन स्पीकर पर, GC4A 2.0 के लिए अपने Cast ऐप्लिकेशन की जांच की जा सकती है. उदाहरण के लिए, Bose Smart Speaker 500.

अगर आपको टेस्टिंग के लिए मदद सेट अप करने में मदद चाहिए या Bose स्पीकर इस्तेमाल करने में समस्या आ रही है, तो कृपया gc4a-support-external@google.com पर संपर्क करें. अगर आपको अपने ऐप्लिकेशन को डीबग करना है, तो Google कास्ट डीबग लॉगर इस्तेमाल करने का सुझाव देता है.