问题描述
所以我用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 (将#修改为@)