Когда контент передается на веб-приемник, пользователь всегда должен иметь возможность управлять им из приложения-отправителя.
Примечание . В соответствии с дополнительными условиями использования Google Cast SDK для разработчиков мультимедийное приложение Cast должно использовать API-интерфейсы управления воспроизведением ( сообщения воспроизведения мультимедиа ), определенные для SDK, для управления воспроизведением мультимедиа на веб-приемнике.
Приложения Sender должны предоставлять элементы управления Cast в следующих областях:
- Диалог каста во время кастинга
- Регуляторы громкости отправителя
- Расширенный контроллер отправителя
- Мини-контроллер отправителя
- Уведомление отправителя
- Экран блокировки отправителя
Статус воспроизведения Cast в приложении-отправителе и элементы управления в этих областях должны быть синхронизированы с изменениями воспроизведения, происходящими на веб-приемнике, даже если они не инициированы приложением-отправителем. Это позволит правильно обрабатывать как команды с несколькими отправителями, так и управление воспроизведением с пультов дистанционного управления, кнопок и т. д. устройства.
Андроид
Диалоговые элементы управления трансляцией
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-cast-menu-active1.png?authuser=6&hl=ru)
Мини-контроллер
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-persistent-control1.png?authuser=6&hl=ru)
Элементы управления уведомлениями
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-control-notification1.png?authuser=6&hl=ru)
Элементы управления на заблокированном экране
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-control-lockscreen1.png?authuser=6&hl=ru)
iOS
Диалоговые элементы управления трансляцией
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/i/sender-cast-menu-active1.png?authuser=6&hl=ru)
Мини-контроллер
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/i/sender-persistent-control1.png?authuser=6&hl=ru)
Хром
Диалоговые элементы управления трансляцией
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/w/sender-cast-menu-active1.jpg?authuser=6&hl=ru)
Мини-контроллер
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/w/sender-persistent-control1.jpg?authuser=6&hl=ru)
Регуляторы громкости отправителя
Приложение-отправитель должно позволять пользователям управлять громкостью контента, воспроизводимого на телевизоре или динамиках, с помощью аппаратных кнопок громкости и/или программного ползунка громкости на отправляющем устройстве. Они контролируют одно из следующих действий:
- Уровень звука, передаваемый на телевизор для устройств Google Cast, таких как Chromecast.
- Фактическая громкость телевизора/динамика для телевизоров с Google Cast, телевизоров со встроенным Android TV и интеллектуальных динамиков.
Необходимый
Приложение- отправитель должно позволять пользователям управлять громкостью контента, воспроизводимого на телевизоре или динамиках, с помощью аппаратных кнопок громкости и/или программного ползунка громкости на отправляющем устройстве.
- Android: поддержка как аппаратных кнопок, так и программного регулятора громкости обязательна.
- iOS: программный ползунок громкости обязателен.
- Интернет/Chrome: поддержка программного регулятора громкости обязательна.
B На мобильном устройстве во время трансляции в диалоговом окне трансляции должен быть доступен программный ползунок громкости.
C Ползунок громкости в приложении-отправителе должен синхронизироваться с текущим уровнем громкости веб-приемника после подключения к веб-приемнику и оставаться синхронизированным.
D Ползунок громкости в приложении-отправителе должен отражать изменения громкости, внесенные другими отправителями или пультом дистанционного управления приложением Chromecast.
Приложения E Sender никогда не должны устанавливать громкость на заранее определенный уровень, они должны передавать только изменения громкости, инициированные пользователем.
F Только для Android: при использовании аппаратных кнопок для изменения уровня громкости на веб-приемнике при нажатии аппаратных кнопок громкости должен появляться визуальный ползунок громкости (со значком Cast слева от него). Примечание. Для Android Gingerbread (версия 2.3) значок трансляции не отображается.
Лучшие практики
- Приращения объема:
- Android: платформа автоматически увеличивает громкость.
- iOS и Chrome: для аппаратных кнопок громкости используйте приращения, не превышающие 5 % от полного диапазона громкости устройства веб-приемника для аудио/видеоустройств, и приращения, равные 2 % от полного диапазона громкости устройства веб-приемника для аудио-/видеоустройств. только устройства.
Расширенный контроллер отправителя
Приложение-отправитель должно предоставить расширенный контроллер для транслируемого контента.
Необходимый
Определите транслируемый контент, отобразив заголовок или иллюстрацию контента.
B Перед началом воспроизведения отобразите индикатор загрузки и заголовок содержимого или иллюстрацию.
C Когда содержимое начнется, определите состояние веб-приемника.
D Обеспечьте соответствующие меры контроля.
E В левом конце полосы поиска отображается текущее время воспроизведения.
Справа отобразите общую продолжительность трансляции, если она известна, и если это не прямая трансляция.
F Скрыть элементы управления, не относящиеся к кастингу.
G Не отключайте и не останавливайте трансляцию, когда пользователи уходят от расширенного контроллера.
H Обеспечьте простой путь обратно к расширенному контроллеру, когда пользователи уйдут.
Лучшие практики
- Предоставьте ползунок позиции воспроизведения для медиапотоков.
- Отображайте другие значимые изображения и метаданные, связанные с контентом.
- Определите прошедшее время и продолжительность контента для медиапотоков.
Андроид
Загрузка контента отправителя
![Загрузка контента отправителя](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-control-elements1_a.png?authuser=6&hl=ru)
Загрузка содержимого приемника
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-loading1.gif?authuser=6&hl=ru)
Содержимое отправителя воспроизводится
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-control-elements2_a.png?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
iOS
Загрузка контента отправителя
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/i/sender-control-elements1_a.gif?authuser=6&hl=ru)
Загрузка содержимого веб-приемника
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-loading1.gif?authuser=6&hl=ru)
Содержимое отправителя воспроизводится
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/i/sender-control-elements2_a.png?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
Хром
Загрузка контента отправителя
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/w/sender-control-elements1_a.gif?authuser=6&hl=ru)
Загрузка содержимого веб-приемника
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-loading1.gif?authuser=6&hl=ru)
Содержимое отправителя воспроизводится
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/w/sender-control-elements2_a.jpg?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
Мини-контроллер отправителя
Небольшой постоянный элемент управления, известный как мини-контроллер, должен появляться во время приведения, когда пользователь переходит от текущей страницы контента или расширенного контроллера к другому представлению в приложении-отправителе. Мини-контроллер является видимым напоминанием о текущем актерском составе и обеспечивает мгновенный доступ к нему.
Необходимый
Панель или поле, отображающее трансляцию, отображается в нижней части приложения-отправителя. Эти элементы управления сохраняются, пока пользователь просматривает другой контент или разделы приложения.
Б. Элементы управления работают лучше всего, когда они просты и сообщают о том, что происходит.
C Доступно на всех экранах приложения (кроме расширенной страницы контроллера).
D При нажатии на область содержимого открывается расширенный контроллер.
E Обеспечьте любые другие средства контроля, необходимые для немедленных действий.
Лучшие практики
Для удобства пользователя в дополнение к мини-контроллеру предоставьте элементы управления в диалоговом окне трансляции .
Андроид
Мини-контроллер отправителя
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-persistent-control1_a.png?authuser=6&hl=ru)
Содержимое веб-приемника приостановлено
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
iOS
Мини-контроллер отправителя
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/i/sender-persistent-control1_a.png?authuser=6&hl=ru)
Содержимое веб-приемника приостановлено
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
Хром
Мини-контроллер отправителя
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/w/sender-persistent-control1_a.jpg?authuser=6&hl=ru)
Содержимое веб-приемника приостановлено
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
Уведомление отправителя
Обязательно (только для Android)
A. Используйте значок приложения (а не значок Cast) для уведомления в строке состояния.
Б. Определите, какой контент транслируется. Например, отобразить заголовок контента или иллюстрацию.
C Определите, какой веб-приемник осуществляет трансляцию.
D Обеспечьте базовые элементы управления контентом.
E В строке действий укажите «X», чтобы остановить трансляцию и отключиться от веб-приемника.
F При нажатии на логотип приложения, заголовок контента или иллюстрацию должен открыться расширенный контроллер приложения-отправителя.
Примечания
- Только для Android : реализовать уведомления в iOS или Chrome невозможно.
- В Android Gingerbread (версия 2.3) в уведомлениях отображается только значок приложения и текст, а не воспроизведение/пауза или остановка.
- Дополнительные сведения см. в разделе Добавление элементов управления мультимедиа в уведомления .
Андроид
Значок уведомления отправителя
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-control-notification1_a.png?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
Элементы управления уведомлениями отправителя
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-control-notification2_a.png?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
Экран блокировки отправителя
Обязательно (только для Android)
Определите кастинг контента, используя заголовок контента или иллюстрацию.
B Определите, какой веб-приемник осуществляет трансляцию. Обратите внимание: для музыкальных приложений это не требуется.
C Обеспечьте элементы управления воспроизведением.
D Обеспечьте доступ к регулировке громкости с помощью аппаратных кнопок.
Требуется для Android 4.4 KitKat и более поздних версий:
- Значок приложения
- Обложка (например, обложка альбома)
- Укажите в тексте, какой контент транслируется (например, «Слезы стали»).
- Определите, какой веб-приемник осуществляет трансляцию (например, «Гостиная»).
Требуется для Android 4.3 Jelly Bean:
- Обложка (например, обложка альбома)
- Укажите в тексте, какой контент транслируется (например, «Слезы стали»).
- Определите, какой веб-приемник осуществляет трансляцию (например, «Гостиная»).
Примечания
- Только для Android : реализовать уведомления в iOS или Chrome невозможно.
- Элементы управления экраном блокировки необходимы для Android 4.1 и более поздних версий.
- Для разных версий операционной системы Android доступны разные элементы управления, а на экране блокировки могут размещаться только текстовые поля. Как правило, графика и иконография лучше описывают содержание, чем текст.
- Аппаратные кнопки регулировки громкости должны регулировать громкость в приложении-отправителе, когда телефон заблокирован.
- Элемент управления должен использовать компонент платформы:
MediaSession
илиMediaSessionCompat
(для версий 4.4 и 4.3) илиNotification
(для 5.0 и более поздних версий).
Андроид
Элементы управления экраном блокировки отправителя
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-control-lockscreen1_a.png?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
Отправитель возобновляет трансляцию
Подключенное приложение-отправитель должно восстановить свое состояние подключения после неявного отключения (например, при обрыве сети, переходе устройства в спящий режим или разрядке аккумулятора).
Необходимый
О. Если приложение-отправитель неявно отключается (пользователь не остановил трансляцию или не отключился явным образом), то содержимое трансляции должно продолжать воспроизводиться на веб-приемнике. При перезапуске приложения или соединения приложение-отправитель должно восстановить соединение с веб-приемником, пока сеанс веб-приемника остается текущим.
B Кнопка Cast должна вернуться в подключенное состояние.
C Если пользователь нажмет кнопку трансляции до повторного подключения отправителя, отобразится список устройств веб-приемника. Когда пользователь выбирает веб-приемник, транслирующий в данный момент, в приложении-отправителе должен появиться мини- или расширенный контроллер.
Примечания
Приложение Web Receiver также может отключиться и перестать работать из-за сбоя питания или другого внеконтекстного сбоя. Это рассматривается как обычное завершение сеанса, как описано в разделе Sender Stops Cast .
Андроид
Выбор приложения
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-control-resume1_a.png?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
Соединение с трансляцией восстановлено.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-control-resume2_a.png?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
iOS
Выбор приложения
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/i/sender-control-resume1_a.png?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
Соединение с трансляцией восстановлено.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/i/sender-control-resume2_a.png?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
Отправитель прекращает трансляцию
Контент, транслируемый на телевизор, продолжает воспроизводиться до тех пор, пока пользователь не выберет «Остановить трансляцию» или отправитель не транслирует что-то новое. Если к одному веб-приемнику подключено несколько отправителей, каждое приложение-отправитель должно иметь кнопку «Отключить» (вместо кнопки «Остановить трансляцию») в диалоговом окне трансляции.
Необходимый
О. Когда к веб-приемнику подключено несколько отправителей, нажатие кнопки «Остановить трансляцию» в одном приложении-отправителе ничего не меняет с веб-приемником и удаляет элементы управления трансляцией и уведомления с этого устройства-отправителя. Остальные подключенные устройства-отправители остаются на связи с доступными элементами управления Cast.
Б. Когда приложение-отправитель неявно отключается (например, разряжается батарея устройства-отправителя или обрывается сетевое соединение устройства-отправителя с веб-приемником), оно ничего не делает с веб-приемником и удаляет элементы управления Cast и уведомления с устройства-отправителя. Приложение-отправитель должно отслеживать неявные отключения и пытаться повторно подключиться к веб-приемнику, когда приложение-отправитель открывается снова.
Андроид
Диалог трансляции, кнопка отключения
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/a/sender-control-end1.png?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
iOS
Диалог трансляции, кнопка отключения
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/i/sender-control-end1.png?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
Хром
Диалог трансляции, кнопка отключения
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/w/sender-control-end1.jpg?authuser=6&hl=ru)
Веб-ресивер, воспроизводящий контент
![](https://developers-dot-devsite-v2-prod.appspot.com/static/cast/images/r/receiver-content-playing1.png?authuser=6&hl=ru)
Изображения, использованные в этом руководстве по дизайну , любезно предоставлены Blender Foundation и защищены авторским правом или лицензией Creative Commons.
- Мечта слона: (c) авторские права 2006 г., Blender Foundation/Нидерландский институт медиаискусства/www.elephantsdream.org
- Синтел: (c) авторские права Blender Foundation | www.sintel.org
- Слезы стали: (CC) Blender Foundation | mango.blender.org
- Big Buck Bunny: (c) авторские права 2008, Blender Foundation / www.bigbuckbunny.org