From 009f7360c548d89aa2bfae0ae495f0cc5e594b71 Mon Sep 17 00:00:00 2001 From: jbibik Date: Mon, 10 Jun 2024 01:48:49 -0700 Subject: [PATCH] Remember Player instance on recompositions PiperOrigin-RevId: 641823733 --- .../main/java/androidx/media3/demo/compose/MainActivity.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/demos/compose/src/main/java/androidx/media3/demo/compose/MainActivity.kt b/demos/compose/src/main/java/androidx/media3/demo/compose/MainActivity.kt index 0f37a2a40d..07dc6e1212 100644 --- a/demos/compose/src/main/java/androidx/media3/demo/compose/MainActivity.kt +++ b/demos/compose/src/main/java/androidx/media3/demo/compose/MainActivity.kt @@ -22,6 +22,7 @@ import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.material3.Surface +import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext @@ -41,13 +42,15 @@ class MainActivity : ComponentActivity() { verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally, ) { - val exoPlayer = - ExoPlayer.Builder(LocalContext.current).build().apply { + val context = LocalContext.current + val exoPlayer = remember { + ExoPlayer.Builder(context).build().apply { setMediaItem(MediaItem.fromUri(videos[0])) prepare() playWhenReady = true repeatMode = Player.REPEAT_MODE_ONE } + } PlayerSurface( player = exoPlayer, surfaceType = SURFACE_TYPE_SURFACE_VIEW,