मीडिया को अनुकूलित करें

मीडिया सिस्टम ऐप्स के एक सूट से संबंधित है (उदाहरण के लिए, डायलर और ऐप लॉन्चर)। ये ऐप्स AOSP संरचना में विभिन्न स्तरों पर परिभाषित सामान्य शैलियों और संपत्तियों को साझा करते हैं।

  • framework/base सभी एंड्रॉइड बेस शैलियों को यहां परिभाषित किया गया है।
  • packages/services/Car/car_product/overlay इसमें बिल्ड-टाइम ओवरले शामिल हैं जो एंड्रॉइड ऑटोमोटिव ओएस के एओएसपी लुक-एंड-फील का उत्पादन करने के लिए मानक ढांचे/आधार संसाधनों को संशोधित करते हैं। ओईएम इस ओवरले को बाहर करने और स्वयं का उपयोग करने का विकल्प चुन सकते हैं।
  • packages/apps/Car/libs/car-ui-lib यह लाइब्रेरी सिस्टम ऐप्स और अनुकूलन के लिए डिज़ाइन किए गए अनबंडल ऐप्स के लिए सामान्य AAOS घटकों और संसाधनों को परिभाषित करती है। विवरण के लिए, कार यूआई लाइब्रेरी इंटीग्रेशन गाइड देखें।
  • packages/apps/Car/libs/car_app_common ऑटोमोटिव सिस्टम ऐप्स के बीच साझा किए गए सामान्य रंग और शैलियाँ। OEM इन तत्वों को अनुकूलित करने के लिए ओवरले का उपयोग कर सकते हैं (ऊपर वर्णित car_product/overlay के समान)।
  • packages/apps/Car/libs/car_media_common इसमें मीडिया और अन्य मीडिया यूआई के बीच साझा किए गए तत्व शामिल हैं। उदाहरण के लिए, होम स्क्रीन मीडिया विजेट.
  • packages/apps/Car/Media. सभी सिस्टम ऐप्स अपनी स्वयं की थीम का उपयोग करते हैं, जो Theme.CarUi से विस्तारित होती है, जैसा कि car-ui-lib में परिभाषित किया गया है।

एंड्रॉइड ऑटोमोटिव AOSP मीडिया की दो प्रस्तुतियाँ प्रदान करता है।

  • मीडिया यूआई. उपयोगकर्ताओं को साइन इन करने, सामग्री ब्राउज़ करने और विस्तृत प्लेबैक नियंत्रणों का उपयोग करने में सक्षम बनाता है।
  • होम स्क्रीन मीडिया विजेट. होम स्क्रीन पर कोर मीडिया प्लेबैक नियंत्रण सुविधाओं के उपयोग को सक्षम बनाता है।

मीडिया यूजर इंटरफ़ेस

यह आंकड़ा मीडिया यूआई की संरचना का वर्णन करता है:

मीडिया यूआई

चित्र 1. मीडिया उपयोगकर्ता इंटरफ़ेस.

यूएक्स और यूआई दिशानिर्देशों के साथ-साथ मीडिया के विभिन्न घटकों की स्थानिक संरचना के बारे में विवरण के लिए, स्थानिक मॉडल देखें।

AppBarView: टूलबार

मीडिया यूआई टूलबार डायलर और रेडियो जैसे अन्य सिस्टम ऐप्स के साथ साझा किया जाने वाला एक घटक है। टूलबार को कस्टमाइज़ करने का तरीका जानने के लिए, कार यूआई लाइब्रेरी इंटीग्रेशन गाइड देखें।

मीडिया अधिकतम कलाकृति आकार

मीडिया ऐप्स को कलाकृति के अधिकतम आकार के बारे में सूचित करने के लिए, आप अपने सिस्टम में media_items_bitmap_max_size_px ओवरले कर सकते हैं। ऐसा करने के लिए, रूट संकेत के रूप में EXTRA_MEDIA_ART_SIZE_HINT_PIXELS भेजें। परिणामस्वरूप, आप छवियाँ डाउनलोड करते समय बैंडविड्थ बचाएंगे। अधिक जानने के लिए,developer.android.com पर MediaConstents देखें।

खंड ब्राउज़ करें

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

