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 دکمه‌ای برای صامت و صدادار کردن پخش‌کننده.
PositionAndDurationText ترکیب‌شونده نوشتاری که موقعیت فعلی و مدت کل را نمایش می‌دهد.
PositionText ترکیب‌شونده نوشتاری که موقعیت فعلی را نمایش می‌دهد.
DurationText ترکیب‌شونده نوشتاری که مدت کل را نمایش می‌دهد.
RemainingDurationText ترکیب‌شونده نوشتاری که مدت باقی‌مانده را نمایش می‌دهد.
ProgressSlider لغزنده‌ای که پیشرفت بازپخش را نشان می‌دهد و به کاربر امکان جستجو می‌دهد.

این فهرست کامل نیست. برای همه عناصر دردسترس، به مرجع API کتابخانه مراجعه کنید.

دو عنصر ترکیبی پیش‌ساخته دیگر که احتمالاً به آن‌ها نیاز خواهید داشت مربوط به مدیریت سطح هستند و در واحد media3-ui-compose قرار دارند زیرا از زمینه‌سازی Material برخوردار نیستند.

مؤلفه شرح
ContentFrame سطحی برای نمایش محتوای رسانه‌ای که مدیریت نسبت ابعادی، تغییر اندازه، و شاتر را انجام می‌دهد
PlayerSurface سطح خام که SurfaceView و TextureView را در AndroidView می‌پیچد