Veo que los MediaElement expone la interfaz de atributos como paused
, seeking
, y ended
. Sin embargo, falta en la lista playing
.
Sé que hay playing
eventos que se activan cuando un elemento comienza a reproducirse y timeupdate
eventos de eventos periódicamente durante la reproducción, pero estoy buscando una manera de determinar si un video se está reproduciendo en este momento . ¿Existe una manera fácil de determinar esto?
Lo más cercano que tengo es:
!(video.paused || video.ended || video.seeking || video.readyState < video.HAVE_FUTURE_DATA)
fuente
var video = $('selector').children('video'); var videoElement = video.get(0); if (!videoElement.paused) {}
Una forma de hacerlo usando Jquery
fuente
Vea mi respuesta aquí: etiqueta de video HTML5, javascript para detectar el estado de reproducción?
Básicamente, como se dijo antes, no hay una propiedad única para verificar, pero de acuerdo con la especificación, es una combinación de condiciones.
fuente
Estaba enfrentando el mismo problema. La solución es muy simple y directa:
// if video status is changed to "ended", then change control button to "Play Again" video.onended = function() { $("#play_control_button").text("Play Again"); }; // if video status is changed to "paused", then change control button to "Continue Play" video.onpause = function() { $("#play_control_button").text("Continue Play"); }; // if video status is changed to "playing", then change control button to "Stop" video.onplaying = function() { $("#play_control_button").text("Stop"); };
fuente