Bağımlılığı ekleme
Kotlin
implementation("androidx.media3:media3-ui:1.7.1")
Groovy
implementation "androidx.media3:media3-ui:1.7.1"
PlayerView
En önemli bileşen, medya oynatma 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 de gösterir.
PlayerView
, setPlayer()
yöntemini kullanarak Player
örneklerini ekleyip ayırabilir (null
ileterek).
PlayerView
, hem video hem de resim ve ses oynatma için kullanılabilir. Video oynatma sırasında video ve altyazıları, resim oynatma sırasında bit eşlemleri oluşturur ve ses dosyalarına meta veri olarak eklenen albüm kapaklarını gösterebilir. Bu bileşeni, diğer kullanıcı arayüzü bileşenleri gibi düzen dosyalarınıza ekleyebilirsiniz. Örneğin, PlayerView
aşağıdaki XML ile birlikte kullanılabilir:
<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
öğesinin çeşitli özellikler sağladığını gösterir.
Bu özellikler, görünümün davranışını ve görünümünü özelleştirmek için kullanılabilir. Bu özelliklerin çoğunun, görünümü çalışma zamanında özelleştirmek için kullanılabilecek ilgili ayarlayıcı yöntemleri vardır. PlayerView
belgelerinde
bu özellikler ve ayarlayıcı yöntemleri daha ayrıntılı olarak listelenir.
Daha rahat bir kullanıcı deneyimi için ExoPlayer kullanıyorsanız keepScreenOn
Android
özelliğini eklemeyi veya uyandırma kilidi ayarlamayı düşünebilirsiniz. Cihazın uyanık kalmasına neden olan diğer işlemleri arka plan çalışması sayfalarında inceleyebilirsiniz.
android:keepScreenOn="true"
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
, oynatmayı kontrol etmek için ilerleme çubuğunu ve düğmeleri içeren PlayerView
alt görünümlerinden biridir. PlayerControlView
'nın PlayerView
dışında bağımsız bir bileşen olarak kullanılmasının amaçlanmadığını unutmayın. PlayerView
üzerinde özellikler ayarlayarak (PlayerControlView
'ye aktarılacak) veya android:id="@id/exo_controller
ile özel bir denetleyici sağlayarak özelleştirilebilir.
Yüzey türü seçin
PlayerView
öğesinin surface_type
özelliği, video oynatma için kullanılan yüzeyin 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şturucular kullanılarak video oluşturma için) ve none
(yalnızca ses oynatma için) değerleridir. Hangi yüzey türünün seçileceği hakkında daha fazla bilgiyi Yüzey sayfasında bulabilirsiniz.