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