160 votes

HTML5 vérifie si l'audio est en cours de lecture ?

Quelle est l'api javascript pour vérifier si un élément audio html5 est en cours de lecture ?

0 votes

-3voto

Todd Moses Points 7192

Bien qu'il n'y ait pas de méthode appelée isPlaying ou quelque chose de similaire, il existe quelques moyens d'y parvenir.

Cette méthode permet d'obtenir le pourcentage de progression pendant la lecture de l'audio :

function getPercentProg() {
    var myVideo = document.getElementById('myVideo');
    var endBuf = myVideo.buffered.end(0);
    var soFar = parseInt((endBuf / myVideo.duration) * 100);
    document.getElementById('loadStatus').innerHTML =  soFar + '%';
}

Si le pourcentage est supérieur à 0 et inférieur à 100, le jeu se poursuit, sinon il est arrêté.

0 votes

Erm, et si je mets l'audio en pause au milieu ?

1 votes

Alors il ne serait pas en train de jouer.

0 votes

Cela ne détecte que la quantité mise en mémoire tampon. Si, par exemple, l'élément audio a commencé à mettre des données en mémoire tampon mais n'a pas commencé la lecture parce qu'il n'a pas assez de données, cette méthode peut toujours renvoyer true. Ou si l'élément a mis en mémoire tampon des données dans le cadre de la lecture et a ensuite été mis en pause.

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