微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Exoplayer的流意外结束,STATE_ENDED

如何解决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 举报,一经查实,本站将立刻删除。