إضافة التبعية
Kotlin
implementation("androidx.media3:media3-ui:1.6.0")
رائع
implementation "androidx.media3:media3-ui:1.6.0"
PlayerView
أهم مكوّن هو PlayerView
، وهو طريقة عرض لتشغيل الوسائط.
يعرض PlayerView
الفيديو والصور والترجمة والشرح وصورة الألبوم أثناء التشغيل،
بالإضافة إلى عناصر التحكّم في التشغيل.
يحتوي PlayerView
على طريقة setPlayer()
لإرفاق وفصل (من خلال
تمرير null
) نُسخ Player
.
يمكن استخدام PlayerView
لتشغيل الفيديو والصور والصوت. وتعرض هذه البيانات
الفيديوهات والترجمات في حال تشغيل الفيديو، والصور النقطية لتشغيل الصور،
ويمكنها عرض الأعمال الفنية المضمّنة كبيانات وصفية في الملفات الصوتية. ويمكنك تضمينه
في ملفات التنسيق مثل أي مكوّن آخر لواجهة المستخدم. على سبيل المثال، يمكن تضمين PlayerView
مع ملف XML التالي:
<androidx.media3.ui.PlayerView
android:id="@+id/player_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:show_buffering="when_playing"
app:show_shuffle_button="true"/>
يوضّح المقتطف أعلاه أنّ PlayerView
يوفّر عدة سمات.
يمكن استخدام هذه السمات لتخصيص سلوك العرض، بالإضافة إلى
مظهره وأسلوبه. تحتوي معظم هذه السمات على طرق ضبط مقابلة، والتي
يمكن استخدامها لتخصيص طريقة العرض أثناء التشغيل. يسرد مستند PlayerView
هذه السمات وطُرق ضبطها بمزيد من التفصيل.
بعد الإعلان عن طريقة العرض في ملف التنسيق، يمكن البحث عنها في onCreate
طريقة النشاط:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // ... playerView = findViewById(R.id.player_view) }
Java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // ... playerView = findViewById(R.id.player_view); }
عند بدء تشغيل مشغّل، يمكن إرفاقه بالعرض من خلال استدعاء
setPlayer
:
Kotlin
// Instantiate the player. val player = ExoPlayer.Builder(context).build() // Attach player to the view. playerView.player = player // Set the media item to be played. player.setMediaItem(mediaItem) // Prepare the player. player.prepare()
Java
// Instantiate the player. player = new ExoPlayer.Builder(context).build(); // Attach player to the view. playerView.setPlayer(player); // Set the media item to be played. player.setMediaItem(mediaItem); // Prepare the player. player.prepare();
PlayerControlView
PlayerControlView
هي إحدى PlayerView
طرق العرض الفرعية التي تحتوي على
شريط التقدم والأزرار للتحكّم في التشغيل. يُرجى العِلم أنّه ليس مقصودًا استخدام PlayerControlView
كمكوّن مستقل خارج PlayerView
. ويمكن
تخصيصه من خلال ضبط السمات على PlayerView
(التي سيتم تمريرها إلى
PlayerControlView
) أو توفير وحدة تحكّم مخصّصة باستخدام
android:id="@id/exo_controller
.
اختيار نوع السطح
تتيح لك سمة surface_type
في PlayerView
ضبط نوع السطح
المستخدَم لتشغيل الفيديو. والقيم المسموح بها هي surface_view
وtexture_view
spherical_gl_surface_view
(وهي قيمة خاصة لتشغيل الفيديوهات البانورامية)، وvideo_decoder_gl_surface_view
(وهي مخصّصة لعرض الفيديو باستخدام
مشغّلات الإضافات) وnone
(لتشغيل الصوت فقط). يمكنك الاطّلاع على مزيد من المعلومات حول نوع المساحة التي تريد اختيارها في صفحة "المساحة".