Bağımlılığı ekleme
Kotlin
implementation("androidx.media3:media3-ui:1.6.0")
Groovy
implementation "androidx.media3:media3-ui:1.6.0"
PlayerView
En önemli bileşen, medya oynatma için bir görünüm olan PlayerView
'dir.
PlayerView
, oynatma sırasında video, resim, altyazı ve albüm kapağının yanı sıra oynatma kontrollerini gösterir.
PlayerView
, Player
örneklerini eklemek ve kaldırmak (null
ile) için setPlayer()
yöntemine sahiptir.
PlayerView
hem video, resim hem de ses oynatmaları için kullanılabilir. Video oynatma durumunda video ve altyazı, resim oynatma durumunda bitmap oluşturur ve ses dosyalarına meta veri olarak eklenen posterleri görüntüleyebilir. Diğer kullanıcı arayüzü bileşenleri gibi, bu bileşeni de düzen dosyalarınıza ekleyebilirsiniz. Örneğin, aşağıdaki XML'e bir PlayerView
dahil edilebilir:
<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"/>
Yukarıdaki snippet, PlayerView
'ün çeşitli özellikler sağladığını göstermektedir.
Bu özellikler, görünümün davranışının yanı sıra görünümünü ve tarzını özelleştirmek için kullanılabilir. Bu özelliklerin çoğu, görünümü çalışma zamanında özelleştirmek için kullanılabilecek karşılık gelen ayarlama yöntemlerine sahiptir. PlayerView
dokümanlarında bu özellikler ve ayarlama yöntemleri daha ayrıntılı olarak listelenir.
Görünüm, düzen dosyasında tanımlandıktan sonra etkinliğin onCreate
yönteminde aranabilir:
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); }
Bir oynatıcı başlatıldıktan sonra setPlayer
çağrılarak görünüme eklenebilir:
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
, ilerleme çubuğunu ve oynatmayı kontrol etmek için düğmeleri içeren PlayerView
alt görünümlerinden biridir. PlayerControlView
'ün, PlayerView
dışında bağımsız bir bileşen olarak kullanılmak üzere tasarlanmadığını unutmayın. PlayerView
üzerinde özellikler ayarlanarak (PlayerControlView
'a iletilecek) veya android:id="@id/exo_controller
ile özel bir denetleyici sağlanarak özelleştirilebilir.
Yüzey türü seçin
PlayerView
öğesinin surface_type
özelliği, video oynatma için kullanılan yüzey türünü ayarlamanıza olanak tanır. İzin verilen değerler surface_view
, texture_view
, spherical_gl_surface_view
(küresel video oynatma için özel bir değerdir), video_decoder_gl_surface_view
(uzantı oluşturma araçları kullanılarak video oluşturma içindir) ve none
(yalnızca ses oynatma içindir). Hangi yüzey türünü seçeceğiniz hakkında daha fazla bilgiyi Yüzey sayfasında bulabilirsiniz.