Jetpack Media3 के बारे में जानकारी

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

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

वीडियो चलाने के कॉम्पोनेंट

Media3, प्लेबैक के इस्तेमाल के उदाहरणों के लिए कई मुख्य कॉम्पोनेंट उपलब्ध कराता है. अगर आपने पहले Android मीडिया लाइब्रेरी के साथ काम किया है, तो आपको इन कॉम्पोनेंट को बनाने वाली क्लास के बारे में पता होगा.

नीचे दिए गए डायग्राम में दिखाया गया है कि ये कॉम्पोनेंट, किसी सामान्य ऐप्लिकेशन में एक साथ कैसे काम करते हैं.

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

मीडिया प्लेयर

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

क्लास जानकारी लागू करने से जुड़ा नोट
Player Player एक इंटरफ़ेस है, जो मीडिया प्लेयर के लिए, बेहतर सुविधाओं के बारे में बताता है. जैसे, चलाना, रोकना, और आगे या पीछे जाना. Media3 में, Player इंटरफ़ेस एक सामान्य एपीआई है, जिसे कई कॉम्पोनेंट लागू करते हैं या इस्तेमाल करते हैं. उदाहरण के लिए, MediaSession और MediaController.
ExoPlayer Media3 में, ExoPlayer, Player इंटरफ़ेस को डिफ़ॉल्ट रूप से लागू करता है.

Media3ExoPlayer के बारे में ज़्यादा जानें

मीडिया सेशन

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

क्लास जानकारी लागू करने से जुड़ा नोट
MediaSession मीडिया सेशन की मदद से, आपका ऐप्लिकेशन किसी ऑडियो या वीडियो प्लेयर के साथ इंटरैक्ट कर सकता है. ये बाहरी तौर पर मीडिया चलाने का विज्ञापन करते हैं और बाहरी सोर्स से प्लेबैक के निर्देश पाते हैं. Media3 में, MediaSession को निर्देशों को लागू करने और मौजूदा स्थिति पाने के लिए, Player की ज़रूरत होती है.
MediaSessionService बैकग्राउंड में वीडियो चलाने की सुविधा देने के लिए, MediaSessionService आपके ऐप्लिकेशन के मुख्य Activity से अलग सेवा में मीडिया सेशन और उससे जुड़े प्लेयर को होस्ट करता है.
MediaController आम तौर पर, MediaController क्लास का इस्तेमाल आपके ऐप्लिकेशन के बाहर से निर्देश भेजने के लिए किया जाता है. उदाहरण के लिए, अन्य ऐप्लिकेशन या सिस्टम से. निर्देश, इससे जुड़े MediaSession के Player पर भेजे जाते हैं. MediaController क्लास, Player इंटरफ़ेस को लागू करती है, लेकिन किसी तरीके को कॉल करते समय, MediaController कनेक्ट किए गए MediaSession को भेजा गया निर्देश भेजता है. Google Assistant जैसे क्लाइंट ऐप्लिकेशन, कनेक्ट किए गए सेशन में वीडियो चलाने या रोकने के लिए MediaController का इस्तेमाल कर सकते हैं.
MediaLibraryService MediaLibraryService, MediaSessionService से मिलता-जुलता है. हालांकि, इसमें कुछ और एपीआई भी शामिल होते हैं, ताकि क्लाइंट ऐप्लिकेशन को कॉन्टेंट लाइब्रेरी को दिखाया जा सके.
MediaBrowser MediaBrowser क्लास की मदद से, उपयोगकर्ता किसी मीडिया ऐप्लिकेशन की कॉन्टेंट लाइब्रेरी में नेविगेट कर सकता है और यह चुन सकता है कि कौनसे आइटम चलाने हैं. MediaBrowser क्लास, MediaController और Player, दोनों इंटरफ़ेस लागू करती है. MediaController की तरह ही, आम तौर पर Android Auto जैसे क्लाइंट ऐप्लिकेशन, MediaBrowser को लागू करते हैं.

Media3 MediaSession के बारे में ज़्यादा जानें

यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट

Media3, वीडियो देखने और उसे कंट्रोल करने के लिए डिफ़ॉल्ट यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट उपलब्ध कराता है.

क्लास जानकारी लागू करने से जुड़ा नोट
PlayerView वीडियो और प्लेबैक कंट्रोल दिखाने के लिए डिफ़ॉल्ट View. ExoPlayer, MediaController या किसी अन्य पसंद के मुताबिक बनाए गए Player से कनेक्ट करता है.

Media3 यूज़र इंटरफ़ेस के बारे में ज़्यादा जानें

कॉम्पोनेंट में बदलाव करना

Media3 में, मीडिया एडिटिंग के इस्तेमाल के उदाहरणों के लिए Transformer API शामिल हैं. इनमें ये शामिल हैं:

  • ऑडियो और वीडियो को प्रोसेस करना. जैसे, फ़िल्टर और इफ़ेक्ट जोड़ना
  • एचडीआर वीडियो और स्लो-मोशन वीडियो जैसे खास फ़ॉर्मैट को हैंडल करना
  • कंपोज़िशन, जैसे कि कई इनपुट फ़ाइलों को जोड़ना
  • आखिरी आउटपुट को फ़ाइल में एक्सपोर्ट करना
क्लास जानकारी लागू करने से जुड़ा नोट
Transformer ट्रांसफ़ॉर्मेशन शुरू और बंद करने के लिए Transformer क्लास का इस्तेमाल करें और चल रहे ट्रांसफ़ॉर्मेशन की प्रोग्रेस के अपडेट देखें.
Effects Effects ऑब्जेक्ट, मीडिया आइटम पर लागू किए जाने वाले ऑडियो और वीडियो इफ़ेक्ट का एक कलेक्शन होता है.
EditedMediaItem EditedMediaItem, प्रोसेस किए जाने वाले मीडिया आइटम और उसमें किए जाने वाले बदलावों को दिखाता है. एक्सपोर्ट की प्रोसेस शुरू करने से पहले, किसी मीडिया आइटम में जोड़े गए इफ़ेक्ट की झलक देखने के लिए, ExoPlayer का इस्तेमाल किया जा सकता है.

Media3 ट्रांसफ़ॉर्मर के बारे में ज़्यादा जानें

शुरुआती जानकारी देने वाला वीडियो

Media3 के बारे में जानने के लिए, नीचे दिया गया वीडियो देखें. इसे बनाने वाले इंजीनियर ने ही इसकी जानकारी दी है.