2014-09-05 1 views
0

J'ai un petit problème avec mon lecteur mp3 html personnalisé. Une fois que le lecteur a terminé la chanson, le bouton de pause est toujours là, bien qu'il devrait y avoir le bouton de lecture afin que vous puissiez jouer à nouveau la chanson en cliquant dessus.Passer de pause à jouer le bouton après la chanson automatiquement

voici mon code:

<!doctype html> 
<html> 

<head> 

<script type="text/javascript"> 
      function play() 
      { 
       document.getElementById("player").play(); 
       document.getElementById("pausebutton").style.display = ""; 
       document.getElementById("playbutton").style.display = "none"; 




      } 

      function pause() 
      { 
       document.getElementById("player").pause(); 
       document.getElementById("playbutton").style.display = ""; 
       document.getElementById("pausebutton").style.display = "none"; 
      } 


</script> 

</head> 

<body onload="play()"> 

<audio id="player"> 
      <source src="test.mp3" type="audio/mpeg"></source> 

     </audio> 
     <img src="play.png" onclick="play()" id="playbutton" style="display: none"/> 
     <img src="pause.png" onclick="pause()" id="pausebutton" /> 

</body> 
</html> 

merci à l'avance

+0

Regardez dans l'événement "terminé" sur l'audio tag/élément. Voici quelques [exemples] (http://forestmist.org/blog/html5-audio-loops/) –

+0

@ i-- document.getElementById ("lecteur"). AddEventListener ('terminé', fonction pause(); – oldbloke

+0

Oui, tant que vous ciblez IE9 ou supérieur.Sinon, vous pouvez simplement faire 'document.getElementById (" player ") .onended = fonction ...' –

Répondre

0

Vous pouvez essayer d'ajouter les éléments suivants dans votre balise script:

window.onload = function() { 
    var player = document.getElementById("player"); 
    if (player) { 
     player.onended = function() { 
      pause(); 
      player.currentTime = 0; 
     }; 
    } 
}; 
+0

mh, ça marche pas le son ne peut plus être joué EDIT: je me trompais le son fonctionne – oldbloke

+0

non le bouton ne se réinitialise pas – oldbloke

+0

Vous pouvez essayer d'ajouter 'player.currentTime = 0;' ci-dessous ou au-dessus de la 'pause();' ligne –

Questions connexes