मीडिया प्लेबैक संदेश

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

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

मीडिया चलाने से जुड़े मैसेज के लिए नेमस्पेस को urn:x-cast:com.google.cast.media के तौर पर तय किया गया है.

ध्यान दें: इस स्पेसिफ़िकेशन में मौजूद मैसेज और स्ट्रक्चर का साइज़, ट्रांसपोर्ट मैसेज के साइज़ के हिसाब से तय होता है. हालांकि, अलग-अलग फ़ील्ड के लिए कोई सीमा नहीं होती. फ़िलहाल, ट्रांसपोर्ट मैसेज का ज़्यादा से ज़्यादा साइज़ 64 किलोबाइट है.

नेमस्पेस के सामान्य डेटा स्ट्रक्चर

सभी मीडिया नेमस्पेस आर्टफ़ैक्ट के लिए इस्तेमाल किए जाने वाले डेटा स्ट्रक्चर के सुपरसेट को एक सामान्य नेमस्पेस में तय किया जाता है.

इमेज

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

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

नाम टाइप ब्यौरा
यूआरएल यूआरआई इमेज का यूआरआई
height पूर्णांक ज़रूरी नहीं इमेज की ऊंचाई
width पूर्णांक ज़रूरी नहीं इमेज की चौड़ाई

आवाज़

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

नाम टाइप ब्यौरा
level दोगुनी ज़रूरी नहीं स्ट्रीम की आवाज़ का मौजूदा लेवल. इसकी वैल्यू 0.0 से 1.0 के बीच होती है. 1.0 का मतलब है कि आवाज़ सबसे ज़्यादा है.
म्यूट किया गया बूलियन ज़रूरी नहीं कास्ट डिवाइस म्यूट है या नहीं. इससे कोई फ़र्क़ नहीं पड़ता कि आवाज़ का लेवल क्या है

मीडिया नेमस्पेस के डेटा स्ट्रक्चर

इन मैसेज में, मीडिया प्लेयर की स्थिति के बारे में बताया जाता है. नेमस्पेस urn:x-cast:com.google.cast.media है.

MediaInformation

यह डेटा स्ट्रक्चर, मीडिया स्ट्रीम के बारे में बताता है.

नाम टाइप ब्यौरा
contentId स्ट्रिंग यह सेवा के हिसाब से कॉन्टेंट का आइडेंटिफ़ायर होता है. यह आइडेंटिफ़ायर, मीडिया प्लेयर में अभी लोड किए गए कॉन्टेंट का होता है. यह एक फ़्री फ़ॉर्म स्ट्रिंग है और यह ऐप्लिकेशन के हिसाब से तय की जाती है. ज़्यादातर मामलों में, यह मीडिया का यूआरएल होगा. हालांकि, भेजने वाला व्यक्ति ऐसी स्ट्रिंग पास कर सकता है जिसे पाने वाला व्यक्ति सही तरीके से समझ सके. ज़्यादा से ज़्यादा 1,000 वर्ण
streamType enum
(string)

मीडिया आर्टफ़ैक्ट के टाइप के बारे में बताता है. यह इनमें से कोई एक हो सकता है:

  • NONE
  • BUFFERED
  • लाइव
contentType स्ट्रिंग चलाए जा रहे मीडिया का MIME कॉन्टेंट टाइप
metadata ऑब्जेक्ट

वैकल्पिक मीडिया मेटाडेटा ऑब्जेक्ट, इनमें से कोई एक:

duration दोगुनी ज़रूरी नहीं फ़िलहाल चल रही स्ट्रीम की अवधि (सेकंड में)
customData ऑब्जेक्ट ज़रूरी नहीं यह ऐप्लिकेशन के हिसाब से डेटा का ऐसा ब्लोब होता है जिसे भेजने वाला ऐप्लिकेशन या पाने वाला ऐप्लिकेशन तय करता है

GenericMediaMetadata

यह सामान्य मीडिया आर्टफ़ैक्ट के बारे में बताता है.

