Переключить видео элемент в Chromecast CAF Receiver - PullRequest
0 голосов
/ 25 февраля 2019

Я хочу реализовать пользовательский CAF-приемник, который выполняет следующие действия:

  1. Воспроизведение видео перед прокруткой с использованием внешнего рекламного SDK.
  2. Воспроизведение DASH или HLS в реальном времениstream.

Функции работают самостоятельно.Когда я запускаю прямую трансляцию после объявления, игрок выдает эту ошибку:

Uncaught DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at Hh.fk (http://www.gstatic.com/cast/sdk/libs/mediaplayer/1.0.0/media_player.js:149:315)
    at yc (http://www.gstatic.com/cast/sdk/libs/mediaplayer/1.0.0/media_player.js:30:291)
    at SourceBuffer.vc (http://www.gstatic.com/cast/sdk/libs/mediaplayer/1.0.0/media_player.js:31:343)
    at SourceBuffer.b (http://www.gstatic.com/cast/sdk/libs/mediaplayer/1.0.0/media_player.js:28:245)

Затем за этой ошибкой следует:

[cast.player.api.Host] error: cast.player.api.ErrorCode.PLAYBACK/104 

Ошибка 104 указывает, что источникпроигрыватель не поддерживает, но так как потоки воспроизводятся без рекламы, это не может быть проблемой.Скорее всего, это побочный эффект, вызванный указанной выше ошибкой SourceBuffer.

Я уверен, что причиной ошибки является элемент video, который Ad SDK использовал для отображения видео перед просмотром.Ad SDK добавляет элемент, воспроизводит его и впоследствии удаляет элемент.

Я пробовал следующее:

  1. Установите элемент video внутри cast-media-playerв качестве текущего элемента воспроизведения через context.getPlayerManager().setMediaElement(...) после окончания воспроизведения объявления.
  2. Создайте cast-media-player после завершения объявления и добавьте его в основной текст.Затем запросил воспроизведение потока.
  3. Комбинация 2 → 1: создала элемент и затем установила его видеоэлемент как текущий медиа-элемент.

Ничего из вышеперечисленного не сработало.

Есть ли способ сбросить или повторно запустить проигрыватель для использования элемента cast-media-player?

Обратите внимание, что рекламная строчка, поддерживаемая приемником CAF, выходит за рамки, посколькуSDK для внешней рекламы - жесткое требование.

...