Даже если запрос PRELOAD
начинает буферизовать следующий элемент вашей очереди, чтобы сократить время загрузки следующего клипа, воспроизведение никогда не бывает «бесшовным».
Каждый раз, когда поступает фактический запрос LOAD
, проигрыватель (по умолчанию) переключается в состояние BUFFERING
и отображает соответствующий пользовательский интерфейс, пока не вернется к PLAYING
Рекомендации Google по UX для автозапуска совершенно ясно, как пользовательский интерфейс должен вести себя при воспроизведении очередей, и вы можете придерживаться этого, если хотите опубликовать свое приложение. Это, как говорится:
Посмотрите на свой HTML - используете ли вы пользовательские теги <cast-media-player></cast-media-player>
? Вы можете использовать CSS, чтобы установить внешний вид всех состояний приложения. Подробности смотрите в документации .
--buffering-image
и --spinner-image
- это настраиваемые элементы, которые вы можете изменить здесь. Опять же: они всегда будут появляться, когда игрок переходит в состояние буферизации, поэтому вам придётся придумать что-то менее тревожное, чем вращатель и изображение по умолчанию: может, черный экран?
Кроме того, вы не можете просто использовать CSS, чтобы избавиться от них: когда воспроизведение инициализировано и очередь построена, вы, скорее всего, все равно захотите их показать - поэтому полное их отключение не вариант.
Самое сложное - найти подходящие события , чтобы отключить и снова включить их:
Рассмотрим MediaFinishedEvent , чтобы отключить их, и, возможно, событие PLAYER_LOAD_COMPLETE
, чтобы восстановить их значение по умолчанию.
(Событие BUFFERING также могло бы работать, но было очень ненадежным, когда я пытался его использовать.)