Menambahkan dependensi
Kotlin
implementation("androidx.media3:media3-ui:1.6.0")
Groovy
implementation "androidx.media3:media3-ui:1.6.0"
PlayerView
Komponen terpenting adalah PlayerView
, tampilan untuk pemutaran media.
PlayerView
menampilkan video, gambar, subtitel, dan sampul album selama pemutaran,
serta kontrol pemutaran.
PlayerView
memiliki metode setPlayer()
untuk melampirkan dan melepaskan (dengan
meneruskan null
) instance Player
.
PlayerView
dapat digunakan untuk pemutaran video, gambar, dan audio. Komponen ini merender
video dan subtitel dalam kasus pemutaran video, bitmap untuk pemutaran gambar,
dan dapat menampilkan poster yang disertakan sebagai metadata dalam file audio. Anda dapat menyertakannya
dalam file tata letak seperti komponen UI lainnya. Misalnya, PlayerView
dapat disertakan dengan XML berikut:
<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"/>
Cuplikan di atas mengilustrasikan bahwa PlayerView
menyediakan beberapa atribut.
Atribut ini dapat digunakan untuk menyesuaikan perilaku tampilan, serta
tampilan dan nuansanya. Sebagian besar atribut ini memiliki metode penyetel yang sesuai, yang
dapat digunakan untuk menyesuaikan tampilan saat runtime. Dokumentasi PlayerView
mencantumkan atribut dan metode penyetel ini secara lebih mendetail.
Setelah dideklarasikan dalam file tata letak, tampilan dapat dilihat di
metode onCreate
aktivitas:
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); }
Setelah diinisialisasi, pemutar dapat dilampirkan ke tampilan dengan memanggil
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
adalah salah satu sub-Tampilan PlayerView
yang berisi
status progres dan tombol untuk mengontrol pemutaran. Perhatikan bahwa PlayerControlView
tidak dimaksudkan untuk digunakan sebagai komponen mandiri di luar PlayerView
. Atribut ini dapat
disesuaikan dengan menetapkan atribut di PlayerView
(yang akan diteruskan ke
PlayerControlView
) atau menyediakan pengontrol kustom dengan
android:id="@id/exo_controller
.
Memilih jenis platform
Atribut surface_type
dari PlayerView
memungkinkan Anda menetapkan jenis platform
yang digunakan untuk pemutaran video. Nilai yang diizinkan adalah surface_view
, texture_view
,
spherical_gl_surface_view
(yang merupakan nilai khusus untuk pemutaran
video sferis), video_decoder_gl_surface_view
(yang digunakan untuk rendering video menggunakan
perender ekstensi), dan none
(hanya untuk pemutaran audio). Informasi selengkapnya tentang
jenis platform yang akan dipilih dapat ditemukan di halaman Platform.