117 votes

Comment savoir si un élément <video> est en cours de lecture ?

Je constate que le Élément de média L'interface expose des attributs tels que paused , seeking et ended . Il manque toutefois à cette liste playing .

Je sais qu'il y a playing événements qui s'enflamme lorsqu'un élément commence jouer, et timeupdate événements périodiquement pendant la lecture, mais je cherche un moyen de déterminer si une vidéo est en cours de lecture. dès maintenant . Existe-t-il un moyen simple de le déterminer ?

Le plus proche que j'ai est :

!(video.paused || video.ended || video.seeking || video.readyState < video.HAVE_FUTURE_DATA)

2voto

user9106349 Points 11
var vid = document.getElementById("myVideo");
vid.onplaying = function() {
alert("The video is now playing");};

vous pouvez utiliser cette voir ceci

1voto

Sanjay C Points 11

Vous pourriez vérifier l'état readyState s'il est supérieur ou égal à HAVE_FUTURE_DATA et si paused est faux. Cela pourrait confirmer que la vidéo est en cours de lecture.

Comme elle l'a expliqué dans l'affaire https://html.spec.whatwg.org/ l'événement de jeu sera déclenché lorsque : "readyState est nouvellement égal ou supérieur à HAVE_FUTURE_DATA et paused est false, ou paused est nouvellement false et readyState est égal ou supérieur à HAVE_FUTURE_DATA"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X