val mMediaListener = object : Player.Listener {
//播放状态变化
override fun onPlaybackStateChanged(playbackState: Int) {
when (playbackState) {
//空闲 播放器没有可播放的媒体。
Player.STATE_IDLE -> mediaControl.onMediaIdle()
//需要加载 放器无法立即从当前位置开始播放。这种状态通常需要加载更多数据时发生。
Player.STATE_BUFFERING -> mediaControl.onMediaBuffering()
//准备好 可以播放 播放器可以立即从当前位置开始播放。如果{@link#getPlayWhenReady()}为true,否则暂停。
//当点击暂停或者播放时都会调用此方法
//当跳转进度时,进度加载完成后调用此方法
Player.STATE_READY -> mediaControl.onMediaPrepare()
//结束 播放器完成了播放
Player.STATE_ENDED -> mediaControl.onMediaCompletion()
}
super.onPlaybackStateChanged(playbackState)
}
val playerControl = ExoPlayer
.Builder(LocalContext.current)
.build()
playerControl.addListener(mMediaListener)