В этом примере после конца видео должно воспроизводится следующее видео, при измении атрибута src элемента video ,

но этого не происходит. Как исправить? https://codepen.io/yasakova/pen/xxjbYzm

function loadNextVideo() {
    video.src = sources[currentVideo % sources.length]
    video.load();
    currentVideo++;
}

Ответы (1 шт):

Автор решения: daunec

У Вас, на строках 36-37 video.addEventListener находится в function init(), но она никем не вызывается. Если все его вытащить, то должно работать автоматическое переключение.

Можно попробовать вот так. Замените на это все что у Вас идет с 23 строки.

 var currentVideo = 0;
 video.src = sources[currentVideo % sources.length]
    
 video.addEventListener('ended', PlayNextVideo, false);
    
 function PlayNextVideo() {
 currentVideo++
 if(currentVideo == sources.length){
 currentVideo = 0
 };
 video.src = sources[currentVideo % sources.length]
 video.play();
 }

Это добавит зацикливания:

 if(currentVideo == sources.length){
 currentVideo = 0
 };
→ Ссылка