Динамические ссылки
Можно не указывать ссылки на видео или аудио в коде подключения плеера / плейлисте, а передавать их плееру каждый раз перед запуском нового файла. Для этого можно указать вместо ссылки название JS функции или переменной с
js: в начале.
var player = new Playerjs({id:"player", file:"js:GetFile()"});
В этом примере плеера запросит вашу JS функцию GetFile, которая вернет ему ссылку на файл для воспроизведения.
Если вы планируете использовать AJAX внутри этой функции, учтите, что запрос должен быть синхронным.
function GetFile(id){
let url;
let xhr = new XMLHttpRequest();
xhr.open('GET', 'script.php?id='+id, false);
xhr.onreadystatechange = function() {
url = xhr.responseText;
}
xhr.send();
return url;
}
Аналогично можно использовать этот способ в плейлистах:
var player = new Playerjs({id:"player",file:[{"title":"1","file":"js:GetFile(1)"},{"title":"2","file":"js:GetFile(2)"}]});
Вы также можете использовать этот способ указания источника и для субтитров (с версии 20).