MediaControllerCompat#transportControlsでリピート、シャッフル操作する
投稿日 : | 0 日前
文字数(だいたい) : 959
Android
Kotlin
本当かどうかは知りませんがメモとして置いておきます。
本題
Fragment/Activityに紐づけしたMediaControllerCompatで
transportControls.setRepeatMode()やtransportControls.setShuffleMode()を呼んだのに、
repeatModeやshuffleModeが変わらない問題
解決方法
private val callback = object : MediaSessionCompat.Callback() {
/** リピートモード変更 */
override fun onSetRepeatMode(repeatMode: Int) {
super.onSetRepeatMode(repeatMode)
// もしかして:この一行必須?
mediaSessionCompat.setRepeatMode(repeatMode)
if (repeatMode == PlaybackStateCompat.REPEAT_MODE_ALL) {
// 無限ループループする
exoPlayer.repeatMode = Player.REPEAT_MODE_ALL
} else {
// 同じ曲を何回も聞く。
exoPlayer.repeatMode = Player.REPEAT_MODE_ONE
}
}
}
mediaSessionCompat.setRepeatMode(repeatMode)を呼んだら直った