Android 13 से, सिस्टम यूज़र इंटरफ़ेस (यूआई) में मौजूद मीडिया कंट्रोलर में, ऐक्शन बटन और रिमोट प्लेबैक से जुड़े अपडेट शामिल हैं. इन बदलावों से, फ़ोन और टैबलेट पर मीडिया कंट्रोल करने का बेहतर अनुभव मिलता है. साथ ही, अलग-अलग डिवाइसों पर मीडिया को आसानी से ट्रांसफ़र किया जा सकता है.
मीडिया कंट्रोल से जुड़े अपडेट
इस सेक्शन में, Android 13 में मीडिया कंट्रोल से जुड़े अपडेट के बारे में बताया गया है. ये अपडेट, ऐक्शन बटन और रिमोट प्लेबैक के लिए किए गए हैं.
ऐक्शन बटन में किए गए बदलाव
यह पक्का करने के लिए कि मीडिया चलाने वाले ऐप्लिकेशन के लिए, उपयोगकर्ताओं को मीडिया कंट्रोल का बेहतर सेट मिल सके, Android 13 के लिए मीडिया कंट्रोल पर मौजूद ऐक्शन बटन, PlaybackState
ऐक्शन की स्थितियों से लिए जाते हैं.
इस बदलाव के बाद, MediaDataManager#createActionsFromState
फ़ंक्शन, PlaybackState
ऐक्शन की स्थिति के आधार पर ऐक्शन बटन की जानकारी जनरेट करता है.
यह इस बात के मुताबिक है कि Android के अन्य प्लैटफ़ॉर्म, जैसे कि Auto, Assistant, और Wear में मीडिया कंट्रोल कैसे रेंडर किए जाते हैं.
इसके उलट, Android 12 में मीडिया कंट्रोल पर मौजूद ऐक्शन बटन, MediaStyle
सूचना में जोड़ी गई सूचना से जुड़ी कार्रवाइयों के हिसाब से तय किए जाते थे.
ऐक्शन बटन के अपडेट के लिए, ऐप्लिकेशन के साथ काम करने वाले बदलावों की खास जानकारी देखने के लिए, StatusBarManager
पर जाएं.
Remote playback API
अलग-अलग डिवाइसों पर मीडिया का एक जैसा अनुभव देने के लिए, Android 13 से एक नया सिस्टम एपीआई Notification#setRemotePlaybackInfo
जोड़ा गया है. इसका इस्तेमाल, मीडिया कंट्रोल सिस्टम यूज़र इंटरफ़ेस (यूआई) पर मीडिया सूचनाओं को मार्क करने के लिए किया जाता है, ताकि रिमोट प्लेबैक किया जा सके. इस एपीआई की मदद से, सूचनाएं पोस्ट करने वाले सिस्टम ऐप्लिकेशन ये काम कर सकते हैं:
- मीडिया कंट्रोल पर मौजूद डिफ़ॉल्ट आउटपुट स्विचर को, किसी रिमोट डिवाइस से शुरू किए गए मीडिया के बारे में जानकारी और उससे जुड़ी सुविधाएं उपलब्ध कराता है.
- अगर ज़रूरी हो, तो आउटपुट स्विचर अफ़ोर्डेंस बदलें.
इस सूचना का इस्तेमाल करने वाले सिस्टम ऐप्लिकेशन के पास MEDIA_CONTENT_CONTROL
अनुमति होनी चाहिए.
Notification#setRemotePlaybackInfo
API, रिमोट प्लेबैक डिवाइस का नाम, आइकॉन, और इंटेंट तय करने के लिए, यहां दिए गए extras
भी जोड़ता है:
Notification#EXTRA_MEDIA_REMOTE_DEVICE
Notification#EXTRA_MEDIA_REMOTE_ICON
Notification#EXTRA_MEDIA_REMOTE_INTENT
इस जानकारी की मदद से, System UI, डिफ़ॉल्ट आउटपुट स्विचर चिप डिवाइस की जानकारी को बदल सकता है. साथ ही, रिमोट प्लेबैक के लिए मीडिया कंट्रोल को लोकल मीडिया कंट्रोल की सूची के आखिर में जोड़ सकता है.
मीडिया कंट्रोल करने की सुविधा लागू करना
OEM को डिफ़ॉल्ट व्यवहार में हुए इस बदलाव के बारे में पता होना चाहिए, क्योंकि इससे यह तय होता है कि ऐप्लिकेशन के लिए मीडिया कंट्रोल कैसे जनरेट किए जाते हैं. ओईएम को यह भी पक्का करना होगा कि नया सिस्टम एपीआई, आउटपुट स्विचर की सुविधा में लागू होने वाले नियमों के मुताबिक काम करता हो.
OEM को कोई बदलाव करने की ज़रूरत नहीं है. वे AOSP में डिफ़ॉल्ट तौर पर लागू किए गए सिस्टम का इस्तेमाल कर सकते हैं.
रिमोट प्लेबैक को पसंद के मुताबिक बनाना
अगर ओईएम के पास ऐसा सिस्टम ऐप्लिकेशन है जो रिमोट मीडिया प्लेबैक की सूचनाएं पोस्ट करता है, तो ऐप्लिकेशन सूचना के लिए setRemotePlaybackInfo
को कॉल कर सकता है. हालांकि, ऐसा तब ही किया जा सकता है, जब उसे MEDIA_CONTENT_CONTROL
की अनुमति मिली हो. हालांकि, ऐसा करना ज़रूरी नहीं है. पार्टनर के पास यह विकल्प होता है कि वह अपने हिसाब से बदलाव न करे.
मीडिया कंट्रोल की पुष्टि करना
सिस्टम यूज़र इंटरफ़ेस में मीडिया कंट्रोल की जांच करने के लिए, मैन्युअल टेस्ट चलाएं. इससे इन बातों की पुष्टि की जा सकेगी:
- किसी ऐप्लिकेशन से मीडिया चलाते समय, बटन ठीक से काम करते हैं.
- आउटपुट स्विचर में डिवाइस की सही जानकारी दिखती है.
रिमोट प्लेबैक एपीआई की पुष्टि करने के लिए, इन टेस्ट का इस्तेमाल करें:
NotificationManagerTest
में सीटीएस टेस्ट, जैसे किtestMediaStyleRemotePlayback_noPermission
औरtestMediaStyleRemotePlayback_hasPermission
.com.android.systemui.media
में यूनिट टेस्ट.
सुझावों के लिए, सीडीडी की नई ज़रूरी शर्त [3.8.3.1/H-1-SR] देखें.