Veo que tienes varios elementos
<video>
, lo cual me parece innecesario. Podrías tener un array con los nombres y rutas de los vídeos y los reproduces uno por uno en el elemento
<video>
. Cuando acabe la reproducción del vídeo actual, verificas si es el último vídeo del array, de serlo, realizas la redirección, caso contrario, reproduces el siguiente.
Código Javascript
:
Ver originalvar reproductor = document.getElementById("reproductor"), //El elemento <video>
videos = ["video1.mp4", "video2.mp4", "video3.mp4"]; //Lista de vídeos
reproductor.src = videos[0]; //Asigno al primer vídeo
reproductor.play(); //Lo reproduzco
reproductor.addEventListener("ended", function(){ //Cuando finalice el vídeo actual
var nombreActual = this.src.substr(this.src.lastIndexOf("/") + 1); //Vídeo actual
actual = videos.indexOf(decodeURIComponent(nombreActual)); //Posición en array
if (actual == videos.length - 1) //Si es el último vídeo
window.location = "ejemplo.html"; //Redirecciono
else{ //Caso contrario
this.src = videos[++actual]; //Asigno al siguiente vídeo
this.play(); //Lo reproduzco
}
}, false);
Utilizo a la función
decodeURIComponent para decodificar el valor del atributo
src
del elemento
<video>
ya que si el nombre contiene espacios, estos serán reemplazados por esto:
%20, con lo cual nunca se podría encontrar el nombre del vídeo en el array.
Saludos