मीडिया कंट्रोलर टेस्ट ऐप्लिकेशन का इस्तेमाल करके

Android फ़ोन, कार, टीवी, और हेडफ़ोन पर Google Assistant के साथ बोलकर इंटरैक्ट करने वाले मीडिया ऐप्लिकेशन, Android मीडिया सेशन एपीआई की मदद से काम करते हैं. साथ ही, वे मीडिया ऐक्शन का इस्तेमाल करते हैं. मीडिया ऐक्शन लाइफ़साइकल को समझना मुश्किल हो सकता है. खोज क्वेरी से वीडियो चलाने के दौरान भी कई ऐसे चरण होते हैं जिनमें कुछ गड़बड़ हो सकती है. इन चरणों को आसान टाइमलाइन में दिखाया गया है:

मीडिया ऐक्शन का लाइफ़साइकल

पहली इमेज. मीडिया ऐक्शन का लाइफ़साइकल

Media Controller Test (MCT) ऐप्लिकेशन की मदद से, Android पर मीडिया प्लेबैक की बारीकियों की जांच की जा सकती है. साथ ही, मीडिया सेशन के लागू होने की पुष्टि की जा सकती है.

मीडिया कंट्रोलर टेस्ट ऐप्लिकेशन दो वर्शन में उपलब्ध है:

  • क्लाइंट ऐप्लिकेशन, लेगसी MediaControllerCompat के ऊपर लागू किया जाता है. इसकी मदद से, किसी बाहरी ऐप्लिकेशन से लेगसी MediaControllerCompat के ज़रिए ऐक्सेस किए जाने पर, लेगसी MediaSessionCompat या Media3 MediaSession के आधार पर बनाए गए मीडिया सेशन ऐप्लिकेशन की जांच की जा सकती है. GitHub पर, लेगसी वर्शन का सोर्स कोड ढूंढें.
  • क्लाइंट ऐप्लिकेशन को सबसे नए Media3 MediaController के ऊपर लागू किया गया है. इससे, किसी बाहरी ऐप्लिकेशन के ज़रिए Media3 MediaController के ज़रिए ऐक्सेस किए जाने पर, लेगसी MediaSessionCompat या Media3 MediaSession के ऊपर बनाए गए मीडिया सेशन ऐप्लिकेशन की जांच की जा सकती है. GitHub पर, Media3 वर्शन का सोर्स कोड ढूंढें.

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

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

एमसीटी शुरू करना

एमसीटी लॉन्च पेज
दूसरी इमेज. एमसीटी लॉन्च पेज

एमसीटी लॉन्च करने पर, आपको दो सूचियां दिखेंगी:

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

फ़ोन ऐप्लिकेशन की मैन्युअल तरीके से जांच करना

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

इसके अलावा, आपको पहले अपने ऐप्लिकेशन को बैकग्राउंड में चलाना होगा. इसके बाद, चालू मीडिया सेशन की सूची में दिखने पर, कंट्रोल पर क्लिक करें.

टेस्टिंग तैयार करें और खेलें

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

कंट्रोल पेज
तीसरा डायग्राम. कंट्रोल पेज

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

टेक्स्ट फ़ील्ड के ठीक नीचे मौजूद तैयार करें और चलाएं बटन, आपके चुने गए ऐक्शन के आधार पर सही कॉल (onPrepare(), onPrepareFromSearch(), onPrepareFromUri(), onPrepareFromMediaId(), onPlay(), onPlayFromSearch(), onPlayFromUri(), onPlayFromMediaId()) करते हैं.

ऑडियो फ़ोकस की जांच करना

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

ऑडियो फ़ोकस की जांच करने के लिए, यह तरीका अपनाएं:

  1. ऑडियो फ़ोकस ड्रॉप-डाउन मेन्यू का इस्तेमाल करके, अवधि के तीनों संकेत में से कोई एक चुनें AUDIOFOCUS_GAIN, AUDIOFOCUS_GAIN_TRANSIENT या AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK.
  2. फ़ोकस का अनुरोध करने के लिए, बटन दबाएं.
  3. फ़ोकस हटाने के लिए, बटन को फिर से दबाएं.

वीडियो चलाने के कंट्रोल की जांच करना

वीडियो चलाने के कंट्रोल की जांच करना
चौथी इमेज. ट्रांसपोर्ट कंट्रोल की जांच करना

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

ट्रांसपोर्ट बटन का इस्तेमाल करके, अपने प्लेयर की जांच करें. ट्रांसपोर्ट बटन की स्थिति, उम्मीद के मुताबिक बदल जानी चाहिए. उदाहरण के लिए, 'चलाएं' बटन को दबाने पर, वह बंद हो जाना चाहिए और 'रोकें' और 'बंद करें' बटन चालू हो जाने चाहिए.

वैकल्पिक कार्रवाइयां दिखाने वाले व्यू पर जाने के लिए, बाईं ओर फिर से स्वाइप करें. हर कार्रवाई के लिए एक कंट्रोल होता है, जिससे पता चलता है कि वह चालू है या नहीं. अगर यह चालू है, तो उस पर क्लिक करके कार्रवाई की जा सकती है.

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

