Menambahkan dependensi
Kotlin
implementation("androidx.media3:media3-ui:1.7.1")
Groovy
implementation "androidx.media3:media3-ui:1.7.1"
PlayerView
Komponen terpenting adalah PlayerView
, tampilan untuk pemutaran media.
PlayerView
menampilkan video, gambar, subtitel, dan album art 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. Render
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 menggambarkan 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 setter ini secara lebih mendetail.
Untuk pengalaman pengguna yang lebih nyaman, pertimbangkan untuk menambahkan atribut keepScreenOn
Android
atau menyetel kunci tetap aktif, jika Anda menggunakan ExoPlayer. Anda dapat menyelidiki tindakan lain yang membuat perangkat tetap aktif di halaman pekerjaan latar belakang.
android:keepScreenOn="true"
Setelah tampilan dideklarasikan dalam file tata letak, tampilan dapat dicari dalam 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
. Komponen ini dapat
disesuaikan dengan menetapkan atribut pada PlayerView
(yang akan diteruskan ke
PlayerControlView
) atau menyediakan pengontrol kustom dengan
android:id="@id/exo_controller
.
Pilih 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
(untuk rendering video menggunakan
perender ekstensi), dan none
(hanya untuk pemutaran audio). Informasi selengkapnya tentang
jenis platform yang harus dipilih dapat ditemukan di halaman Platform.