androidx.media3のExo Playerで動画再生を試してみました
media3の最新バージョンは1.2.0-alpha01で安定版は1.1.1です
現時点ではdeveloperの説明の日本語版は更新されてないので英語版で確認してください
https://developer.android.com/jetpack/androidx/releases/media3
Exo Playerも日本語版は更新されてないので英語版で確認してください
https://developer.android.com/guide/topics/media/exoplayer
StyledPlayerViewはmedia3ではandroidx.media3.ui.PlayerViewに変わったようです
https://developer.android.com/guide/topics/media/exoplayer/mappings#class-renamings
使い方はdevloper blogが参考になるかもです
https://android-developers.googleblog.com/2023/03/media3-is-ready-to-play.html
とりあえず最もシンプルな構成で実装
androidx.media3:media3-exoplayer / androidx.media3:media3-uiをimplementationしてください
動画はdevloperのサンプルで使用されていたもの、アクセスするのにインターネットのパーミッションの設定もしてください
// <uses-permission android:name="android.permission.INTERNET"/>
@Composable
fun VideoPlayerView(modifier: Modifier = Modifier) {
val context = LocalContext.current
val url = "https://storage.googleapis.com/exoplayer-test-media-0/play.mp3"
val exoPlayer = remember {
ExoPlayer.Builder(context).build().apply {
setMediaItem(MediaItem.fromUri(url))
prepare()
play()
}
}
DisposableEffect(
AndroidView(
modifier = modifier,
factory = {
PlayerView(context).apply {
player = exoPlayer
}
}
)
) {
onDispose {
exoPlayer.release()
}
}
}
Android Studio Giraffe 2022.3.1 Patch 1 built on August 17, 2023