न्यूनतम प्लेबैक नियंत्रण

जब ब्राउज़ खंड प्रदर्शित किया जा रहा है, और जब एक मीडिया आइटम का चयन किया जाता है, तो एक न्यूनतम प्लेबैक नियंत्रण दृश्य प्रदर्शित होता है। निम्नलिखित चित्र इस दृश्य की संरचना को दर्शाता है:

न्यूनतम प्लेबैक नियंत्रण

चित्र 2. न्यूनतम प्लेबैक नियंत्रण।

सूची ब्राउज़ करें

मीडिया ब्राउज़ सामग्री की प्रस्तुति को अनुकूलित करने के लिए डेवलपर्स शैली संकेत के एक सेट ( सामग्री शैलियाँ लागू करें देखें) का उपयोग कर सकते हैं। ओईएम को इन शैलियों का पालन करना होगा, प्रस्तुति को अपने डिजाइन सिस्टम में समायोजित करना होगा।

समर्थित आइटम प्रकार और संबंधित लेआउट निम्नानुसार स्थित हैं:

  • LIST_ITEM ( media_browse_list_item.xml )। आमतौर पर पॉडकास्ट में एपिसोड के लिए उपयोग किया जाता है, जैसे कि प्लेलिस्ट आइटम और पसंदीदा।
  • ICON_LIST_ITEM ( media_browse_list_icons_item.xml ). श्रेणियों या मेनू विकल्पों के लिए उपयोग किया जाता है, जिसमें मीडिया आइटम के साथ शामिल छवि वास्तविक एल्बम कला नहीं बल्कि एक आइकन है।
  • GRID_ITEM ( media_browse_grid_item.xml )। आमतौर पर गाने या प्लेलिस्ट जैसी बजाने योग्य वस्तुओं के लिए उपयोग किया जाता है।
  • ICON_GRID_ITEM ( media_browse_grid_icons_item.xml ). ICON_LIST_ITEM जैसी श्रेणियों के लिए उपयोग किया जाता है।
  • HEADER ( media_browse_header_item.xml )। मीडिया आइटम को अनुभागों में व्यवस्थित करने के लिए उपयोग किया जाता है।

प्लेबैक स्क्रीन

इस स्क्रीन को प्रदर्शित करने के लिए, न्यूनतम प्लेबैक नियंत्रणों का विस्तार करें:

  • वर्तमान में मीडिया आइटम मेडेटा (शीर्षक और उपशीर्षक सहित) चल रहा है।
  • पूर्ण प्लेबैक नियंत्रण.
  • प्लेबैक कतार (हाल ही में खेले गए या खेलने के लिए अगले आइटम प्रदर्शित करने के लिए उपयोग की जाती है)।

प्लेबैक स्क्रीन के घटकों की पहचान नीचे दिए गए आंकड़ों में की गई है।

प्लेबैक स्क्रीन

चित्र 3. प्लेबैक स्क्रीन.

प्लेबैक स्क्रीन टूलबार को बाकी ऐप के साथ साझा नहीं करती है। इसके बजाय, यह स्क्रीन स्क्रीन के शीर्ष पर मौजूद तत्वों को व्यक्तिगत रूप से प्रबंधित करती है।

ऑडियो फ़ॉर्मेटिंग एट्रिब्यूशन

जब ऐप्स वर्तमान में चल रहे मीडिया आइटम के अतिरिक्त में KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI या KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI सेट करते हैं। ओईएम को यूआरआई द्वारा बताए अनुसार उपयुक्त वेक्टर को खींचने योग्य प्रस्तुत करना होगा।

मुख्य प्लेबैक दृश्य पर सामग्री प्रारूप आइकन के बड़े संस्करण का उपयोग किया जाना चाहिए। द्वितीयक दृश्यों पर, जैसे छोटे प्लेबैक बार पर, OEM सामग्री प्रारूप आइकन के छोटे संस्करण का उपयोग कर सकते हैं। ContentFormatView अपने logoSize विशेषता के आधार पर इष्टतम आइकन प्रस्तुत करता है।

