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

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

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

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

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

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

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

इमेज

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

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

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

आवाज़ बढ़ाने/घटाने का स्लाइडर

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

नाम Type ब्यौरा
लेवल दोगुनी ज़रूरी नहीं स्ट्रीम का मौजूदा वॉल्यूम लेवल 0.0 और 1.0 के बीच होना चाहिए, जहां 1.0 ज़्यादा से ज़्यादा वॉल्यूम है.
म्यूट किया गया boolean ज़रूरी नहीं क्या कास्ट डिवाइस म्यूट किया गया है, आवाज़ के स्तर पर निर्भर नहीं

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

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

MediaInformation

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

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

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

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

ज़रूरी नहीं मीडिया मेटाडेटा ऑब्जेक्ट, इनमें से कोई एक:

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

GenericMediaMetadata

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

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

MovieMediaMetadata

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

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

TvShowMediaMetadata

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

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

MusicTrackMediaMetadata

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

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

PhotoMediaMetadata

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

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

MediaStatus

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

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

इनमें से किसी एक के तौर पर खिलाड़ी की स्थिति के बारे में बताता है:

  • IDLE  प्लेयर अभी तक लोड नहीं हुआ है
  • चलाएं  खिलाड़ी लगातार वीडियो चला रहा हो
  • बफ़र हो रहा है  प्लेयर, 'चलाएं' मोड में है, लेकिन सक्रिय रूप से कॉन्टेंट नहीं चला रहा है (मौजूदा समय में बदलाव नहीं हो रहा है)
  • रोका गया  प्लेयर को रोका गया
idleReason enum (स्ट्रिंग)

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

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

इस बात की जानकारी देने वाले फ़्लैग कि मीडिया प्लेयर किन मीडिया निर्देशों का इस्तेमाल करता है:

  • 1  रोकें
  • 2  आगे बढ़ें
  • 4  स्ट्रीम का वॉल्यूम
  • 8  स्ट्रीम को म्यूट करना
  • 16  आगे जाएं
  • 32  पीछे जाएं

कॉम्बिनेशन को योग के रूप में दिखाया जाता है. उदाहरण के लिए, Pause+seek+StreamVolume+ पाबंदियां == 15.

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

भेजने वाले से पाने वाले तक के निर्देश

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

लोड

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

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

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

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

रोकें

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

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

खोजें

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

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

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

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

रोकें

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

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

चलाएं

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

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

स्टेटस पाएं

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

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

SetVolume

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

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

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

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

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

गड़बड़ी: खिलाड़ी की अमान्य स्थिति

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

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

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

लोड करने का अनुरोध पूरा नहीं होने पर भेजा गया. प्लेयर की स्थिति IDLE होगी.

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

गड़बड़ी: लोड रद्द किया गया

लोड करने का अनुरोध रद्द होने पर भेजा गया (दूसरा लोड अनुरोध मिला).

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

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

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

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

वैल्यू:

  • INVALID_COMMAND  यह निर्देश काम नहीं करता
  • डुप्लीकेट_REQUESTID  अनुरोध का आईडी यूनीक नहीं होता है. अनुरोध पाने वाला व्यक्ति, उसी आईडी से अनुरोध को प्रोसेस कर रहा है
customData ऑब्जेक्ट ज़रूरी नहीं डेटा पाने वाले ऐप्लिकेशन की ओर से तय किया गया, ऐप्लिकेशन के हिसाब से डेटा का ब्लॉब

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

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

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