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

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

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

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

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

Андроид

Трансляция диалоговых элементов управления

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

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

Блокировка экрана управления

iOS

Трансляция диалоговых элементов управления

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

Хром

Трансляция диалоговых элементов управления

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

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

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

  • Уровень звука, отправляемый на телевизор для устройств Google Cast, таких как Chromecast.
  • Фактическая собственная громкость телевизора/динамика для телевизоров Google Cast, телевизоров со встроенным Android TV и интеллектуальных динамиков.

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

  • Android: поддержка как аппаратных кнопок, так и программного ползунка громкости обязательна.
  • iOS: ползунок громкости программного обеспечения является обязательным.
  • Web/Chrome: поддержка ползунка громкости программного обеспечения обязательна.

B На мобильном устройстве ползунок громкости программного обеспечения должен быть доступен в диалоговом окне Cast во время трансляции.
C Ползунок громкости в приложении-отправителе должен синхронизироваться с текущим объемом веб-приемника после подключения к веб-приемнику и оставаться синхронизированным.
D Ползунок громкости в приложении-отправителе должен отражать изменения громкости, сделанные другими отправителями или удаленным управлением приложения Chromecast.
Приложения E Sender никогда не должны устанавливать громкость на предопределенный уровень, они должны передавать только изменения громкости, инициированные пользователем.
F Только для Android: при использовании аппаратных кнопок для изменения уровня громкости на веб-приемнике визуальный ползунок громкости (со значком трансляции слева от него) должен появляться при нажатии аппаратных кнопок громкости. Примечание. Для Android Gingerbread (версия 2.3) значок трансляции не отображается.

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

  • Увеличение объема:
    • Android: фреймворк автоматически увеличивает громкость.
    • iOS и Chrome: для аппаратных кнопок громкости используйте приращение не более 5 % от полного диапазона громкости устройства Web Receiver для аудио- и видеоустройств и приращение, равное 2 % от полного диапазона громкости устройства Web Receiver для аудио- и видеоустройств. только устройства.

  Расширенный контроллер отправителя

Приложение-отправитель должно предоставлять расширенный контроллер для транслируемого контента.

Необходимый
A Идентифицируйте транслируемый контент, отображая заголовок контента или обложку.
B Перед началом воспроизведения отобразите индикатор загрузки и заголовок содержимого или обложку.
C При запуске содержимого определите состояние веб-приемника.
D Обеспечьте соответствующие средства контроля.
E В левом конце строки поиска отобразите текущее время воспроизведения.
В правом конце отобразите общую продолжительность трансляции, если она известна и если это не прямой эфир.
F Скрыть элементы управления, не относящиеся к кастингу.
G Не отключайте и не останавливайте трансляцию, когда пользователи уходят от расширенного контроллера.
H Обеспечьте легкий путь назад к расширенному контроллеру, когда пользователи уходят.

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

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

Андроид

Загрузка содержимого отправителя

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

Контент отправителя воспроизводится

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

iOS

Загрузка содержимого отправителя

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

Контент отправителя воспроизводится

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

Хром

Загрузка содержимого отправителя

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

Контент отправителя воспроизводится

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

  Отправитель мини-контроллер

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

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

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

Андроид

Отправитель мини-контроллер

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

iOS

Отправитель мини-контроллер

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

Хром

Отправитель мини-контроллер

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

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

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

Заметки

Андроид

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

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

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

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

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

Обязательно (только для Android)
О. Идентифицируйте кастинг контента, используя заголовок контента или обложку.
B Определите, какой Web Receiver выполняет трансляцию. Обратите внимание, что это не требуется для музыкальных приложений.
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 Если пользователь коснется кнопки Cast до повторного подключения отправителя, отобразится список устройств Web Receiver. Когда пользователь выбирает текущий транслируемый веб-приемник, в приложении-отправителе должен появиться мини-контроллер или расширенный контроллер.

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

Андроид

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

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

Трансляция восстановлена

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

iOS

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

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

Трансляция восстановлена

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

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

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

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

Андроид

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

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

iOS

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

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

Хром

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

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

Изображения, использованные в этом руководстве по дизайну , предоставлены Blender Foundation, опубликованы в соответствии с авторскими правами или лицензией Creative Commons.

  • Elephant's Dream: (c) авторское право 2006 г., Blender Foundation / Нидерландский институт медиаискусства / www.elephantsdream.org
  • Sintel: (c) авторское право Blender Foundation | www.sintel.org
  • Слезы стали: (CC) Blender Foundation | mango.blender.org
  • Big Buck Bunny: (c) авторское право 2008 г., Blender Foundation / www.bigbuckbunny.org