В video_player.js определите класс контейнера видеопроигрывателя, чтобы инициализировать проигрыватель dash.js и управлять им.
Как настроить широкополосный проигрыватель
Определите, где в приложении разместить широкополосный проигрыватель, создав теги видео и теги-обертки:
Как создать видеопроигрыватель
Инициализируйте класс видеопроигрывателя с переменными для элементов HTML, проигрывателя dash.js и обратных вызовов, которые могут использовать другие методы класса.
Как задать функции управления воспроизведением
Чтобы показать проигрыватель и прикрепить просмотр видео, создайте метод VideoPlayer.play(). Затем создайте метод VideoPlayer.stop(), который будет выполнять очистку после завершения пакетов объявлений.
Предварительная загрузка манифеста рекламного потока
Чтобы убедиться, что объявления загружены достаточно быстро во время трансляции контента и до начала рекламной паузы, используйте VideoPlayer.preload() и VideoPlayer.isPreloaded().
1. Предварительная загрузка потока объявлений
Создайте метод VideoPlayer.preload(), чтобы предварительно загрузить манифест рекламного потока и создать буфер объявлений до рекламной паузы. Вам нужно изменить настройки потоковой передачи в проигрывателе с 'cacheInitSegments' на true. Обновив настройки, вы включите кеширование сегментов инициализации, что позволит избежать задержек при переходе к рекламе.
2. Проверьте буфер предварительно загруженных объявлений
Создайте метод VideoPlayer.isPreloaded(), чтобы проверить, достаточно ли предварительно загруженного буфера рекламы по сравнению с пороговым значением, заданным в приложении:
Прикрепите прослушиватели проигрывателя
Чтобы добавить прослушиватели событий для событий проигрывателя dash.js, создайте метод VideoPlayer.attachPlayerListener(): PLAYBACK_PLAYING, PLAYBACK_ENDED, LOG и ERROR. Этот метод также обрабатывает события для URI идентификатора схемы и задает функцию очистки для удаления этих прослушивателей.
Как настроить обратные вызовы событий проигрывателя
Чтобы управлять воспроизведением пакета объявлений на основе событий проигрывателя, создайте методы VideoPlayer.onAdPodPlaying(), VideoPlayer.onAdPodEnded() и VideoPlayer.onAdPodError():
Как создать функцию установки для события onAdPodEnded
Создайте метод VideoPlayer.setOnAdPodEnded(), чтобы задать функцию обратного вызова, которая будет выполняться после завершения пакета объявлений. Класс приложения использует этот метод, чтобы возобновить трансляцию контента после рекламных пауз.
Обработка событий метаданных потока
Задайте функцию обратного вызова, которая будет выполняться на основе событий emsg, создав метод VideoPlayer.setEmsgEventHandler(). В этом руководстве мы будем использовать параметр scope, поскольку setEmsgEventHandler() вызывается вне video_player.js.
Как показывать и скрывать видеопроигрыватель для рекламных пауз
Чтобы показывать видеопроигрыватель во время рекламных пауз и скрывать его после их завершения, создайте методы VideoPlayer.show() и VideoPlayer.hide():
Затем создайте класс менеджера рекламы, чтобы использовать IMA SDK для отправки запроса трансляции, получения манифеста пакета объявлений, прослушивания событий трансляции IMA и передачи событий emsg в IMA SDK.