Воспроизведение одного src за другим

#javascript

#javascript

Вопрос:

Я пытаюсь воспроизводить один <video> src за другим — циклически перебирать набор из примерно 20 <video> элементов.

Каким-то образом кажется, что первые 1-2 цикла все работает нормально, но после этого он заклинивает, и скрипт начинает пропускать видеофайлы и замедляется. У кого-нибудь есть идеи, что не так с моим JS?

 <video id="video-1" class="collage below" muted playsinline>
    <source src="video/collage-01.mp4" type="video/mp4">
</video>

<video id="video-2" class="collage above" muted playsinline>
    <source src="video/collage-02.mp4" type="video/mp4">
</video>

<video id="video-3" class="collage below" muted playsinline>
    <source src="video/collage-03.mp4" type="video/mp4">
</video>

...
  
 var allVideos = document.querySelectorAll('video.collage');
var count = 0;

function playVideos(e){
    if (count >= allVideos.length){
        count = 0;
    }
    for (let i = 1; i < allVideos.length; i  ) {
        allVideos[i].style.visibility = 'hidden';
    }
    
    allVideos[count].style.visibility = 'visible';
    allVideos[count].play();
    allVideos[count].addEventListener('ended', videoFinished, false);
    
    function videoFinished(e) {
        allVideos[count].style.visibility = 'hidden';
        count  ;
        playVideos();
    }
}

playVideos();
  

Комментарии:

1. в videoFinished , отмените EventListener . Поскольку он перерабатывает, он создает больше слушателей, которые будут не совпадать с одним и друг с другом.

2. developer.mozilla.org/en-US/docs/Web/API/EventTarget/…

3. Вот почему он засоряется. Милая, большое тебе спасибо!