54 votes

lecteur audio html5 - jquery bascule cliquez sur lecture / pause?

Je me demande ce que je fais mal?

     $('.player_audio').click(function() {
    if ($('.player_audio').paused == false) {
        $('.player_audio').pause();
        alert('music paused');
    } else {
        $('.player_audio').play();
        alert('music playing');
    }
});
 

Je n'arrive pas à démarrer la piste audio si je clique sur la balise "player_audio".

 <div class='thumb audio'><audio class='player_audio' src='$path/$value'></audio></div>
 

aucune idée de ce que je fais mal ou de ce que je dois faire pour le faire fonctionner?

107voto

Drahomír Hanák Points 773

Il faut appeler des méthodes personnalisées par le biais du déclencheur dans jQuery. Faites juste ceci:

 $('.play').trigger("play");
 

Et la même chose pour $ ('. Play'). Trigger ("pause"); Cela fonctionne pour moi alors j'espère que cela vous sera utile.

75voto

jAndy Points 93076

Eh bien, je ne suis pas sûr à 100%, mais je ne pense pas que jQuery étend / analyse ces fonctions et attributs ( .paused , .pause() , .play() ).

essayez d'accéder à ceux sur l'élément DOM, comme

 $('.player_audio').click(function() {
  if (this.paused == false) {
      this.pause();
      alert('music paused');
  } else {
      this.play();
      alert('music playing');
  }
});
 

17voto

edwardsharp Points 564

Je ne sais pas pourquoi, mais je devais utiliser l'ancien document skool.getElementById ();

 <audio id="player" src="http://audio.micronemez.com:8000/micronemez-radio.ogg"> </audio>
<a id="button" title="button">play sound</a>
 

et le JS:

 $(document).ready(function() {
  var playing = false;

  $('a#button').click(function() {
      $(this).toggleClass("down");

      if (playing == false) {
          document.getElementById('player').play();
          playing = true;
          $(this).text("stop sound");

      } else {
        document.getElementById('player').pause();
        playing = false;
        $(this).text("restart sound");
      }

  });
});
 

Découvrez un exemple: http://jsfiddle.net/HY9ns/1/

16voto

David Sinclair Points 86

Ce fil était très utile. Le sélecteur jQuery doit indiquer à quel élément du code suivant le code s’applique. Le plus simple est d’ajouter un

     [0]
 

tel que

     $(".test")[0].play();
 

2voto

Sankar V Points 2154

Javascript / JQuery pour contrôler les éléments audio HTML5 - Cochez ce lien - explique How to handle/control the HTML5 audio elements with Javascript/Jquery? . Cela peut vous aider!

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