Material3 Compose

کتابخانه media3-ui-compose-material3 یک Player Composable ارائه می‌دهد که کنترل‌های پخش‌کننده، نوار پیشرفت، و محتوای رسانه فعلی را نشان می‌دهد. این مؤلفه هم مدیریت وضعیت و هم سبک‌بندی 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 نشانگر پیشرفتی که هنگام میان‌گیری پخش‌کننده نشان داده می‌شود.

این فهرست کامل نیست. برای دیدن همه مؤلفه‌های دردسترس، به مرجع میانای برنامه‌سازی کاربردی کتابخانه مراجعه کنید.

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

مؤلفه شرح
ContentFrame سطحی برای محتوای رسانه‌ای که مدیریت نسبت ابعادی، تغییر اندازه، شاتر، آثار هنری، و جایگاه زیرنویس را مدیریت می‌کند.
PlayerSurface Raw surface which wraps SurfaceView and TextureView in AndroidView.