Görünümlere dayalı kullanıcı arayüzünü kullanmaya başlama

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.