Мне нужно отлавливать ошибки, выдаваемые exoplayer, когда нет ввода или плохой поток. Если нет входной активности, показывающей игрока с элементами управления, ничего не отображается. когда нет входного источника hls, мне нужно показать диалоговое окно оповещения о том, что потоковая передача отключена. Как этого добиться. Пожалуйста помоги.
class playlive : AppCompatActivity() {
private var player: SimpleExoPlayer? = null
private var playerView: PlayerView? = null
private var playWhenReady = true
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_playlive)
playerView = findViewById(R.id.player_view)
play()
}
private fun play(){
val trackSelector = DefaultTrackSelector()
trackSelector.setParameters(trackSelector.buildUponParameters().setMaxVideoSizeSd())
player = ExoPlayerFactory.newSimpleInstance(this, trackSelector)
playerView!!.player = player
val dataSourceFactory = DefaultHttpDataSourceFactory(Util.getUserAgent(this, "app-name"))
val uri = Uri.parse("http://localhost:1935/live/mystream/index.m3u8")
val hlsMediaSource = HlsMediaSource.Factory(dataSourceFactory).createMediaSource(uri)
player!!.playWhenReady = playWhenReady
player!!.prepare(hlsMediaSource)
}
override fun onStop() {
super.onStop()
releasePlayer()
}
override fun onResume() {
super.onResume()
releasePlayer()
resumePlayer()
}
override fun onDestroy() {
super.onDestroy()
releasePlayer()
}
private fun releasePlayer(){
player?.release()
}
private fun resumePlayer(){
play()
}
}```