开始多人协作

This commit is contained in:
2024-07-12 15:54:09 +08:00
parent 77ad6dfe16
commit f521346c07
2 changed files with 27 additions and 2 deletions

View File

@@ -90,10 +90,10 @@ fun NavigationController(navController: NavHostController){
navController = navController,
startDestination = NavigationItem.Home.route,
enterTransition = {
fadeIn(animationSpec = tween(300))
fadeIn(animationSpec = tween(0))
},
exitTransition = {
fadeOut(animationSpec = tween(300))
fadeOut(animationSpec = tween(0))
}){
composable(route = NavigationItem.Home.route){
Home()

View File

@@ -35,6 +35,7 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
@@ -42,6 +43,8 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.compose.ui.viewinterop.AndroidView
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import androidx.media3.common.C
import androidx.media3.common.MediaItem
import androidx.media3.common.Player
@@ -131,6 +134,7 @@ fun VideoPlayer(
) {
val context = LocalContext.current
val scope= rememberCoroutineScope()
val lifecycleOwner = LocalLifecycleOwner.current
val exoPlayer = remember {
ExoPlayer.Builder(context)
@@ -214,6 +218,27 @@ fun VideoPlayer(
}
}
DisposableEffect(lifecycleOwner) {
val observer = LifecycleEventObserver { _, event ->
when (event) {
Lifecycle.Event.ON_PAUSE -> {
exoPlayer.pause() // 应用进入后台时暂停
}
Lifecycle.Event.ON_RESUME -> {
if (pager == pagerState.currentPage) {
exoPlayer.play() // 返回前台且为当前页面时恢复播放
}
}
else -> {}
}
}
lifecycleOwner.lifecycle.addObserver(observer)
onDispose {
lifecycleOwner.lifecycle.removeObserver(observer)
}
}
}
Box(modifier = Modifier.fillMaxSize(),