События JS API
JavaScript API позволяет получать события плеера, запрашивать данные и управлять им снаружи.
События Показать команды и запросы
Для подписки на события нужно включить в настройках плеера опцию
Модули / API / Отслеживать события
По-умолчанию, все события будут приходить в функцию PlayerjsEvents (в настройках название функции можно поменять) с тремя аргументами:
event название события
id идентификатор плеера
info данные
function PlayerjsEvents(event,id,info){
if(event=="play"){
alert(event);
}
if(event == "time"){
console.log(event,id,info);
}
}
Есть возможность разбить подписку на несколько функций. Для этого в настройках вместо названия функции PlayerjsEvents укажите объект
{"play":"onPlay","other":"onOther"}
В этом примере событие play придет в функцию onPlay, а все остальные события будут приходить в onOther.
Событие (event) |
Значение |
Данные (info) |
init |
инициализация |
- |
start |
запуск плеера |
- |
play |
запуск воспроизведения |
- |
userplay |
запуск инициирован пользователем |
- |
pause |
пауза |
- |
userpause |
пауза инициирована пользователем |
- |
stop |
остановка |
- |
end |
конец воспроизведения |
- |
finish |
конец воспроизведения включая рекламу |
- |
new |
запуск нового файла |
- |
time |
изменение времени воспроизведения |
время воспроизведения в секундах |
quartile |
прогресс воспроизведения по квартилям |
25%, 50%, 75% или 100% |
duration |
изменение длительности |
длительность в секундах |
seek |
перемотка |
время в секундах |
userseek |
перемотка инициирована пользователем |
время в секундах |
mute |
выключение звука |
- |
unmute |
включение звука |
- |
volume |
громкость |
громкость от 0 до 1 |
quality |
изменение качества |
название качества |
audiotrack |
изменение аудиодорожки |
название аудиодорожки |
subtitle |
включение субтитров |
название субтитров |
speed |
изменение скорости воспроизведения |
значение скорости |
fullscreen |
полноэкранный режим |
- |
exitfullscreen |
выход из полноэкранного режима |
- |
buffering |
начало буфферизации |
- |
buffered |
конец буфферизации |
- |
loaderror |
ошибка загрузки |
описание ошибки |
error |
ошибка воспроизведения |
описание ошибки |
fragment |
HLS фрагмент |
название файла |
height |
изменилась высота плеера |
значение в пикселях |
playlist |
загрузился плейлист |
- |
download |
пользователь нажал на кнопку скачивания |
- |
visibility |
изменилась видимость плеера |
- |
resize |
изменились размеры плеера в обычном режиме |
ширина,высота |
geo |
плеер получил геоданные |
|
casted
uncasted |
подлючение / отключение Хромкаста |
|
ui |
отображение панели управления |
0 или 1 |
click |
нажатие на плеер |
- |
line |
нажатие на таймлайн |
- |
next |
переход на следующий файл в плейлисте |
- |
previous |
переход на предыдущий файл в плейлисте |
- |
Слушатели
Также есть возможность подписки на события через слушателей, если это необходимо (в этом случае события не будут приходить в PlayerjsEvents). Включить этот режим можно опцией С помощью слушателей в настройках API.
document.getElementById("player").addEventListener("play",onPlay);
Как слушать события плеера, который находится в iframe
Для этого нужно включить в настройках опцию Модули / API / Поддержка postMessage. События будут приходить в window по подписке message c объектом данных.
window.addEventListener("message", function (event) {
console.log(event.data);
});