Приложение отправителя

Когда контент передается на веб-приемник, пользователь всегда должен иметь возможность управлять им из приложения-отправителя.

Примечание . В соответствии с дополнительными условиями использования Google Cast SDK для разработчиков мультимедийное приложение Cast должно использовать API-интерфейсы управления воспроизведением ( сообщения воспроизведения мультимедиа ), определенные для SDK, для управления воспроизведением мультимедиа на веб-приемнике.

Приложения Sender должны предоставлять элементы управления Cast в следующих областях:

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

Андроид

Диалоговые элементы управления трансляцией

Мини-контроллер

Элементы управления уведомлениями

Элементы управления на заблокированном экране

iOS

Диалоговые элементы управления трансляцией

Мини-контроллер

Хром

Диалоговые элементы управления трансляцией

Мини-контроллер

  Регуляторы громкости отправителя

Приложение-отправитель должно позволять пользователям управлять громкостью контента, воспроизводимого на телевизоре или динамиках, с помощью аппаратных кнопок громкости и/или программного ползунка громкости на отправляющем устройстве. Они контролируют одно из следующих действий:

  • Уровень звука, передаваемый на телевизор для устройств 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 Обеспечьте простой путь обратно к расширенному контроллеру, когда пользователи уйдут.

Лучшие практики

  • Предоставьте ползунок позиции воспроизведения для медиапотоков.
  • Отображайте другие значимые изображения и метаданные, связанные с контентом.
  • Определите прошедшее время и продолжительность контента для медиапотоков.

Андроид

Загрузка контента отправителя

Загрузка контента отправителя

Загрузка содержимого приемника

Содержимое отправителя воспроизводится

Веб-ресивер, воспроизводящий контент

iOS

Загрузка контента отправителя

Загрузка содержимого веб-приемника

Содержимое отправителя воспроизводится

Веб-ресивер, воспроизводящий контент

Хром

Загрузка контента отправителя

Загрузка содержимого веб-приемника

Содержимое отправителя воспроизводится

Веб-ресивер, воспроизводящий контент

  Мини-контроллер отправителя

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

Необходимый
Панель или поле, отображающее трансляцию, отображается в нижней части приложения-отправителя. Эти элементы управления сохраняются, пока пользователь просматривает другой контент или разделы приложения.
Б. Элементы управления работают лучше всего, когда они просты и сообщают о том, что происходит.
C Доступно на всех экранах приложения (кроме расширенной страницы контроллера).
D При нажатии на область содержимого открывается расширенный контроллер.
E Обеспечьте любые другие средства контроля, необходимые для немедленных действий.

Лучшие практики
Для удобства пользователя в дополнение к мини-контроллеру предоставьте элементы управления в диалоговом окне трансляции .

Андроид

Мини-контроллер отправителя

Содержимое веб-приемника приостановлено

iOS

Мини-контроллер отправителя

Содержимое веб-приемника приостановлено

Хром

Мини-контроллер отправителя

Содержимое веб-приемника приостановлено

  Уведомление отправителя

Обязательно (только для Android)
A. Используйте значок приложения (а не значок Cast) для уведомления в строке состояния.
Б. Определите, какой контент транслируется. Например, отобразить заголовок контента или иллюстрацию.
C Определите, какой веб-приемник осуществляет трансляцию.
D Обеспечьте базовые элементы управления контентом.
E В строке действий укажите «X», чтобы остановить трансляцию и отключиться от веб-приемника.
F При нажатии на логотип приложения, заголовок контента или иллюстрацию должен открыться расширенный контроллер приложения-отправителя.

Примечания

Андроид

Значок уведомления отправителя

Веб-ресивер, воспроизводящий контент

Элементы управления уведомлениями отправителя

Веб-ресивер, воспроизводящий контент

  Экран блокировки отправителя

Обязательно (только для 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 и более поздних версий).

Андроид

Элементы управления экраном блокировки отправителя

Веб-ресивер, воспроизводящий контент

  Отправитель возобновляет трансляцию

Подключенное приложение-отправитель должно восстановить свое состояние подключения после неявного отключения (например, при обрыве сети, переходе устройства в спящий режим или разрядке аккумулятора).

Необходимый
О. Если приложение-отправитель неявно отключается (пользователь не остановил трансляцию или не отключился явным образом), то содержимое трансляции должно продолжать воспроизводиться на веб-приемнике. При перезапуске приложения или соединения приложение-отправитель должно восстановить соединение с веб-приемником, пока сеанс веб-приемника остается текущим.
B Кнопка Cast должна вернуться в подключенное состояние.
C Если пользователь нажмет кнопку трансляции до повторного подключения отправителя, отобразится список устройств веб-приемника. Когда пользователь выбирает веб-приемник, транслирующий в данный момент, в приложении-отправителе должен появиться мини- или расширенный контроллер.

Примечания
Приложение Web Receiver также может отключиться и перестать работать из-за сбоя питания или другого внеконтекстного сбоя. Это рассматривается как обычное завершение сеанса, как описано в разделе Sender Stops Cast .

Андроид

Выбор приложения

Веб-ресивер, воспроизводящий контент

Соединение с трансляцией восстановлено.

Веб-ресивер, воспроизводящий контент

iOS

Выбор приложения

Веб-ресивер, воспроизводящий контент

Соединение с трансляцией восстановлено.

Веб-ресивер, воспроизводящий контент

  Отправитель прекращает трансляцию

Контент, транслируемый на телевизор, продолжает воспроизводиться до тех пор, пока пользователь не выберет «Остановить трансляцию» или отправитель не транслирует что-то новое. Если к одному веб-приемнику подключено несколько отправителей, каждое приложение-отправитель должно иметь кнопку «Отключить» (вместо кнопки «Остановить трансляцию») в диалоговом окне трансляции.

Необходимый
О. Когда к веб-приемнику подключено несколько отправителей, нажатие кнопки «Остановить трансляцию» в одном приложении-отправителе ничего не меняет с веб-приемником и удаляет элементы управления трансляцией и уведомления с этого устройства-отправителя. Остальные подключенные устройства-отправители остаются на связи с доступными элементами управления Cast.
Б. Когда приложение-отправитель неявно отключается (например, разряжается батарея устройства-отправителя или обрывается сетевое соединение устройства-отправителя с веб-приемником), оно ничего не делает с веб-приемником и удаляет элементы управления Cast и уведомления с устройства-отправителя. Приложение-отправитель должно отслеживать неявные отключения и пытаться повторно подключиться к веб-приемнику, когда приложение-отправитель открывается снова.

Андроид

Диалог трансляции, кнопка отключения

Веб-ресивер, воспроизводящий контент

iOS

Диалог трансляции, кнопка отключения

Веб-ресивер, воспроизводящий контент

Хром

Диалог трансляции, кнопка отключения

Веб-ресивер, воспроизводящий контент

Изображения, использованные в этом руководстве по дизайну , любезно предоставлены 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