जब ऐप्स KEY_SUBTITLE_LINK_MEDIA_ID या KEY_DESCRIPTION_LINK_MEDIA_ID सेट करते हैं, तो OEM को उपशीर्षक या विवरण को इस तरह प्रस्तुत करना होगा जिससे पता चले कि उन्हें टैप किया जा सकता है, और फिर उपयोगकर्ता टैप पर लिंक किए गए मीडिया आइटम को दिखाने के लिए ब्राउज़ दृश्य खोलें।

प्लेबैक नियंत्रण

प्लेबैक स्क्रीन में नियंत्रण पंक्तियों में व्यवस्थित प्लेबैक नियंत्रणों का एक विस्तारित सेट शामिल है। द्वितीयक पंक्ति (शीर्ष पर पंक्ति के रूप में नीचे प्रदर्शित) केवल तभी प्रदर्शित होती है यदि पहली पंक्ति पर स्थान PlaybackStateCompat#getActions() से मीडिया ऐप द्वारा लौटाई गई सभी क्रियाओं को प्रदर्शित करने के लिए पर्याप्त नहीं है।

प्लेबैक नियंत्रण

चित्र 4. प्लेबैक नियंत्रण।

ओईएम मानक क्रियाओं के आइकन को कस्टमाइज़ कर सकते हैं, लेकिन उन्हें कस्टम एक्शन आइकन प्रस्तुत करने होंगे क्योंकि वे मीडिया ऐप्स द्वारा प्रदान किए जाते हैं।

होम स्क्रीन मीडिया विजेट

यह विजेट car-media-common में एक टुकड़े के रूप में कार्यान्वित किया गया है। इस टुकड़े में ऊपर वर्णित प्लेबैक स्क्रीन का एक छोटा संस्करण शामिल है। सभी समान अनुकूलन नियम और क्षमताएं लागू होती हैं।

होम स्क्रीन मीडिया विजेट

चित्र 5. होम स्क्रीन मीडिया विजेट।

ऊपर प्रदर्शित ऐप चयनकर्ता बटन मीडिया स्रोत स्विचिंग उपयोगकर्ता प्रवाह में वर्णित स्विच कार्यक्षमता का उपयोग करता है।

ऐप चयनकर्ता बटन के लिए वर्तमान मीडिया स्रोत आइकन का उपयोग करने के लिए, platform/packages/apps/Car/libs/car-media-common/res/values/bools.xml में परिभाषित use_media_source_logo_for_app_selector ध्वज को ओवरले करें और इसे true पर सेट करें। इस बदलाव के साथ, ऐप टूलबार के विपरीत तरफ मीडिया सोर्स आइकन छिपा दिया जाएगा। अनुकूलन मीडिया सेंटर ऐप और संदर्भ रेडियो ऐप पर भी लागू होता है।

मीडिया ऐप चयन बटन

चित्र 6. मीडिया ऐप चयन बटन।

चलाएं, रोकें और रोकें बटन लेआउट

प्ले/पॉज़/स्टॉप बटन लेआउट को "अभी चल रहा है" और न्यूनतम प्लेबैक नियंत्रण दृश्य के लिए अनुकूलित किया जा सकता है। दोनों लेआउट packages/apps/Car/libs/car-media-common/res/layout/ में परिभाषित हैं।

बटन लेआउट को अनुकूलित करने के लिए, बिल्ड-टाइम ओवरले को play_pause_stop_button_layout.xml और minimized_play_pause_stop_button_layout.xml पर लागू करें।

प्ले कतार में वर्तमान आइटम को हाइलाइट करें

वर्तमान प्ले क्यू आइटम की स्थिति को selected पर सेट किया गया है, इसलिए इसे रंग राज्य सूचियों ( रंग राज्य सूची संसाधन देखें) और राज्य सूची ड्रॉएबल्स ( ड्राएबल संसाधन देखें) जैसे राज्य संसाधनों का उपयोग करके अनुकूलित किया जा सकता है। आवश्यक स्टाइल परिवर्तन लागू करने के लिए, आप कतार आइटम लेआउट packages/apps/Car/Media/res/layout/queue_list_item.xml को ओवरराइड कर सकते हैं, या एक अलग

आप वर्तमान प्ले क्यू आइटम के आगे एक आइकन भी दिखा सकते हैं:

चित्र 7. खेल कतार में वर्तमान आइटम को हाइलाइट किया गया।