mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
[demo-compose] Initialize the Player outside of Compose
PiperOrigin-RevId: 705533932
This commit is contained in:
parent
beda44520a
commit
e0496ff88d
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user