Puis-je obtenir un jeton de session média d'ExoPlayer pour le style de média de notification ?
Réponse
Trop de publicités?Vous pouvez utiliser cet extrait de code pour obtenir le jeton de session média de l'instance du lecteur Exo :
class SimpleSessionCallback(val simpleExoPlayer: SimpleExoPlayer) :
MediaSessionCompat.Callback() {
override fun onPlay() {
simpleExoPlayer.playWhenReady = true
}
override fun onPause() {
simpleExoPlayer.playWhenReady = false
}
override fun onSkipToPrevious() {
simpleExoPlayer.seekTo(0)
}
}
val playBackStateBuilder = PlaybackStateCompat.Builder().setActions(
PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS or
PlaybackStateCompat.ACTION_REWIND or
PlaybackStateCompat.ACTION_PLAY or
PlaybackStateCompat.ACTION_PAUSE or
PlaybackStateCompat.ACTION_FAST_FORWARD
)
val mediaSession = MediaSessionCompat(context, context.packageName)
mediaSession.setPlaybackState(playBackStateBuilder.build())
mediaSession.setCallback(SimpleSessionCallback(exoPlayerInstance))
mediaSession.isActive = true
// You can use [mediaSession.sessionToken] for Notification Media Style
Pour une mise en œuvre détaillée, consultez l'exemple de uamp Android sur GitHub. ici