Код: Выделить всё
fun StartVideo() {
var videoIndex by remember{ mutableStateOf(1) }
val videoUri="https://example.com/video-"+videoIndex+".mp4";
val context = LocalContext.current
// Initialize ExoPlayer
val exoPlayer = remember{ ExoPlayer.Builder(context).build() }
// Create a MediaSource
val mediaSource = remember(videoUri) {
MediaItem.fromUri(videoUri)
}
// Set MediaSource to ExoPlayer
LaunchedEffect(mediaSource) {
exoPlayer.setMediaItem(mediaSource)
exoPlayer.prepare()
exoPlayer.playWhenReady=true
exoPlayer.addListener(
object: Player.Listener{
override fun onPlaybackStateChanged(state: Int) {
if (state == ExoPlayer.STATE_ENDED) {
Log.d("Video","Stopped Playing")
if(videoIndex!=2) {
videoIndex++
}
else {
videoIndex=1
Log.d("Video","Set to 1")
}
}
}
}
)
}
// Manage lifecycle events
DisposableEffect(Unit) {
onDispose {
exoPlayer.release()
}
}
// Use AndroidView to embed an Android View (PlayerView) into Compose
AndroidView(
factory = { ctx ->
PlayerView(ctx).apply {
player = exoPlayer
useController = true
}
},
modifier = Modifier
.fillMaxWidth()
.height(150.dp)
)
Остановлено воспроизведение
Остановлено воспроизведение
Установлено значение 1
Остановлено воспроизведение
После печати не должно быть вывода «Остановлено воспроизведение». Установлено значение 1. Но почему он это делает?
Подробнее здесь: https://stackoverflow.com/questions/784 ... pack-compo