नाम टाइप ब्यौरा
metadataType पूर्णांक 0  (सिर्फ़ यही वैल्यू)
title स्ट्रिंग ज़रूरी नहीं कॉन्टेंट का ऐसा टाइटल जिससे उसके बारे में जानकारी मिलती हो. प्लेयर, content_id का इस्तेमाल करके टाइटल को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है
subtitle स्ट्रिंग ज़रूरी नहीं कॉन्टेंट का ब्यौरे वाला सबटाइटल. प्लेयर, content_id का इस्तेमाल करके टाइटल को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है
images Image[] ज़रूरी नहीं है कॉन्टेंट से जुड़ी इमेज के यूआरएल का कलेक्शन. इस फ़ील्ड की शुरुआती वैल्यू, भेजने वाला व्यक्ति Load मैसेज में दे सकता है. सुझाए गए साइज़ की जानकारी देनी चाहिए
releaseDate स्ट्रिंग (आईएसओ 8601) ज़रूरी नहीं ISO 8601 फ़ॉर्मैट में, कॉन्टेंट के रिलीज़ होने की तारीख और समय. प्लेयर, content_id का इस्तेमाल करके टाइटल को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है

MovieMediaMetadata

किसी फ़िल्म के मीडिया आर्टफ़ैक्ट के बारे में बताता है.

नाम टाइप ब्यौरा
metadataType पूर्णांक 1  (सिर्फ़ यही वैल्यू)
title स्ट्रिंग ज़रूरी नहीं कॉन्टेंट का ऐसा टाइटल जिससे उसके बारे में जानकारी मिलती हो. प्लेयर, content_id का इस्तेमाल करके टाइटल को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है
subtitle स्ट्रिंग ज़रूरी नहीं कॉन्टेंट का ब्यौरे वाला सबटाइटल. प्लेयर, content_id का इस्तेमाल करके टाइटल को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है
studio स्ट्रिंग ज़रूरी नहीं वह स्टूडियो जिसने कॉन्टेंट रिलीज़ किया है. प्लेयर, studio को content_id का इस्तेमाल करके खुद ही वापस पा सकता है. इसके अलावा, studio को भेजने वाला व्यक्ति, Load मैसेज में भी studio को वापस पा सकता है
images Image[] ज़रूरी नहीं है कॉन्टेंट से जुड़ी इमेज के यूआरएल का कलेक्शन. इस फ़ील्ड की शुरुआती वैल्यू, भेजने वाला व्यक्ति Load मैसेज में दे सकता है. सुझाए गए साइज़ की जानकारी देनी चाहिए
releaseDate स्ट्रिंग (आईएसओ 8601) ज़रूरी नहीं ISO 8601 फ़ॉर्मैट में, कॉन्टेंट के रिलीज़ होने की तारीख और समय. प्लेयर, content_id का इस्तेमाल करके टाइटल को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है

TvShowMediaMetadata

टेलीविज़न शो के एपिसोड के मीडिया आर्टफ़ैक्ट के बारे में बताता है.

नाम टाइप ब्यौरा
metadataType पूर्णांक 2  (सिर्फ़ यही वैल्यू)
seriesTitle स्ट्रिंग ज़रूरी नहीं टीवी सीरीज़ का ब्यौरे वाला टाइटल. प्लेयर, content_id का इस्तेमाल करके टाइटल को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है
subtitle स्ट्रिंग ज़रूरी नहीं टीवी एपिसोड का ब्यौरे वाला सबटाइटल. प्लेयर, content_id का इस्तेमाल करके टाइटल को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है
सीज़न पूर्णांक ज़रूरी नहीं टीवी शो का सीज़न नंबर
एपिसोड पूर्णांक ज़रूरी नहीं टीवी शो के एपिसोड का नंबर (सीज़न में)
images Image[] ज़रूरी नहीं है कॉन्टेंट से जुड़ी इमेज के यूआरएल का कलेक्शन. इस फ़ील्ड की शुरुआती वैल्यू, भेजने वाला व्यक्ति Load मैसेज में दे सकता है. सुझाए गए साइज़ की जानकारी देनी चाहिए
originalAirDate स्ट्रिंग (आईएसओ 8601) ज़रूरी नहीं ISO 8601 फ़ॉर्मैट में, एपिसोड रिलीज़ होने की तारीख और समय. प्लेयर, content_id का इस्तेमाल करके originalAirDate को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है

MusicTrackMediaMetadata

यह म्यूज़िक ट्रैक के मीडिया आर्टफ़ैक्ट के बारे में बताता है.