वीडियो ऐप्लिकेशन की मैन्युअल तौर पर जांच करना

वीडियो ऐप्लिकेशन के कंट्रोलर की जांच करने के लिए, स्प्लिट-स्क्रीन मोड का इस्तेमाल करें. सबसे पहले, एक विंडो में अपना वीडियो ऐप्लिकेशन खोलें. इसके बाद, स्प्लिट-स्क्रीन मोड में एमसीटी खोलें.

पुष्टि करने के लिए टेस्ट चलाना

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

फ़ोन ऐप्लिकेशन की जांच करना

टेस्ट बटन
पांचवीं इमेज. टेस्ट बटन

पुष्टि करने के लिए टेस्ट ऐक्सेस करने के लिए, अपने मीडिया ऐप्लिकेशन के बगल में मौजूद जांच करें बटन पर क्लिक करें.

एमसीटी की स्थिति

मीडिया कंट्रोल की स्थिति
छठी इमेज. मीडिया कंट्रोल की स्थिति

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

कोई टेस्ट चुनना

टेस्ट चुनने का पेज
सातवीं इमेज. टेस्ट चुनने का पेज

बाईं ओर स्वाइप करने पर, आपको पुष्टि करने के लिए टेस्ट का व्यू दिखेगा. यहां आपको उपलब्ध टेस्ट की सूची दिखेगी, जिसे स्क्रोल किया जा सकता है. अगर कोई टेस्ट किसी क्वेरी का इस्तेमाल करता है, जैसे कि 'खोज के नतीजों से चलाएं' टेस्ट, तो क्वेरी स्ट्रिंग डालने के लिए एक टेक्स्ट फ़ील्ड होता है. यह टेस्ट, इमेज 7 में दिखाया गया है.

एमसीटी में, इन मीडिया ऐक्शन के लिए टेस्ट शामिल होते हैं. साथ ही, प्रोजेक्ट में लगातार और टेस्ट जोड़े जाते हैं:

  • चलाएं
  • Search से चलाना
  • Play From Media ID
  • यूआरआई से चलाएं
  • रोकें
  • रोकें
  • अगले पर जाएं
  • पिछले पर जाएं
  • सूची में मौजूद आइटम पर जाएं
  • किसी हिस्से पर जाएं

परीक्षण के नतीजे

टेस्ट का सफल नतीजा
आठवीं इमेज. जांच का सही नतीजा

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

Android TV ऐप्लिकेशन की जांच करना

Android TV पर एमसीटी लॉन्च करने पर, आपको इंस्टॉल किए गए मीडिया ऐप्लिकेशन की सूची दिखती है. ध्यान दें कि कोई ऐप्लिकेशन इस सूची में सिर्फ़ तब दिखेगा, जब उसमें मीडिया ब्राउज़र सेवा लागू की गई हो.

टीवी पर एमसीटी लॉन्च पेज

नौवीं इमेज. टीवी पर एमसीटी का लॉन्च पेज

किसी ऐप्लिकेशन को चुनने पर, आपको टेस्टिंग स्क्रीन पर ले जाया जाता है. इस स्क्रीन पर दाईं ओर, पुष्टि करने वाले टेस्ट की सूची दिखती है.

टीवी पर पुष्टि करने के लिए टेस्ट पेज

10वीं इमेज. टीवी पर पुष्टि करने के लिए टेस्ट पेज

जांच करने पर, स्क्रीन की बाईं ओर चुने गए MediaController के बारे में जानकारी दिखती है. ज़्यादा जानकारी के लिए, Logcat में एमसीटी लॉग देखें.

टीवी पर टेस्ट की जानकारी वाला पेज

11वीं इमेज. टीवी पर टेस्ट की जानकारी वाला पेज

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

टेक्स्ट डालने की प्रोसेस को आसान बनाने के लिए, adb निर्देश का इस्तेमाल भी किया जा सकता है:

adb shell input text your-query

शब्दों के बीच स्पेस जोड़ने के लिए, "%s" का इस्तेमाल किया जा सकता है. उदाहरण के लिए, यह कमांड इनपुट फ़ील्ड में "हैलो वर्ल्ड" टेक्स्ट जोड़ता है.

adb shell input text hello%sworld

टेस्ट बनाना

अगर आपको लगता है कि कुछ और टेस्ट ज़रूरी हैं, तो उन्हें शामिल करके पुश अनुरोध सबमिट किया जा सकता है. नए टेस्ट बनाने का तरीका जानने के लिए, एमसीटी के GitHub Wiki पर जाएं और पुष्टि करने के लिए टेस्ट बनाने के निर्देश देखें.

कृपया योगदान देने के निर्देश देखें.

अन्य संसाधन

एमसीटी का इस्तेमाल, मीडिया एपीआई लागू करने वाले ऐप्लिकेशन के साथ किया जाना चाहिए. इस तरह के ऐप्लिकेशन का उदाहरण देखने के लिए, यूनिवर्सल Android Music Player देखें.

गड़बड़ियां ठीक करने और सुधार करने के सुझावों का हमेशा स्वागत है. कृपया योगदान देने के निर्देश देखें.