HTML 5 & lt; audio & gt; - Lire le fichier à un certain moment
J'ai une simple lecture automatique morceau de code qui lit le fichier audio cependant, je me demandais ce soit en JavaScript ou en tant qu'attribut jouer ce fichier à un certain moment (ex. 3:26).
<script type="text/javascript">
var myAudio=document.getElementById('audio2')
myAudio.oncanplaythrough=function(){this.play();}
</script>
<audio id="audio2"
preload="auto"
src="file.mp3"
oncanplaythrough="this.play();">
</audio>
Toute aide serait super. Merci d'avance 🙂
source d'informationauteur Stephen Cioffi
Vous devez vous connecter pour publier un commentaire.
Quelques choses... votre script, vous devez après la balise audio.
Aussi, vous n'avez pas besoin de la
oncanplaythough
l'attribut de la balise audio, puisque vous êtes à l'aide de JavaScript pour gérer cela.En outre,
oncanplaythrough
est un événementpas une méthode. Nous allons ajouter un écouteur pour elle, ce qui va plutôt utilisercanplaythough
. Jetez un oeil à ceci:Et enfin, au début de la chanson, à un moment précis, il suffit de définir
currentTime
avant de lire le fichier. Ici je l'ai réglé à 12 secondes de sorte qu'il sera audible dans cet exemple, pour 3:26 vous utilisez 206 (secondes).Découvrez la démo live: http://jsfiddle.net/mNPCP/4/
MODIFIER: Il semble que
currentTime
peut mal être mis en œuvre dans les navigateurs autres que Firefox. Conformément à la résolution de ce déposé W3C bugquandcurrentTime
est défini, il doit alors le feu de l'canplay
etcanplaythrough
événements. Cela signifie dans notre exemple, Firefox pourrait jouer le premier de la deuxième ou de la piste audio indéfiniment, jamais de poursuivre la lecture. Je suis venu avec cette solution de contournement rapide, nous allons changertester pour voir si elle a déjà été définie, et donc empêcher la
canplaythrough
d'être appelé à plusieurs reprises:Cette interprétation de la spécification est encore actuellement en cours de discussion, mais pour l'instant, cette application devrait fonctionner sur la plupart des navigateurs modernes, avec prise en charge de HTML5 audio.
La mise à jour de jsFiddle: http://jsfiddle.net/mNPCP/5/
De l'utiliser.
La raison, j'ai utilisé setimeout est de donner un certain temps pour charger l'audio correctement. Cela permettra de résoudre votre problème