नाम टाइप ब्यौरा
metadataType पूर्णांक 3  (सिर्फ़ यही वैल्यू)
albumName स्ट्रिंग ज़रूरी नहीं वह एल्बम या कलेक्शन जिससे यह ट्रैक लिया गया है. प्लेयर, content_id का इस्तेमाल करके albumName को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है
title स्ट्रिंग optional ट्रैक का नाम (उदाहरण के लिए, गाने का टाइटल). प्लेयर, content_id का इस्तेमाल करके टाइटल को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है
albumArtist स्ट्रिंग ज़रूरी नहीं इस ट्रैक को शामिल करने वाले एल्बम से जुड़े कलाकार का नाम. प्लेयर, content_id का इस्तेमाल करके albumArtist को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है
कलाकार स्ट्रिंग ज़रूरी नहीं मीडिया ट्रैक से जुड़े कलाकार का नाम. प्लेयर, content_id का इस्तेमाल करके कलाकार की जानकारी खुद ही पा सकता है. इसके अलावा, भेजने वाला व्यक्ति Load मैसेज में भी यह जानकारी दे सकता है
संगीतकार स्ट्रिंग ज़रूरी नहीं मीडिया ट्रैक से जुड़े संगीतकार का नाम. प्लेयर, content_id का इस्तेमाल करके कंपोज़र को खुद ही वापस पा सकता है. इसके अलावा, भेजने वाला व्यक्ति Load मैसेज में भी कंपोज़र को वापस पा सकता है
trackNumber पूर्णांक ज़रूरी नहीं एल्बम में ट्रैक की संख्या
discNumber पूर्णांक ज़रूरी नहीं एल्बम के वॉल्यूम (उदाहरण के लिए, डिस्क) की संख्या
images Image[] ज़रूरी नहीं है कॉन्टेंट से जुड़ी इमेज के यूआरएल का कलेक्शन. इस फ़ील्ड की शुरुआती वैल्यू, भेजने वाला व्यक्ति Load मैसेज में दे सकता है. सुझाए गए साइज़ की जानकारी देनी चाहिए
releaseDate स्ट्रिंग (आईएसओ 8601) ज़रूरी नहीं ISO 8601 फ़ॉर्मैट में, कॉन्टेंट के रिलीज़ होने की तारीख और समय. प्लेयर, content_id का इस्तेमाल करके releaseDate को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है

PhotoMediaMetadata

फ़ोटोग्राफ़िक मीडिया आर्टफ़ैक्ट के बारे में बताता है.

नाम टाइप ब्यौरा
metadataType पूर्णांक 4  (सिर्फ़ यही वैल्यू)
title स्ट्रिंग ज़रूरी नहीं फ़ोटोग्राफ़ का टाइटल. प्लेयर, content_id का इस्तेमाल करके टाइटल को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है
कलाकार स्ट्रिंग ज़रूरी नहीं फ़ोटोग्राफ़र का नाम. प्लेयर, content_id का इस्तेमाल करके कलाकार की जानकारी खुद ही पा सकता है. इसके अलावा, भेजने वाला व्यक्ति Load मैसेज में भी यह जानकारी दे सकता है
स्थान स्ट्रिंग ज़रूरी नहीं फ़ोटो लेने की जगह का नाम. उदाहरण के लिए, "मैड्रिड, स्पेन." प्लेयर, content_id का इस्तेमाल करके जगह की जानकारी खुद ही पा सकता है. इसके अलावा, जगह की जानकारी भेजने वाला व्यक्ति, Load मैसेज में भी यह जानकारी दे सकता है
latitude दोगुनी ज़रूरी नहीं यह उस जगह का भौगोलिक अक्षांश होता है जहां फ़ोटो ली गई थी. प्लेयर, content_id का इस्तेमाल करके अक्षांश की जानकारी खुद ही पा सकता है. इसके अलावा, भेजने वाला व्यक्ति Load मैसेज में भी यह जानकारी दे सकता है
longitude दोगुनी ज़रूरी नहीं यह उस जगह का भौगोलिक देशांतर होता है जहां फ़ोटो ली गई थी. प्लेयर, content_id का इस्तेमाल करके अक्षांश की जानकारी खुद ही पा सकता है. इसके अलावा, भेजने वाला व्यक्ति Load मैसेज में भी यह जानकारी दे सकता है
width पूर्णांक ज़रूरी नहीं फ़ोटोग्राफ़ की चौड़ाई, पिक्सल में. प्लेयर, content_id का इस्तेमाल करके चौड़ाई की जानकारी अपने-आप पा सकता है. इसके अलावा, भेजने वाला व्यक्ति Load मैसेज में भी यह जानकारी दे सकता है
height पूर्णांक ज़रूरी नहीं फ़ोटोग्राफ़ की ऊंचाई, पिक्सल में. प्लेयर, content_id का इस्तेमाल करके ऊंचाई की जानकारी खुद ही पा सकता है. इसके अलावा, भेजने वाला व्यक्ति Load मैसेज में भी यह जानकारी दे सकता है
creationDateTime स्ट्रिंग (ISO 8601) ज़रूरी नहीं आईएसओ 8601 फ़ॉर्मैट में, फ़ोटो लिए जाने की तारीख और समय. प्लेयर, content_id का इस्तेमाल करके creationDateTime को अलग से वापस पा सकता है. इसके अलावा, इसे भेजने वाला व्यक्ति Load मैसेज में भी दे सकता है

