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

user14631264 Points 11

Je me suis demandé si ce code fonctionnerait, et il a étonnamment fonctionné :

if (a.paused == false) {
/*do something*/
}

ou vous pourriez l'écrire comme :

if (!a.paused == true) {
/*do something*/
}

si vous voulez que votre IDE vous ennuie dans JSfiddle.

0 votes

Vous pourriez aussi remplacer "paused" par "running" et cela fonctionnerait toujours.

2voto

Ricardo Ferreira Points 118

Vous pouvez utiliser l'événement onplay.

var audio = document.querySelector('audio');
audio.onplay = function() { /* do something */};

o

var audio = document.querySelector('audio');
audio.addEventListener('play', function() { /* do something */ };

0 votes

La deuxième méthode semble fonctionner le mieux. Firefox, Linux Mint, dans le pied de page script.

2voto

Rahul Paithane Points 11

Essayez ce code :

    var myAudio = document.getElementById("audioFile"); 

    function playAudio() { 
          //audio.play(); 
          //console.log(audio.play())
           if (myAudio.paused && myAudio.currentTime >= 0 && !myAudio.started) {
         myAudio.play();
         console.log("started");
     } else {
         myAudio.pause();
     }
}

0 votes

Bonjour et bienvenue à SO ! Bien que ce code puisse répondre à la question, fournir un contexte supplémentaire concernant comment et/ou pourquoi il résout le problème améliorerait la valeur à long terme de la réponse. Veuillez lire le visite y Comment rédiger une bonne réponse ?

1voto

Alex Ivasyuv Points 1750

Pour vérifier si l'audio commence vraiment à être lu, en particulier si vous avez un flux, vous devez vérifier que audio.played.length a 1 . Il sera 1 seulement si l'audio est vraiment des sons de départ. Sinon, il sera 0 . Il s'agit plutôt d'un hack, mais qui fonctionne même dans les navigateurs mobiles, comme Safari et Chrome.

-1voto

J'utilise ce code jquery avec le bouton de remorquage play et stop, le bouton play est un bouton play et pouse.

const help_p = new Audio("audio/help.mp3");//Set Help Audio Name
$('#help_play').click(function() {//pause-Play
if (help_p.paused == false) {
  help_p.pause();//pause if playing
} else {
  help_p.play();//Play If Pausing
}
});

$('#help_stop').click(function() {//Stop Button
  help_p.pause();//pause
  help_p.currentTime = 0; //Set Time 0
});

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