Мне нужно показать переключатель воспроизведения / остановки вместо кнопки воспроизведения / паузы, когда мы транслируем живой контент в Chromecast, но нам все еще нужна игра / пауза при трансляции других видео.
Я установил кнопки приведения миниконтроллера на пользовательскую кнопку, в которой в onResume я вызывал свою функцию, которая связывала различные рисованные объекты в зависимости от того, что было кастировано. Проблема в том, что когда я переключаю видео на живое (или наоборот) на странице с уже показывающим мини-контроллером, оно больше не вызывает onResume (это справедливо), и на нем остаются те же кнопки. Я не знаю, есть ли другое событие внутри мини-контроллера, которое я могу использовать. Я пытаюсь использовать SessionManagerListener и UiController для привязки своих функций к определенным событиям, но у них обоих были проблемы (возможно, я что-то сделал не так, не знаю).
Моя функция:
fun checkButton() {
activity?.let {
val mCastContext = CastContext.getSharedInstance(activity!!.baseContext)
val mCastSession = mCastContext.sessionManager.currentCastSession
if (mCastSession?.remoteMediaClient?.currentItem != null) {
val drawablePlay = ContextCompat.getDrawable(it, R.drawable.cast_ic_mini_controller_play)
val drawableStop = ContextCompat.getDrawable(it, R.drawable.cast_ic_mini_controller_stop)
uiMediaController.bindImageViewToPlayPauseToggle(button, drawablePlay!!, drawableStop!!, drawableStop, ProgressBar(it), false)
}
}
}
Я ожидаю вызывать свою функцию каждый раз, когда загружается мини-контроллер или что-то в этом роде.
Спасибо!