Material3 Compose

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 को रैप करता है.