2011-10-21 21 views
31

¿Hay alguna forma de detener y rebobinar a 0s un video HTML5? ¿O simplemente para?HTML5 Video pausa y rebobinado

Recibí una ventana emergente jQuery, por lo que cuando alguien hace clic en ella, aparece la ventana emergente y se reproduce el video, y cuando presiona el botón de cerrar, el video se detiene. Entonces, lo que intento hacer es que si vuelves a hacer clic en el botón para mostrar la ventana emergente, el video comienza en la posición inicial (0 segundos).

Gracias.

Respuesta

42

Puede obtener una referencia a su elemento de video jquery al abrirlo (o cerrar la ventana emergente) y pausarlo usando pausa(), y luego establecer la propiedad "currentTime" en 0 para volver al principio.

Aquí hay una referencia al documentation para currentTime.

aquí es un ejemplo de código:

var mediaElement = document.getElementById("video"); 
mediaElement.pause(); 
mediaElement.currentTime = 0; 
+0

esto no funciona en absoluto: document.getElementById ('video') { this.currentTime = 0; } ¿Qué estoy haciendo mal? ¿Alguna opción jQuery? –

+0

@AlejandroAr intente esto si su identificación de etiqueta de video es 'video'. var mediaElement = document.getElementById ("video"); mediaElement.pause(); mediaElement.currentTime = 0; –

+2

@AlejandroAr Con jquery, puede hacer $ ('# videoId'). Obtener (0) .pause(); $ ('# videoId'). get (0) .currentTime = 0; –

5

Simplemente llame al método pause() del elemento de video. Para restablecer la hora, configure currentTime en 0 (o cualquier otro valor si es necesario, en segundos).

7

Para mantener una adecuada stop (pausa & rebobinado) funcionalidad que podría hacer lo siguiente:

var video = document.getElementById('vidId'); 
// or video = $('.video-selector')[0]; 
video.pause(); 
video.currentTime = 0; 
video.load(); 

Nota: Esta es la única versión que trabajó para yo en cromo usando nodejs (meteorjs) en el back-end, sirviendo webm & ogg archivos

+0

'video.load(); video.play(); ' No pude hacer que esto funcione sin carga. Creo que la API ha cambiado. –

0

Para restablecer un video en 0 segundos en jQuery:

$('#video')[0].currentTime = 0; 

O, en JS vainilla (Aunque esto se ha señalado más arriba):

var video = document.getElementById('video'); 
video.currentTime = 0;