Material3 Compose

media3-ui-compose-material3 लाइब्रेरी, स्थिति मैनेजमेंट और 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 लाइब्रेरी, प्लेयर कंट्रोल के लिए पहले से बनाए गए कंपोज़ेबल का सेट उपलब्ध कराती है. यहां कुछ ऐसे कॉम्पोनेंट दिए गए हैं जिनका इस्तेमाल सीधे तौर पर अपने ऐप्लिकेशन में किया जा सकता है:

कॉम्पोनेंट ब्यौरा
PlayPauseButton यह बटन, वीडियो चलाने और रोकने के बीच टॉगल करता है.
SeekBackButton यह एक बटन है. इसका इस्तेमाल, तय की गई इंक्रीमेंट वैल्यू के हिसाब से पीछे ले जाने के लिए किया जाता है.
SeekForwardButton यह एक बटन है. इसका इस्तेमाल, तय की गई इंक्रीमेंट वैल्यू के हिसाब से आगे बढ़ाने के लिए किया जाता है.
NextButton यह एक बटन है. इसका इस्तेमाल, अगले मीडिया आइटम पर जाने के लिए किया जाता है.
PreviousButton यह पिछले मीडिया आइटम पर जाने वाला बटन है.
RepeatButton यह एक बटन है, जिसकी मदद से रिपीट मोड के बीच साइकल किया जा सकता है.
ShuffleButton शफ़ल मोड को टॉगल करने के लिए बटन.
MuteButton प्लेयर को म्यूट और अनम्यूट करने के लिए बटन.
PositionAndDurationText यह एक टेक्स्ट कंपोज़ेबल है, जो मौजूदा जगह और कुल अवधि दिखाता है.
PositionText यह एक टेक्स्ट कंपोज़ेबल है, जो मौजूदा जगह की जानकारी दिखाता है.
DurationText यह एक टेक्स्ट कंपोज़ेबल है, जो कुल अवधि दिखाता है.
RemainingDurationText यह एक टेक्स्ट कंपोज़ेबल है, जो बाकी बची अवधि दिखाता है.
ProgressSlider यह एक स्लाइडर होता है, जो वीडियो चलाने की प्रोग्रेस दिखाता है. साथ ही, उपयोगकर्ता को वीडियो में आगे-पीछे जाने की सुविधा देता है.

यह पूरी सूची नहीं है. उपलब्ध सभी कॉम्पोनेंट के लिए, लाइब्रेरी का एपीआई रेफ़रंस देखें.

आपको पहले से बने दो अन्य कंपोज़ेबल की ज़रूरत पड़ सकती है. ये कंपोज़ेबल, सर्फ़ेस मैनेजमेंट से जुड़े हैं. ये media3-ui-compose मॉड्यूल में मौजूद होते हैं, क्योंकि इनमें Material थीमिंग नहीं होती है.

कॉम्पोनेंट ब्यौरा
ContentFrame मीडिया कॉन्टेंट दिखाने वाला एक प्लैटफ़ॉर्म, जो आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) को मैनेज करता है, इमेज का साइज़ बदलता है, और शटर को कंट्रोल करता है
PlayerSurface रॉ प्लैटफ़ॉर्म, जो AndroidView में SurfaceView और TextureView को रैप करता है