'अभी चल रहा है' कार्ड दिखाना

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

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

'अभी चल रहा है' कार्ड

मीडिया सेशन लागू करने के बाद, सेशन को चालू करने और ऑडियो फ़ोकस का अनुरोध करने के बाद, अभी चल रहा है कार्ड दिखता है.

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

जब setActive(false) कॉल से मीडिया सेशन बंद हो जाता है या जब कोई दूसरा ऐप्लिकेशन मीडिया चलाना शुरू करता है, तो कार्ड को लॉन्चर स्क्रीन से हटा दिया जाता है. अगर मीडिया चलना पूरी तरह से बंद हो गया है और कोई मीडिया चालू नहीं है, तो मीडिया सेशन को तुरंत बंद कर दें. अगर मीडिया चलना रोका गया है, तो मीडिया सेशन को कुछ समय बाद बंद करें, आम तौर पर, पांच से 30 मिनट बाद.

कार्ड अपडेट करना

जब भी आपका ऐप्लिकेशन, MediaSession में मीडिया चलाने की स्थिति को अपडेट करता है, तो अभी चल रहा है कार्ड अपडेट हो जाता है. इससे, मौजूदा मीडिया की स्थिति दिखती है. ऐसा करने का तरीका जानने के लिए, मीडिया चलाने की स्थिति अपडेट करना लेख पढ़ें.

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

उपयोगकर्ता की कार्रवाई का जवाब देना

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

Kotlin

val pi: PendingIntent = Intent(context, MyActivity::class.java).let { intent ->
    PendingIntent.getActivity(
        context, 99 /*request code*/,
        intent,
        PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
    )
}
session.setSessionActivity(pi)

Java

Intent intent = new Intent(context, MyActivity.class);
PendingIntent pi = PendingIntent.getActivity(context, 99 /*request code*/,
        intent, PendingIntent.FLAG_UPDATE_CURRENT);
session.setSessionActivity(pi);

इस्तेमाल के वे मामले जिनके लिए मंज़ूरी है

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