MediaStatus

यह सेशन के हिसाब से मीडिया आर्टफ़ैक्ट की मौजूदा स्थिति के बारे में बताता है.

नाम टाइप ब्यौरा
mediaSessionId पूर्णांक इस खास सेशन के वीडियो चलाने के लिए यूनीक आईडी. इस आईडी को LOAD पर रिसीवर सेट करता है. इसका इस्तेमाल, किसी खास प्लेबैक इंस्टेंस की पहचान करने के लिए किया जा सकता है. उदाहरण के लिए, एक ही सेशन में "Wish you were here" को दो बार चलाने पर, दोनों के लिए mediaSessionId अलग-अलग होगा.
media MediaInformation ज़रूरी नहीं (स्टेटस मैसेज के लिए) चलाए जा रहे कॉन्टेंट का पूरा ब्यौरा. अगर MediaInformation में बदलाव हुआ है, तो ही स्टेटस मैसेज में इसकी जानकारी दी जाएगी.
playbackRate फ़्लोट इससे पता चलता है कि मीडिया टाइम बढ़ रहा है या नहीं. साथ ही, यह भी पता चलता है कि मीडिया टाइम किस दर से बढ़ रहा है. यह प्लेयर की स्थिति से अलग होता है, क्योंकि मीडिया का समय किसी भी स्थिति में रुक सकता है. 1.0 का मतलब है सामान्य स्पीड और 0.5 का मतलब है स्लो मोशन
playerState enum (string)

इससे प्लेयर की स्थिति के बारे में पता चलता है. यह इनमें से कोई एक हो सकती है:

  • IDLE  खिलाड़ी को अभी तक लोड नहीं किया गया है
  • चल रहा है  प्लेयर में कॉन्टेंट चल रहा है
  • बफ़रिंग  प्लेयर, PLAY मोड में है, लेकिन कॉन्टेंट नहीं चल रहा है (currentTime में बदलाव नहीं हो रहा है)
  • PAUSED  खिलाड़ी रुका हुआ है
idleReason enum (string)

ज़रूरी नहीं अगर playerState IDLE पर सेट है और इसके IDLE पर सेट होने की वजह पता है, तो यह प्रॉपर्टी दी जाती है. अगर प्लेयर अभी-अभी शुरू हुआ है और वह IDLE है, तो यह प्रॉपर्टी नहीं दी जाएगी. अगर प्लेयर किसी और स्थिति में है, तो यह प्रॉपर्टी नहीं दी जानी चाहिए. ये वैल्यू लागू होती हैं:

  • रद्द किया गया  भेजने वाले व्यक्ति ने STOP कमांड का इस्तेमाल करके, कॉन्टेंट को चलाने की सुविधा बंद करने का अनुरोध किया है
  • रुका  भेजने वाले व्यक्ति ने LOAD कमांड का इस्तेमाल करके, किसी दूसरे मीडिया को चलाने का अनुरोध किया है
  • FINISHED  मीडिया प्लेबैक पूरा हो गया
  • गड़बड़ी  किसी गड़बड़ी की वजह से मीडिया चलना बंद हो गया. उदाहरण के लिए, अगर नेटवर्क की समस्याओं की वजह से प्लेयर मीडिया डाउनलोड नहीं कर सका
currentTime दोगुनी कॉन्टेंट शुरू होने के बाद से मीडिया प्लेयर की मौजूदा पोज़िशन, सेकंड में. अगर यह लाइव स्ट्रीम कॉन्टेंट है, तो यह फ़ील्ड इवेंट की शुरुआत से लेकर उस समय तक के सेकंड दिखाता है जिसके बारे में खिलाड़ी को पता होना चाहिए.
supportedMediaCommands फ़्लैग

