Вторичное изображение

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

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

В таблице 1 показано взаимодействие с пользователем, когда эта функция включена на соответствующих типах устройств и элементах управления. Детали реализации и интеграции немного различаются между аудио- и видеоприложениями. См. разделы ниже для интеграции этой функции в ваше приложение Web Receiver.

Таблица 1. Пользовательский интерфейс вторичного изображения по содержимому и типу устройства
Тип устройства Аудиоконтент Видеоконтент
Chromecast Вторичное изображение на ключах Chromecast для аудиоконтента.Вторичное изображение на ключах Chromecast для видеоконтента.
Chromecast с Google TV Вторичное изображение на chromecast с ключами Google TV для аудиоконтента.Вторичное изображение на chromecast с ключами Google TV для видеоконтента.
Умный дисплей Вторичное изображение на смарт-дисплеях для аудиоконтента.Вторичное изображение на смарт-дисплеях для видеоконтента.
Дистанционное управление интеллектуальным дисплеем Вторичное изображение на пульте дистанционного управления смарт-дисплеем для аудиоконтента. Примечание. Дополнительное изображение не поддерживается на пультах дистанционного управления для видеоконтента.

Аудио

Обзор

Вторичное изображение для аудиоконтента управляется метаданными загруженного контента. После загрузки элемента мультимедиа любые последующие изменения свойства secondaryImage изображения метаданных отражаются в пользовательском интерфейсе.

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

Реализация

Чтобы установить, удалить или обновить secondaryImage изображение, необходимо изменить свойствоsecondaryImage объекта MusicTrackMediaMetadata . Свойство принимает объект Image , заполненный URL-адресом, описывающим, где размещено вторичное изображение.

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

const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
playerManager.setMessageInterceptor(
    cast.framework.messages.MessageType.LOAD, loadRequestData => {
      loadRequestData.media.metadata =
          new cast.framework.messages.MusicTrackMediaMetadata();

      // Set image on secondaryImage field of metadata object
      loadRequestData.media.metadata.secondaryImage =
          new cast.framework.messages.Image('https://www.image.png');

      return loadRequestData;
    });

Чтобы обновить вторичное изображение во время воспроизведения, приложение должно использовать PlayerManager для получения MediaInformation , вызвав getMediaInformation . Затем приложение должно изменить metadata , обновив свойство secondaryImage до нужного значения. Наконец, вызов setMediaInformation с новой информацией обновит пользовательский интерфейс. Этот метод можно использовать для обработки изменений в метаданных, предоставленных посредством обновлений, таких как EMSG или ID3 во время воспроизведения.

const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
playerManager.addEventListener(cast.framework.events.EventType.EMSG, () => {
  let mediaInformation = playerManager.getMediaInformation();
  mediaInformation.metadata.secondaryImage =
      new cast.framework.messages.Image('http://anotherimage.png');
  playerManager.setMediaInformation(mediaInformation);
});

Чтобы отключить secondaryImage изображение, задайте для свойстваsecondaryImage значение null в объекте метаданных.

// To unset the secondary image, set secondaryImage to null.
let mediaInformation = playerManager.getMediaInformation();
mediaInformation.metadata.secondaryImage = null;
playerManager.setMediaInformation(mediaInformation);

видео

Обзор

Для видеоконтента вторичное изображение устанавливается и удаляется с помощью UiManager . Вторичное изображение отображается с наложением элементов управления видео.

Реализация

Чтобы установить вторичное изображение, приложение должно получить экземпляр UiManager и вызвать setSecondaryImage . Он принимает два параметра: SecondaryImagePosition и URL-адрес изображения. Настроить вторичное изображение можно в любое время, но оно будет отображаться только тогда, когда пользователь запускает наложение на передний план.

/**
 * Sets the image url for the secondary image overlay. Replaces any image that
 * was previously set.
 */
castUiManager.setSecondaryImage(
    cast.framework.ui.SecondaryImagePosition.TOP_RIGHT_VIDEO_OVERLAY,
    'http://www.image.png');

Удаление вторичного изображения выполняется путем установки URL-адреса изображения равным null или пустой строке.

// To  clear out the image, set the url to null or an empty string.
const castUiManager = cast.framework.ui.UiManager.getInstance();
castUiManager.setSecondaryImage(
    cast.framework.ui.SecondaryImagePosition.TOP_RIGHT_VIDEO_OVERLAY, null);

Следующие шаги

На этом функции, которые вы можете добавить в свой веб-приемник, заканчиваются. Теперь вы можете создать приложение-отправитель на iOS , Android или в Интернете .