Как изменить кнопку MiniController, если есть прямая трансляция - PullRequest
1 голос
/ 04 июня 2019

Мне нужно показать переключатель воспроизведения / остановки вместо кнопки воспроизведения / паузы, когда мы транслируем живой контент в 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)
        }
    }
}

Я ожидаю вызывать свою функцию каждый раз, когда загружается мини-контроллер или что-то в этом роде.

Спасибо!

1 Ответ

0 голосов
/ 05 июня 2019

Нашел ... выглядит как uiMediaController.bindImageViewToPlayPauseToggle уже делает это автоматически, он уже имеет логику для использования кнопки остановки, когда идет потоковая передача ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...