Comment puis-je savoir si un élément Audio HTML5 est de jouer avec Javascript
J'ai un audio
élément dans une page web, et je veux m'assurer que l'utilisateur n'est pas encore à jouer quand ils quittent la page. Comment puis-je être sûr de la audio
élément ne joue pas lorsque la page est déchargé? Jusqu'à présent, j'ai le code suivant, mais il ne semble pas fonctionner; la boîte de dialogue qui s'affiche lors de leur déchargement des rapports qui playing
est false
même lorsque l'audio est en cours de lecture:
<!DOCTYPE HTML><html>
<head>
<script><!-- Loading Scripts -->
function unloadTasks(){
if (playing && !window.confirm("A podcast is playing, and navigating away from this page will stop that. Are you sure you want to go?"))
window.alert("Here is where I will stop the page from unloading... somehow");
}
</script>
<script><!-- Player Scripts -->
var playing = false;
function logPlay(){
playing = isPlaying("e1audPlayer");
}
function isPlaying(player){
return document.getElementById(player).currentTime > 0 && !document.getElementById(player).paused && !document.getElementById(player).ended;
}
</script>
</head>
<body onunload="unloadTasks()">
<audio id="e1audPlayer" style="width:100%;" controls="controls" preload="auto" onplaying="logPlay()" onpause="logPlay()">
<source src="http://s.supuhstar.operaunite.com/s/content/pod/ADHD Episode 001.mp3" type="audio/mpeg"/>
<source src="http://s.supuhstar.operaunite.com/s/content/pod/ADHD Episode 001.ogg" type="audio/ogg"/>
Your browser does not support embedded audio players. Try <a href="http://opera.com/">Opera</a> or <a href="http://chrome.com/">Chrome</a>
</audio>
</body>
</html>
OriginalL'auteur Supuhstar | 2011-11-06
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur c0nstruct0r
Je crois que le navigateur s'arrête l'audio en tant que partie du processus de déchargement. Par conséquent, le temps de votre personnalisé décharger la fonction est appelée, l'audio a été arrêté.
Vous pouvez utiliser onbeforeunload au lieu de onunload - c'est peut-être (non testé).
Vous pouvez également définir un indicateur lorsque l'audio commence, et l'utilisation de la onended cas de changement que l'indicateur lorsque l'audio se termine, ou lorsque l'utilisateur s'arrête manuellement, ou mettre en pause.
Aussi, sur l'exemple, j'ai lié, la musique continue à jouer quand le dialogue est ouvert, ce qui signifie que le navigateur ne prend pas arrêter l'audio jusqu'à ce que la tâche(s) dans le
onunload
cas ont été réaliséesOriginalL'auteur Dan Blows