media3-ui-compose-material3 लाइब्रेरी में Player कंपोज़ेबल होता है. यह प्लेयर कंट्रोल, प्रोग्रेस बार, और मौजूदा मीडिया कॉन्टेंट दिखाता है. यह अंदरूनी तौर पर, स्थिति मैनेजमेंट और Material3 स्टाइलिंग, दोनों को हैंडल करती है. कौनसी लाइब्रेरी का इस्तेमाल करना है, इस बारे में ज़्यादा जानकारी के लिए, Media3 Compose की खास जानकारी देखें.
// The library provides styled UI components Row { SeekBackButton(player) PlayPauseButton(player) SeekForwardButton(player) }
// You can rearrange the composables into a layout that suits your needs @Composable fun PlayerProgressControlsLeftAligned(player: Player) { Row { PositionAndDurationText(player) ProgressSlider(player) } } @Composable fun PlayerProgressControlsCenterAligned(player: Player) { Row { PositionText(player) ProgressSlider(player) DurationText(player) } }
Material3 कॉम्पोनेंट को पसंद के मुताबिक बनाना
media3-ui-compose-material3 में Material3 डिज़ाइन के कॉम्पोनेंट उपलब्ध हैं. हालांकि, थीम पर आपका पूरा कंट्रोल होता है. MaterialTheme में प्लेयर यूज़र इंटरफ़ेस (यूआई) को रैप करके, पसंद के हिसाब से रंग, टाइपोग्राफ़ी, और शेप को पसंद के मुताबिक बनाया जा सकता है.
उदाहरण के लिए, PlayPauseButton का रंग बदलने के लिए, कस्टम colorScheme दिया जा सकता है:
MaterialTheme( colorScheme = lightColorScheme( primary = Color.Red, // Change the primary color for the button onPrimary = Color.White, ) ) { // The PlayPauseButton will now use the custom colors PlayPauseButton(player) }
उपलब्ध Material3 कॉम्पोनेंट
media3-ui-compose-material3 लाइब्रेरी, सामान्य प्लेयर कंट्रोल के लिए पहले से बने कंपोज़ेबल का सेट उपलब्ध कराती है. यहां कुछ ऐसे कॉम्पोनेंट दिए गए हैं जिन्हें सीधे तौर पर अपने ऐप्लिकेशन में इस्तेमाल किया जा सकता है:
| कॉम्पोनेंट | ब्यौरा |
|---|---|
Player |
एक प्लेयर, जिसमें कंट्रोल, प्रोग्रेस बार, सबटाइटल, और वीडियो या आर्टवर्क के लिए कॉन्टेंट फ़्रेम है. |
PlayPauseButton |
यह बटन, वीडियो चलाने और रोकने के बीच टॉगल करता है. साथ ही, बफ़रिंग, फिर से चलाने, और फिर से कोशिश करने की स्थितियां दिखाता है. |
SeekBackButton |
यह एक बटन है. इसका इस्तेमाल, तय की गई इंक्रीमेंट वैल्यू के हिसाब से पीछे जाने के लिए किया जाता है. |
SeekForwardButton |
तय की गई इंक्रीमेंट वैल्यू के हिसाब से आगे बढ़ाने वाला बटन. |
NextButton |
यह एक बटन है. इसका इस्तेमाल, अगले मीडिया आइटम पर जाने के लिए किया जाता है. |
PreviousButton |
पिछले मीडिया आइटम पर जाने के लिए बटन. |
RepeatButton |
यह बटन, रिपीट मोड के बीच साइकल करने के लिए है. |
ShuffleButton |
शफ़ल मोड को टॉगल करने के लिए बटन. |
MuteButton |
प्लेयर को म्यूट और अनम्यूट करने का बटन. |
LiveButton |
यह बटन बताता है कि लाइव स्ट्रीम का प्लेबैक, लाइव एज पर है या नहीं. इस पर टैप करने से, लाइव एज पर पहुंचा जा सकता है. |
PositionAndDurationText |
एक टेक्स्ट कंपोज़ेबल, जो मौजूदा पोज़िशन और कुल अवधि दिखाता है. |
PositionText |
मौजूदा पोज़िशन दिखाने वाला टेक्स्ट कंपोज़ेबल. |
DurationText |
कुल अवधि दिखाने वाला टेक्स्ट कंपोज़ेबल. |
RemainingDurationText |
एक टेक्स्ट कंपोज़ेबल, जो बचे हुए समय को दिखाता है. |
ProgressSlider |
एक स्लाइडर, जो प्लेबैक की प्रोग्रेस दिखाता है और उपयोगकर्ता को वीडियो में आगे-पीछे जाने की सुविधा देता है. |
BufferingIndicator |
प्रोग्रेस दिखाने वाला इंडिकेटर, जो प्लेयर के बफ़र होने के दौरान दिखता है. |
यह पूरी सूची नहीं है. उपलब्ध सभी कॉम्पोनेंट के लिए, लाइब्रेरी के एपीआई का संदर्भ देखें.
आपको पहले से बने दो अन्य कंपोज़ेबल की ज़रूरत पड़ सकती है. ये कंपोज़ेबल, सरफ़ेस मैनेजमेंट से जुड़े होते हैं और media3-ui-compose मॉड्यूल में मौजूद होते हैं. ऐसा इसलिए होता है, क्योंकि इनमें मटीरियल थीमिंग की सुविधा नहीं होती.
| कॉम्पोनेंट | ब्यौरा |
|---|---|
ContentFrame |
मीडिया कॉन्टेंट के लिए एक ऐसा प्लैटफ़ॉर्म जो आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) मैनेज करने, साइज़ बदलने, शटर, आर्टवर्क, और सबटाइटल स्लॉट को मैनेज करता है. |
PlayerSurface |
रॉ प्लैटफ़ॉर्म, जो AndroidView में SurfaceView और TextureView को रैप करता है. |