Estoy buscando colocar un video en una página HTML5 que comenzará a reproducirse al cargar la página y, una vez completado, volverá al principio sin interrupciones. El video también debe NO tienen ningún tipo de control asociados a ella, y, o bien ser compatible con todos los navegadores modernos '', o tener la opción de un polyfill.
Anteriormente habría hecho esto a través de Flash
y FLVPlayback
, pero preferiría alejarme de Flash
la esfera HTML5. Estoy pensando que podría usar javascript setTimeout
para crear un bucle suave, pero ¿qué debo usar para incrustar el video en sí? ¿Hay algo por ahí que transmita el video como lo FLVPlayback
haría?
fuente
javascript
para escuchar elvideoEnd
evento y volviendo al principio ya que, por lo que puedo decir, elloop
atributo no es compatible con todos los navegadores. Para los dispositivos iOS, no son compatiblesautoplay
de ninguna forma con iOS 5, por lo que solo usé una imagen alternativa para dispositivos móviles. Gracias de nuevo.autoplay
solo funciona en Safari si también usamuted
: webkit.org/blog/7734/auto-play-policy-changes-for-macosA partir de abril de 2018, Chrome (junto con varios otros navegadores importantes) ahora también requiere el
muted
atributo.Por lo tanto, debe usar
<video width="320" height="240" autoplay loop muted> <source src="movie.mp4" type="video/mp4" /> </video>
fuente
Para iPhone, funciona si agrega también playinline así:
<video width="320" height="240" autoplay loop muted playsinline> <source src="movie.mp4" type="video/mp4" /> </video>
fuente
autoPlay loop muted playsInline
Puede hacer esto de las siguientes dos formas:
1) Utilizando
loop
atributo en el elemento de video (mencionado en la primera respuesta):2) y puede utilizar el
ended
evento de medios:window.addEventListener('load', function(){ var newVideo = document.getElementById('videoElementId'); newVideo.addEventListener('ended', function() { this.currentTime = 0; this.play(); }, false); newVideo.play(); });
fuente