Skip to content

Instantly share code, notes, and snippets.

@rubenquadros
Last active August 7, 2022 11:37
Show Gist options
  • Save rubenquadros/f40488218b5fce8461b5f39905b3dae5 to your computer and use it in GitHub Desktop.
Save rubenquadros/f40488218b5fce8461b5f39905b3dae5 to your computer and use it in GitHub Desktop.
Listening to ExoPlayer callbacks
var totalDuration by remember { mutableStateOf(0L) }
var currentTime by remember { mutableStateOf(0L) }
var bufferedPercentage by remember { mutableStateOf(0) }
Box(modifier = Modifier) {
DisposableEffect(key1 = Unit) {
val listener =
object : Player.Listener {
override fun onEvents(player: Player, events: Player.Events) {
super.onEvents(player, events)
totalDuration = player.duration.coerceAtLeast(0L)
currentTime = player.currentPosition.coerceAtLeast(0L)
bufferedPercentage = player.bufferedPercentage
}
}
exoPlayer.addListener(listener)
onDispose {
exoPlayer.removeListener(listener)
exoPlayer.release()
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment