إضافة الاعتمادية
تتضمّن مكتبة Media3 وحدتَين لواجهة المستخدم تستندان إلى Jetpack Compose. ليس عليك إضافة كلتَيهما لأنّ الوحدة المستندة إلى Material3 تعتمد على الوحدة الأساسية.
Kotlin
// Include only one of the following dependencies
implementation("androidx.media3:media3-ui-compose:1.10.0")
implementation("androidx.media3:media3-ui-compose-material3:1.10.0")
أنيق
// Include only one of the following dependencies
implementation "androidx.media3:media3-ui-compose:1.10.0"
implementation "androidx.media3:media3-ui-compose-material3:1.10.0"
ننصحك بشدة بتطوير تطبيقك باستخدام Compose أولاً أو نقل البيانات من Views.
تطبيق تجريبي مكتوب بالكامل باستخدام Compose
على الرغم من أنّ مكتبة media3-ui-compose لا تتضمّن دوال Composables جاهزة (مثل الأزرار أو المؤشرات أو الصور أو مربّعات الحوار)، يمكنك العثور على
تطبيق تجريبي مكتوب بالكامل باستخدام 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) التي تحوّل Player
الحالة إلى حالة واجهة المستخدم.
لا توفّر هذه المكتبة مكوّنات جاهزة للاستخدام من التصميم المتعدد الأبعاد. عليك إنشاء مكوّنات واجهة المستخدم الخاصة بك وتصميمها. تمنحك هذه المكتبة أقصى قدر من التحكّم في المظهر، ما يجعلها مثالية إذا كان لديك نظام تصميم مخصّص بشكل كبير.
استخدِم media3-ui-compose-material3 لدمج أسرع مع Material
Design.
توفّر هذه المكتبة الجزء الأخير من المسار، وهو UI. تعتمد هذه المكتبة على
media3-ui-compose وتتضمّن دوال Composable جاهزة تم تصميمها
باستخدام مكوّنات Material3، بما في ذلك دالة Player Composable التي
توفّر تجربة شاملة لتشغيل الوسائط تتضمّن الفيديو وعناصر التحكّم و
شريط التقدّم. يغنيك ذلك عن إنشاء الأزرار وعناصر واجهة المستخدم الأخرى من البداية. سيظل بإمكانك تخصيص المظهر والألوان والرموز لهذه المكوّنات، ولكن يتم توفير التنفيذ الأساسي لك.
نظرة سريعة
| الميزة | media3-ui-compose |
media3-ui-compose-material3 |
|---|---|---|
| مكوّنات واجهة المستخدم | عناصر أساسية، مثل PlayerSurface وContentFrame، ولكن بدون أزرار أو عناصر تحكّم مصمّمة مسبقًا |
توفّر دالة Player Composable ومجموعة كاملة من دوال Composables الجاهزة المصمّمة باستخدام Material3، مثل PlayPauseButton وSeekBackButton وPositionAndDurationText وما إلى ذلك |
| إدارة الحالة | توفّر عناصر التحكّم remember...State لإدارة المنطق. |
تتم إدارة الحالة داخليًا، ولكن سيظل بإمكانك الوصول إلى عناصر التحكّم في الحالة إذا احتجت إلى ذلك. |
| الاعتمادية | androidx.compose.foundation |
media3-ui-compose وandroidx.compose.material3 وcom.google.android.material |
| حالة الاستخدام الأساسية | إنشاء واجهة مستخدم لمشغّل باستخدام نظام تصميم مخصّص التحكّم الكامل في المظهر | إنشاء واجهة مستخدم لمشغّل بسرعة تتّبع إرشادات التصميم المتعدد الأبعاد 3 |