افزودن وابستگی
کتابخانه Media3 شامل دو ماژول میانای کاربر مبتنی بر Jetpack Compose است. لازم نیست هر دو را اضافه کنید زیرا Material3 به هسته وابسته است.
کاتلین
// Include only one of the following dependencies
implementation("androidx.media3:media3-ui-compose:1.11.1")
implementation("androidx.media3:media3-ui-compose-material3:1.11.1")
شیک
// Include only one of the following dependencies
implementation "androidx.media3:media3-ui-compose:1.11.1"
implementation "androidx.media3:media3-ui-compose-material3:1.11.1"
اکیداً توصیه میکنیم برنامهتان را با رویکرد Compose-first توسعه دهید یا از Views مهاجرت کنید.
برنامه نمایشی Fully Compose
درحالیکه کتابخانه media3-ui-compose شامل composableهای آماده
(مانند دکمهها، نشانگرها، تصاویر، یا کادرهای گفتگو) نیست، میتوانید یک برنامه نمایشی
کاملاً نوشتهشده در Compose پیدا کنید که از هرگونه راهحلهای تعاملپذیری مانند
قرار دادن PlayerView در AndroidView اجتناب میکند. برنامه نمایشی از کلاسهای نگهدارنده حالت رابط کاربری از ماژول media3-ui-compose و کتابخانه Compose Material3 استفاده میکند.
به کدام کتابخانه نیاز دارم؟
بسته به سطح سفارشیسازی موردنیازتان، میتوانید بین دو کتابخانه Media3 Compose انتخاب کنید. برای درک تفاوت، بهتر است به
خط لوله تولید حالت واسط کاربر فکر کنید: Business logic → UI logic → UI.
برای کنترل کامل مؤلفههای میانای کاربر، از media3-ui-compose استفاده کنید.
این کتابخانه اتصال Business logic → UI logic را ارائه میدهد. این کتابخانه شامل مؤلفههای پایهای مانند PlayerSurface و ContentFrame، بههمراه کلاسهای نگهدارنده حالت (مانند PlayPauseButtonState، CurrentMediaItemState، PlaylistState، ErrorState) است که حالت Player را به حالت واسط کاربر تبدیل میکنند.
این کتابخانه مؤلفههای «طراحی مواد» آماده برای استفاده را ارائه نمیدهد. شما مسئول ساختن مؤلفههای واسط کاربر خودتان و سبکدهی به آنها هستید. این گزینه حداکثر کنترل را بر ظاهر و حس به شما میدهد، که آن را برای سیستمهای طراحی بسیار سفارشی ایدهآل میکند.
برای ادغام سریعتر با «طراحی مواد»، از media3-ui-compose-material3 استفاده کنید.
این کتابخانه بخش نهایی UI خط لوله را ارائه میدهد. این کتابخانه به media3-ui-compose وابسته است و شامل توابع ترکیبپذیر ازپیشساختهای است که با مؤلفههای Material3، ازجمله ترکیبپذیرهای Player و MiniController، سبکدهی شدهاند. Player ترکیبپذیر تجربه بازپخش رسانه جامعی را با ویدیو، کنترلها، و نوار پیشرفت ارائه میدهد که میتوانید آن را بااستفاده از PlayerDefaults بیشتر سفارشیسازی کنید. MiniController ترکیبپذیر یک
امکان فشرده برای کنترل پخشکننده ارائه میدهد و درعینحال اطلاعاتی درباره
مورد رسانهای فعلی نمایش میدهد. این کار نیاز به ساختن دکمهها و دیگر عناصر میانای کاربر از ابتدا را ازبین میبرد. همچنان میتوانید طرح زمینه، رنگها، و نمادهای این مؤلفهها را سفارشیسازی کنید، اما پیادهسازی هسته برای شما ارائه شده است.
در یک نگاه
| ویژگی | media3-ui-compose |
media3-ui-compose-material3 |
|---|---|---|
| مؤلفههای میانای کاربر | عناصر بنیادی مانند PlayerSurface و ContentFrame، اما بدون دکمهها یا کنترلهای ازپیش سبکبندیشده. |
Player و MiniController قابلساخت و مجموعه کاملی از قابلساختهای ازپیشساختهشده با سبک Material3 مانند PlayPauseButton، SeekBackButton، PositionAndDurationText، ErrorText، و غیره را ارائه میدهد. |
| مدیریت کردن وضعیت | نگهدارندههای remember...State را برای مدیریت منطق ارائه میدهد. |
حالت را بهصورت داخلی مدیریت میکند، اما اگر لازم باشد همچنان میتوانید به نگهدارندههای حالت دسترسی داشته باشید. |
| وابستگیها | androidx.compose.foundation |
media3-ui-compose، androidx.compose.material3، com.google.android.material |
| مورد استفاده اصلی | ساختن واسط کاربر پخشکننده با سیستم طراحی سفارشی. کنترل کامل بر ظاهر و حس. | ساختن سریع میانای کاربر پخشکننده که از دستورالعملهای Material Design 3 پیروی میکند. |