Skip to content

Instantly share code, notes, and snippets.

@halilozercan
Last active August 3, 2020 08:31
Show Gist options
  • Save halilozercan/500d365cc7b965603ea4409f00f0930c to your computer and use it in GitHub Desktop.
Save halilozercan/500d365cc7b965603ea4409f00f0930c to your computer and use it in GitHub Desktop.
@Composable
fun PlayPauseButton(modifier: Modifier = Modifier) {
val controller = PlayerControllerAmbient.current
val isPlaying by controller.isPlaying.collectAsState()
val playbackState by controller.playbackState.collectAsState()
IconButton(
onClick = { controller.playPause() },
modifier = Modifier + modifier
) {
if (isPlaying) {
Icon(Icons.Filled.Pause)
} else {
when (playbackState) {
ExoPlayer.STATE_ENDED -> {
Icon(Icons.Filled.Restore)
}
ExoPlayer.STATE_BUFFERING -> {
CircularProgressIndicator()
}
else -> {
Icon(Icons.Filled.PlayArrow)
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment