ExoPlayer 监听播放器播放完成 播放孔娜

  • Post author:
  • Post category:其他
    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)