鉴于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++;
}
答案 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);