Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/06/2014, 16:05
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Funcion Reiniciar reproduccion - Video Ended

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 original
  1. var reproductor = document.getElementById("reproductor"), //El elemento <video>
  2.     videos = ["video1.mp4", "video2.mp4", "video3.mp4"]; //Lista de vídeos
  3.  
  4. reproductor.src = videos[0]; //Asigno al primer vídeo
  5. reproductor.play(); //Lo reproduzco
  6.  
  7. reproductor.addEventListener("ended", function(){ //Cuando finalice el vídeo actual
  8.     var nombreActual = this.src.substr(this.src.lastIndexOf("/") + 1); //Vídeo actual
  9.         actual = videos.indexOf(decodeURIComponent(nombreActual)); //Posición en array
  10.  
  11.     if (actual == videos.length - 1) //Si es el último vídeo
  12.         window.location = "ejemplo.html"; //Redirecciono
  13.     else{ //Caso contrario
  14.         this.src = videos[++actual]; //Asigno al siguiente vídeo
  15.         this.play(); //Lo reproduzco
  16.     }
  17. }, 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
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 05/06/2014 a las 16:11 Razón: Fe de erratas