在视频期间暂停Javascript循环

时间:2012-06-04 22:35:33

标签: javascript for-loop while-loop html5-video

鉴于HTML5视频,是否有可能创建一个for-或while-loop循环,直到其中的视频结束才会继续?例如,下面的代码应该按顺序播放三个视频,而不是同时播放。

<video id="video0">
    <source src="video0.mp4">
</video>
<video id="video1">
    <source src="video1.mp4">
</video>
<video id="video2">
    <source src="video2.mp4">
</video>

var i=0;
while (i<3) {
    document.getElementById('video'+i).play();
    i++;
}

1 个答案:

答案 0 :(得分:1)

循环无法满足您的需求,您最好倾听事件。

可以在W3C Page

找到与Media-Elements连接的所有事件的列表

因此,在您的具体情况下,这样的事情可以帮助您:

var playVideo = function(videoID){
    var video = document.getElementById('video'+videoID);

    if(video){    

        video.play();
        //binding the eventHandler for the event firing at the end of the video
        video.onended = function(e){
            playVideo(videoID++);
        }

        /* 
        Another way of binding the event-listener:
        video.addEventListener('ended',function(){
            playVideo(videoID++);
        });
        */
    }
}

playVideo(0);
相关问题