Dodawanie zależności
Kotlin
implementation("androidx.media3:media3-ui:1.8.0")
Groovy
implementation "androidx.media3:media3-ui:1.8.0"
PlayerView
Najważniejszym komponentem jest PlayerView, czyli widok odtwarzania multimediów.
PlayerView wyświetla film, obrazy, napisy i okładkę albumu podczas odtwarzania, a także elementy sterujące odtwarzaniem.
PlayerView ma metodę setPlayer() do dołączania i odłączania instancji (przez przekazywanie null) Player.
PlayerView można używać do odtwarzania filmów, obrazów i plików audio. W przypadku odtwarzania wideo wyświetla wideo i napisy, w przypadku odtwarzania obrazów – mapy bitowe, a w przypadku odtwarzania plików audio – okładki dołączone jako metadane. Możesz go uwzględnić w plikach układu tak samo jak każdy inny komponent interfejsu. Na przykład element PlayerView
może być zawarty w tym kodzie XML:
<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"/>
Fragment powyżej pokazuje, że PlayerView udostępnia kilka atrybutów.
Atrybuty te można wykorzystać do dostosowania działania widoku, a także jego wyglądu. Większość tych atrybutów ma odpowiednie metody ustawiające, których można używać do dostosowywania widoku w czasie działania programu. Więcej informacji o tych atrybutach i metodach ustawiających znajdziesz w PlayerViewdokumentacji.
Aby zapewnić użytkownikom większy komfort, rozważ dodanie atrybutu keepScreenOn Android lub ustawienie blokady wybudzania, jeśli używasz ExoPlayera. Inne działania, które utrzymują urządzenie w stanie aktywności, możesz sprawdzić na stronach dotyczących pracy w tle.
android:keepScreenOn="true"
Po zadeklarowaniu widoku w pliku układu można go wyszukać w metodzie onCreate działania:
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); }
Po zainicjowaniu odtwarzacza można go dołączyć do widoku, wywołując: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 to jeden z PlayerView podrzędnych widoków, który zawiera pasek postępu i przyciski sterujące odtwarzaniem. Pamiętaj, że element PlayerControlView nie jest przeznaczony do używania jako samodzielny komponent poza elementem PlayerView. Można go dostosować, ustawiając atrybuty w PlayerView (które zostaną przekazane do PlayerControlView) lub podając niestandardowy kontroler z android:id="@id/exo_controller.
Wybierz typ powierzchni
Atrybut surface_type elementu PlayerView umożliwia ustawienie typu powierzchni używanej do odtwarzania filmu. Dozwolone wartości to surface_view, texture_view, spherical_gl_surface_view (wartość specjalna w przypadku odtwarzania filmów sferycznych), video_decoder_gl_surface_view (w przypadku renderowania filmów za pomocą renderów rozszerzeń) i none (w przypadku odtwarzania tylko dźwięku). Więcej informacji o tym, jaki typ platformy wybrać, znajdziesz na stronie Platforma.
