종속 항목 추가
Kotlin
implementation("androidx.media3:media3-ui:1.7.1")
Groovy
implementation "androidx.media3:media3-ui:1.7.1"
PlayerView
가장 중요한 구성요소는 미디어 재생을 위한 뷰인 PlayerView
입니다.
PlayerView
에는 재생 중에 동영상, 이미지, 자막, 앨범 아트를 비롯해 재생 컨트롤이 표시됩니다.
PlayerView
에는 Player
인스턴스를 연결하고 분리하는 (null
전달) setPlayer()
메서드가 있습니다.
PlayerView
는 동영상, 이미지, 오디오 재생에 모두 사용할 수 있습니다. 동영상 재생의 경우 동영상과 자막을 렌더링하고, 이미지 재생의 경우 비트맵을 렌더링하며, 오디오 파일에 메타데이터로 포함된 아트워크를 표시할 수 있습니다. 다른 UI 구성요소와 마찬가지로 레이아웃 파일에 포함할 수 있습니다. 예를 들어 PlayerView
는 다음 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"/>
위 스니펫은 PlayerView
가 여러 속성을 제공한다는 것을 보여줍니다.
이러한 속성을 사용하여 뷰의 동작과 모양 및 느낌을 맞춤설정할 수 있습니다. 이러한 속성의 대부분에는 런타임에 뷰를 맞춤설정하는 데 사용할 수 있는 setter 메서드가 있습니다. PlayerView
문서에는 이러한 속성과 setter 메서드가 자세히 나와 있습니다.
더 편안한 사용자 환경을 위해 ExoPlayer를 사용하는 경우 keepScreenOn
Android 속성을 추가하거나 절전 모드 해제 잠금을 설정하는 것이 좋습니다. 백그라운드 작업 페이지에서 기기를 절전 모드로 전환하지 않는 다른 작업을 조사할 수 있습니다.
android:keepScreenOn="true"
뷰가 레이아웃 파일에 선언되면 활동의 onCreate
메서드에서 조회할 수 있습니다.
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // ... playerView = findViewById(R.id.player_view) }
자바
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // ... playerView = findViewById(R.id.player_view); }
플레이어가 초기화되면 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()
자바
// 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
는 재생을 제어하는 진행률 표시줄과 버튼이 포함된 PlayerView
하위 뷰 중 하나입니다. PlayerControlView
는 PlayerView
외부에서 독립형 구성요소로 사용하기 위한 것이 아닙니다. PlayerView
에 속성을 설정하여 (PlayerControlView
에 전달됨) 맞춤설정하거나 android:id="@id/exo_controller
로 맞춤 컨트롤러를 제공할 수 있습니다.
표면 유형 선택
PlayerView
의 surface_type
속성을 사용하면 동영상 재생에 사용되는 화면 유형을 설정할 수 있습니다. 허용되는 값은 surface_view
, texture_view
, spherical_gl_surface_view
(구형 동영상 재생의 특수 값), video_decoder_gl_surface_view
(확장 프로그램 렌더러를 사용한 동영상 렌더링용), none
(오디오 재생 전용)입니다. 선택할 플랫폼 유형에 대한 자세한 내용은 플랫폼 페이지를 참고하세요.