[demo-compose] Initialize the Player outside of Compose

PiperOrigin-RevId: 705533932
This commit is contained in:
jbibik 2024-12-12 09:36:54 -08:00 committed by Copybara-Service
parent beda44520a
commit e0496ff88d

View File

@ -33,9 +33,7 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.media3.common.MediaItem import androidx.media3.common.MediaItem
import androidx.media3.common.Player import androidx.media3.common.Player
import androidx.media3.demo.compose.buttons.ExtraControls import androidx.media3.demo.compose.buttons.ExtraControls
@ -47,23 +45,23 @@ import androidx.media3.ui.compose.SURFACE_TYPE_SURFACE_VIEW
class MainActivity : ComponentActivity() { class MainActivity : ComponentActivity() {
private lateinit var player: Player
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
enableEdgeToEdge() enableEdgeToEdge()
player = initializePlayer()
setContent { setContent {
val context = LocalContext.current MediaPlayerScreen(player = player, modifier = Modifier.fillMaxSize().navigationBarsPadding())
val exoPlayer = remember { }
ExoPlayer.Builder(context).build().apply { }
private fun initializePlayer(): Player {
return ExoPlayer.Builder(this).build().apply {
setMediaItems(videos.map { MediaItem.fromUri(it) }) setMediaItems(videos.map { MediaItem.fromUri(it) })
prepare() prepare()
} }
} }
MediaPlayerScreen(
player = exoPlayer,
modifier = Modifier.fillMaxSize().navigationBarsPadding(),
)
}
}
} }
@Composable @Composable