Переключить видео элемент в Chromecast CAF Receiver

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

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

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

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 является жестким требованием.

0 ответов

Другие вопросы по тегам