ऐसे फ़्लैग जिनसे यह पता चलता है कि मीडिया प्लेयर, मीडिया के कौनसे कमांड के साथ काम करता है:

  • 1 << 0  Pause
  • 1 << 1  Seek
  • 1 << 2  स्ट्रीम वॉल्यूम
  • 1 << 3  स्ट्रीम म्यूट करें
  • 1 << 4  इसे छोड़कर आगे बढ़ें (अब इस्तेमाल नहीं किया जाता)
  • 1 << 5  पीछे जाएं (अब काम नहीं करता)
  • 1 << 6  अगला आइटम जोड़ें
  • 1 << 7  पिछला गाना कतार में जोड़ें
  • 1 << 8  शफ़ल करने के लिए कतार में जोड़ें
  • 1 << 9  विज्ञापन छोड़ें
  • 1 << 10  सभी गाने दोहराएं
  • 1 << 11  किसी मीडिया को दोबारा चलाने के लिए कतार में जोड़ना
  • 1 << 12  ट्रैक में बदलाव करना
  • 1 << 13  वीडियो चलाने की स्पीड
  • 1 << 14  पसंद करें
  • 1 << 15  नापसंद करें
  • 1 << 16  फ़ॉलो करें
  • 1 << 17  अनफ़ॉलो करें

कॉम्बिनेशन को जोड़कर बताया जाता है. उदाहरण के लिए, Pause+Seek+StreamVolume+Mute == 15.

volume आवाज़ स्ट्रीम का वॉल्यूम
customData ऑब्जेक्ट वैकल्पिक ऐप्लिकेशन के हिसाब से डेटा का ब्लोब, जिसे रिसीवर ऐप्लिकेशन तय करता है

भेजने वाले से पाने वाले को भेजे गए निर्देश

इन निर्देशों से मीडिया प्लेयर को कंट्रोल किया जाता है. नीचे दिए गए मैसेज में मौजूद सभी customData ऑब्जेक्ट वैकल्पिक होने चाहिए. इसका मतलब है कि अगर डेटा पास नहीं किया जाता है, तो पाने वाले को सही तरीके से डिग्रेड करना चाहिए. इससे सामान्य रिमोट कंट्रोल ऐप्लिकेशन ठीक से काम कर पाएंगे.

फ़ाइलों के लोड होने के बारे में जानकारी

इससे मीडिया प्लेयर में नया कॉन्टेंट लोड होता है.

नाम टाइप ब्यौरा
requestId पूर्णांक अनुरोध का आईडी, ताकि अनुरोध और जवाब को आपस में जोड़ा जा सके
टाइप स्ट्रिंग LOAD (सिर्फ़ वैल्यू)
media MediaInformation लोड किए जाने वाले मीडिया का मेटाडेटा (इसमें contentId शामिल है)
autoplay बूलियन

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

currentTime दोगुनी ज़रूरी नहीं कॉन्टेंट शुरू होने के बाद से बीता हुआ समय, सेकंड में. अगर कॉन्टेंट लाइव कॉन्टेंट है और उसकी पोज़िशन तय नहीं की गई है, तो स्ट्रीम लाइव पोज़िशन से शुरू होगी
customData ऑब्जेक्ट वैकल्पिक भेजने वाले ऐप्लिकेशन के हिसाब से तय किया गया डेटा का ऐप्लिकेशन-विशिष्ट ब्लोब
जवाब ट्रिगर ब्रॉडकास्ट गड़बड़ियां
कोई नहीं पाने वाले की स्थिति में बदलाव मीडिया की स्थिति में बदलाव का मैसेज अमान्य प्लेयर की स्थिति
लोड नहीं हो सका
लोड रद्द किया गया

रोकें

इससे मौजूदा कॉन्टेंट का प्लेबैक रुक जाता है. यह सभी भेजने वाले ऐप्लिकेशन को STATUS इवेंट की सूचना ट्रिगर करता है.

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

खोजें

स्ट्रीम में मौजूदा जगह सेट करता है. यह सभी भेजने वाले ऐप्लिकेशन को STATUS इवेंट की सूचना ट्रिगर करता है. अगर दी गई पोज़िशन, मौजूदा कॉन्टेंट के लिए मान्य पोज़िशन की सीमा से बाहर है, तो प्लेयर को ऐसी मान्य पोज़िशन चुननी चाहिए जो अनुरोध की गई पोज़िशन के ज़्यादा से ज़्यादा करीब हो.

