Данный плеер обособлен от основного плеера. При работе с ним следует руководствоваться только лишь информацией приведенной в этом разделе и в никаких других.
Для подключения плеера к веб-странице, надо добавить следующие скрипты:
<script src="//js.hostingradio.ru/clappr/clappr.min.js"></script>
<script src="//js.hostingradio.ru/js/hls-player.min.js"></script>
В глобальное пространство имен экспортируется 1 объект - HlsPlayer. Который содержит два свойства:
HlsWebPlayer - конструктор плеера.VastAds - плагин для обработки рекламных объявлений. Не используется самостоятельно, лишь передается в конструктор плеера (см. пример ниже).Создание плеера осуществляется через конструктор следующим образом.
<body>
<div id="player"></div>
<div id="banners"></div>
<script>
hssplayer = new HlsPlayer.HlsWebPlayer({
"player": { // вся конфигурация завернута в еще один объект
parentId: "#player", // селектор (обычно состоящий из id) указывающий на элемент в который будет встроен плеер
width: 1, // legacy parameter. использовать как в данном примере
height: 1, // legacy parameter. использовать как в данном примере
chromeless: true, // legacy parameter. использовать как в данном примере
audioOnly: true, // legacy parameter. использовать как в данном примере
autoPlay: false, // legacy parameter. надо ли начинать воспроизведение сразу. Лучше ставить flase, потому что обычно браузеры блокируют авто-воспроизведение
persistConfig: false, // legacy parameter. использовать как в данном примере
hlsjsConfig: { // legacy parameter. использовать как в данном примере
levelLoadingTimeOut: 3000,
xhrSetup: function(xhr, url) {
xhr.withCredentials = true;
},
},
playbackConfig: { // legacy parameter. использовать как в данном примере
crossorigin: 'use-credentials'
},
plugins: { "core": [HlsPlayer.VastAds] }, // Объект с плагинами. Используйте также как и в данном примере
VastAdsConfig: { // Конфигурация рекламы
daast: true, // использовать ли DAAST формат (необязательный, по умолчанию VAST)
bannersId: "banners", // id блока в котором будет отображаться рекламный баннер
timeout: 5000, // таймаут загрузки баннера (необязательный, по умолчанию 3000)
}
}
});
hssplayer.load('ссылка на аудио поток', 'ссылка на объявление (необязательно)');
hssplayer.play();
</script>
</body>
Как можно видеть, объект конфигурации содержит много наследственных параметров, который не были скрыты в связи с сохранением обратной совместимости. Интерес представляют лишь следующие параметры.
parentId - значение атрибута id пустого элемента DOM веб-страницы, куда будет вставляться плеер, непосредственно работающий с аудиопотоком в браузере. Обычно данный блок скрывается через CSS, например, так:#player {
width: 0;
height: 0;
left: -999em;
top: -999em;
position: absolute;
opacity: 0;
overflow: hidden;
z-index: -1000;
}
Если в плеере необходимо включить поддержку VAST/DAAST, то надо добавить плагин plugins: { "core": [HlsPlayer.VastAds] } в объект конфигурации и использовать следующие дополнительные параметры в VastAdsConfig:
daast - использовать DAAST (необязательный, по умолчанию false).bannersId - значение атрибута id элемента DOM веб-страницы, куда будут вставляться баннеры, полученные по VAST-запросу (необязательный).timeout - таймаут загрузки URL VAST, в мс (необязательный, по умолчанию 3000).position - положение элемента с баннерами внутри элемента с id=bannersId , первый или последний (необязательный, по умолчанию 'first').countdownId - значение атрибута id элемента DOM веб-страницы, куда будет вставляться элемент DIV c отсчетом времени до конца рекламного ролика (необязательный, по умолчанию значение bannersId).Объект плеера имеет следующие методы:
setVolume(value) - Установка громкости плеера. value - значение громкости от 0 до 100.getVolume() - Получить текущее значение громкости плеера.mute() - Отключение звука.unmute() - Включение звука.play() - Запустить проигрывание плеера. Если метод был вызван во время проигрывания рекламного аудиоролика, то последующий вызов play() начнет проигрывание с момента остановки этого ролика. В других случаях последующий вызов play() продолжит проигрывание аудио в реальном времени.stop() - Остановить проигрывание плеера.load(source, [vast_url]) - Загрузить новый источник аудио HLS в плеер.source : источник HLS, URL на плейлист m3u8 или {source: HLS_URL, mimeType: 'application/x-mpegURL'}, если HLS URL не заканчивается на .m3u8.vast_url : URL источника VAST/DAAST (необязательный)hssplayer.load({ source: '//hlstest.com/playlist.m3u8', mimeType: 'application/x-mpegURL' });Здесь можно скачать пример использования плеера
После скачивания распакуйте архив и запустите статический сервер в корневой папке. Потом откройте ad_player.html в браузере, чтобы просмотреть пример в работе.