Exoplayer的流意外结束,STATE_ENDED

问题描述

所以我用exoplayer创建了一个android媒体应用。但是,我购买的一些官方流媒体链接在exoplayer实例上给了我意外的Player.STATE_ENDED

在播放到Player.STATE_ENDED并且流停止播放之前,该流播放得很好,没有缓冲并且质量很高。 我在Play商店中发现的其他一些应用可以播放流,而不会出现此问题。

我已经找到一种解决方法,可以使用seekToDefaultPosition()尽快恢复播放,但是每5-10分钟观看一次会很烦人。这是我的exoplayer初始化程序代码

        try{
            val loadControl = makeCustomloadControl()
            player = SimpleExoPlayer.Builder(requireContext())
                .setLoadControl(loadControl)
                .build()

            player.addListener(object: Player.EventListener{
                override fun onPlayerStateChanged(playWhenReady: Boolean,playbackState: Int) {
                    when(playbackState){
                        Player.STATE_BUFFERING -> Log.e("Playback State: ","Buffering")
                        Player.STATE_READY -> Log.e("Playback State: ","Ready")
                        Player.STATE_IDLE -> Log.e("Playback State: ","Idle")
                        Player.STATE_ENDED -> {
                            Log.e("Playback State: ","Ended")
                            player.seekToDefaultPosition()
                        }
                        else -> Log.e("Playback State: ","UnkNows state.")
                    }
                }
            })

            player.videoScalingMode = C.VIDEO_SCALING_MODE_SCALE_TO_FIT
            playerView.player = player
            player.playWhenReady = true
            playerView.resizeMode = AspectRatioFrameLayout.RESIZE_MODE_FILL
        }
        catch(e: Exception){
            e.printstacktrace()
        }
    }

反正我可以让exoplayer停止听流的结尾并继续播放吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)