नाम टाइप ब्यौरा
mediaSessionId पूर्णांक उस मीडिया सेशन का आईडी जिसमें स्ट्रीम की पोज़िशन सेट की गई है
requestId पूर्णांक अनुरोध का आईडी, ताकि अनुरोध और जवाब को आपस में जोड़ा जा सके
टाइप स्ट्रिंग SEEK (only value)
resumeState enum (string)

ज़रूरी नहीं अगर इसे सेट नहीं किया जाता है, तो वीडियो चलाने की स्थिति में कोई बदलाव नहीं होगा. ये वैल्यू लागू होती हैं:

  • PLAYBACK_START  इससे मीडिया को शुरू किया जाता है
  • PLAYBACK_PAUSE  इस कमांड से मीडिया को रोका जाता है
currentTime दोगुनी ज़रूरी नहीं कॉन्टेंट शुरू होने के बाद से बीता हुआ समय, सेकंड में. अगर कॉन्टेंट लाइव कॉन्टेंट है और उसकी पोज़िशन तय नहीं की गई है, तो स्ट्रीम लाइव पोज़िशन से शुरू होगी
customData ऑब्जेक्ट वैकल्पिक भेजने वाले ऐप्लिकेशन के हिसाब से तय किया गया डेटा का ऐप्लिकेशन-विशिष्ट ब्लोब
जवाब ट्रिगर ब्रॉडकास्ट गड़बड़ियां
कोई नहीं पाने वाले की स्थिति में बदलाव मीडिया की स्थिति में बदलाव का मैसेज अमान्य प्लेयर की स्थिति

रोकें

इससे मौजूदा कॉन्टेंट का प्लेबैक रुक जाता है. यह सभी भेजने वाले ऐप्लिकेशन को STATUS इवेंट की सूचना ट्रिगर करता है. इस कमांड के बाद, कॉन्टेंट लोड नहीं होगा और mediaSessionId अमान्य हो जाएगा.

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

चलाएं

load कॉल के ज़रिए लोड किए गए कॉन्टेंट का प्लेबैक शुरू करता है. प्लेबैक, मौजूदा समय की पोज़िशन से जारी रहता है.

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

स्थिति पाना

यह कुकी, मीडिया की स्थिति को वापस लाती है.

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

SetVolume

इससे मीडिया स्ट्रीम की आवाज़ सेट की जाती है. इस कुकी का इस्तेमाल, मीडिया स्ट्रीम पर फ़ेड-इन/फ़ेड-आउट इफ़ेक्ट के लिए किया जाता है. (ध्यान दें: Web sender का इस्तेमाल करके, रिसीवर का वॉल्यूम बदला जाता है setVolume.) डिवाइस की आवाज़ को कंट्रोल करने के लिए, स्ट्रीम के वॉल्यूम का इस्तेमाल वॉल्यूम स्लाइडर या आवाज़ कम या ज़्यादा करने वाले बटन के साथ नहीं किया जाना चाहिए. स्ट्रीम के वॉल्यूम में बदलाव होने पर, रिसीवर डिवाइस पर कोई यूज़र इंटरफ़ेस (यूआई) ट्रिगर नहीं होगा.

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

पाने वाले से भेजने वाले को भेजे गए मैसेज

ईमेल पाने वाला व्यक्ति दो तरह के मैसेज भेजता है:

  • गड़बड़ियां: जब भेजने वाले के अनुरोध के जवाब में कोई गड़बड़ी होती है, तब यूनिकास्ट मैसेज भेजे जाते हैं.
  • स्थिति: ब्रॉडकास्ट किए गए मैसेज.
    • भेजने वाले व्यक्ति की शुरू की गई कार्रवाई का नतीजा. इसमें उस अनुरोध का requestId होगा जिसकी वजह से बदलाव हुआ है.
    • अपने-आप होने वाला बदलाव: उदाहरण के लिए, रिसीवर ऐप्लिकेशन की वजह से ट्रिगर होने वाला बदलाव. RequestId 0 होगा.

गड़बड़ी: प्लेयर की स्थिति अमान्य है

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

