Как играть без «загрузки» экрана в CAF custom player.(HLS с QueueData) - PullRequest
2 голосов
/ 28 мая 2019

Я хочу плавное воспроизведение нескольких видеоконтентов. (HLS / с использованием queueData)

предварительная загрузка работает! но когда видео меняется, отображается экран «загрузки».

Как воспроизвести экран без «загрузки» в пользовательском проигрывателе CAF?

1 Ответ

1 голос
/ 01 июня 2019

Даже если запрос PRELOAD начинает буферизовать следующий элемент вашей очереди, чтобы сократить время загрузки следующего клипа, воспроизведение никогда не бывает «бесшовным».

Каждый раз, когда поступает фактический запрос LOAD, проигрыватель (по умолчанию) переключается в состояние BUFFERING и отображает соответствующий пользовательский интерфейс, пока не вернется к PLAYING

Рекомендации Google по UX для автозапуска совершенно ясно, как пользовательский интерфейс должен вести себя при воспроизведении очередей, и вы можете придерживаться этого, если хотите опубликовать свое приложение. Это, как говорится:

Посмотрите на свой HTML - используете ли вы пользовательские теги <cast-media-player></cast-media-player>? Вы можете использовать CSS, чтобы установить внешний вид всех состояний приложения. Подробности смотрите в документации .

--buffering-image и --spinner-image - это настраиваемые элементы, которые вы можете изменить здесь. Опять же: они всегда будут появляться, когда игрок переходит в состояние буферизации, поэтому вам придётся придумать что-то менее тревожное, чем вращатель и изображение по умолчанию: может, черный экран?

Кроме того, вы не можете просто использовать CSS, чтобы избавиться от них: когда воспроизведение инициализировано и очередь построена, вы, скорее всего, все равно захотите их показать - поэтому полное их отключение не вариант. Самое сложное - найти подходящие события , чтобы отключить и снова включить их:

Рассмотрим MediaFinishedEvent , чтобы отключить их, и, возможно, событие PLAYER_LOAD_COMPLETE, чтобы восстановить их значение по умолчанию. (Событие BUFFERING также могло бы работать, но было очень ненадежным, когда я пытался его использовать.)

...