מוסיפים את יחסי התלות
Kotlin
implementation("androidx.media3:media3-ui:1.6.0")
Groovy
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
מספק כמה מאפיינים.
אפשר להשתמש במאפיינים האלה כדי להתאים אישית את התנהגות התצוגה, וגם את המראה והתחושה שלה. לרוב המאפיינים האלה יש שיטות setter תואמות, שאפשר להשתמש בהן כדי להתאים אישית את התצוגה בזמן הריצה. המאפיינים ושיטות ההגדרה (setter) האלה מפורטים במסמכי התיעוד של PlayerView
.
אחרי שמצהירים על התצוגה בקובץ הפריסה, אפשר לחפש אותה ב-method 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); }
אחרי שמפעילים את ה-player, אפשר לצרף אותו לתצוגה באמצעות קריאה ל-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
. אפשר להתאים אישית את ה-controller על ידי הגדרת מאפיינים ב-PlayerView
(שיועברו אל PlayerControlView
) או על ידי מתן בקר בהתאמה אישית עם android:id="@id/exo_controller
.
בחירת סוג פלטפורמה
המאפיין surface_type
של PlayerView
מאפשר להגדיר את סוג המשטח שמשמש להפעלת הסרטון. הערכים המותרים הם surface_view
, texture_view
, spherical_gl_surface_view
(ערך מיוחד להפעלת סרטונים ספירליים), video_decoder_gl_surface_view
(לעיבוד וידאו באמצעות מעבדי תצוגה של תוספים) ו-none
(להפעלת אודיו בלבד). מידע נוסף על סוג המשטח שצריך לבחור זמין בדף 'משטח'.