नाम टाइप ब्यौरा
requestId पूर्णांक उस अनुरोध का आईडी जिसकी वजह से यह गड़बड़ी हुई
टाइप स्ट्रिंग INVALID_PLAYER_STATE (सिर्फ़ वैल्यू)
customData ऑब्जेक्ट वैकल्पिक ऐप्लिकेशन के हिसाब से डेटा का ब्लोब, जिसे रिसीवर ऐप्लिकेशन तय करता है

गड़बड़ी: लोड नहीं हो सका

यह सूचना तब भेजी जाती है, जब लोड करने का अनुरोध पूरा नहीं हो पाता. प्लेयर का स्टेटस IDLE होगा.

नाम टाइप ब्यौरा
requestId पूर्णांक उस अनुरोध का आईडी जिसकी वजह से यह गड़बड़ी हुई
टाइप स्ट्रिंग LOAD_FAILED (सिर्फ़ वैल्यू)
customData ऑब्जेक्ट वैकल्पिक ऐप्लिकेशन के हिसाब से डेटा का ब्लोब, जिसे रिसीवर ऐप्लिकेशन तय करता है

गड़बड़ी: लोड करने की प्रोसेस रद्द की गई

यह सूचना तब भेजी जाती है, जब लोड करने का अनुरोध रद्द कर दिया गया हो (लोड करने का दूसरा अनुरोध मिला हो).

नाम टाइप ब्यौरा
requestId पूर्णांक उस अनुरोध का आईडी जिसकी वजह से यह गड़बड़ी हुई
टाइप स्ट्रिंग LOAD_CANCELLED (सिर्फ़ वैल्यू)
customData ऑब्जेक्ट वैकल्पिक ऐप्लिकेशन के हिसाब से डेटा का ब्लोब, जिसे रिसीवर ऐप्लिकेशन तय करता है

गड़बड़ी: अमान्य अनुरोध

यह कुकी तब भेजी जाती है, जब अनुरोध अमान्य हो. उदाहरण के लिए, अनुरोध का टाइप पता न होने पर.

नाम टाइप ब्यौरा
requestId पूर्णांक उस अनुरोध का आईडी जिसकी वजह से यह गड़बड़ी हुई
टाइप स्ट्रिंग INVALID_REQUEST (सिर्फ़ वैल्यू)
reason Enum (string)

वैल्यू:

  • INVALID_COMMAND  यह निर्देश काम नहीं करता
  • DUPLICATE_REQUESTID  अनुरोध आईडी यूनीक नहीं है (पाने वाला व्यक्ति, इसी आईडी के साथ अनुरोध को प्रोसेस कर रहा है)
customData ऑब्जेक्ट वैकल्पिक ऐप्लिकेशन के हिसाब से डेटा का ब्लोब, जिसे रिसीवर ऐप्लिकेशन तय करता है

मीडिया की स्थिति

यह सूचना, स्थिति में बदलाव होने या मीडिया की स्थिति के लिए किए गए अनुरोध के बाद भेजी जाती है. सिर्फ़ उन MediaStatus ऑब्जेक्ट को भेजा जाएगा जिनमें बदलाव हुआ है या जिनके लिए अनुरोध किया गया है.

नाम टाइप ब्यौरा
requestId पूर्णांक इस आईडी का इस्तेमाल, स्टेटस के इस जवाब को उस अनुरोध से जोड़ने के लिए किया जाता है जिससे यह जवाब मिला है. अगर स्टेटस मैसेज अपने-आप जनरेट हुआ है (ईमेल भेजने वाले व्यक्ति के अनुरोध से ट्रिगर नहीं हुआ है), तो इसकी वैल्यू 0 होती है. भेजने वाले ऐप्लिकेशन, अनुरोध के यूनीक आईडी जनरेट करेंगे. इसके लिए, वे किसी भी क्रम से मिलने वाले नंबर को चुनेंगे और उसे लगातार बढ़ाते जाएंगे (वे 0 का इस्तेमाल नहीं करेंगे).
टाइप स्ट्रिंग MEDIA_STATUS (सिर्फ़ वैल्यू)
status MediaStatus[] मीडिया की स्थिति वाले ऑब्जेक्ट का कलेक्शन. ध्यान दें: MediaStatus में मीडिया एलिमेंट सिर्फ़ तब दिखेगा, जब उसमें बदलाव हुआ हो.
customData ऑब्जेक्ट वैकल्पिक ऐप्लिकेशन के हिसाब से डेटा का ब्लोब, जिसे रिसीवर ऐप्लिकेशन तय करता है