Javascript - 自动视频播放列表

问题描述:

我想知道如何在没有任何按钮或控件的情况下实现视频播放列表,只需播放一组视频并在最后一次结束时再次开始。Javascript - 自动视频播放列表

我发现这段关于可点击播放列表的代码片段:http://jsfiddle.net/e8CbF/ 但我真的不知道如何使它自动化。此外,该数组来自一个PHP变量,我该如何在代码中使用它?

function loadVids(vidsArray){ 
for(var a=0,b,f=document.createDocumentFragment();b=vidsArray[a];++a){ 
    var c=document.createElement('div'); 
    c.textContent=b; 
    f.appendChild(c); 
} 
d.appendChild(f); 
} 
var video=document.createElement('video'),vids=['http://screen.digitalifts.com/screenfiles/video1.mp4','http://screen.digitalifts.com/screenfiles/video2.mp4'], /* Is it there that I should put the php array ? */ 
d=document.createElement('div'); 
d.onclick=function(e){if(e.target.parentNode==this){ 
video.src=e.target.textContent; 
video.play(); 
}} 
document.body.appendChild(video); 
document.body.appendChild(d); 
loadVids(vids); 

你的代码是一团糟。所以我完全重写它。

<video src="" id="player"/> 

<script> 
var video=counter=0; 

videos=['<?php echo join("';'",$array);?>']; 

window.onload=()=>{ 
    //get the video frame 
    video=document.getElementById("player"); 
    //if the video ended, play next. 
    video.addEventListener("ended",play,false); 
    //start 
    play(); 
} 

var play=()=>{ 
    //add the video src 
    video.src=videos[counter]; 
    //play next video next time 
    counter++; 
    if(counter==videos.length){ 
     counter=0; 
    } 
}; 
</script> 
+0

谢谢!这样确实更友好。我可以在“视频= []”中添加回显,就像我在html标签中做的一样?所以我可以给它我的数组的价值? – Ezhno

+0

Jep。但它必须有正确的格式。 –

+0

现在我的视频源位于数组中。所以我想我应该做一个循环来将它们添加到一个字符串中,如下所示: 'loop() {list =“\”“。​​$ myarray [i]。”\“”。 “”; }'? – Ezhno