J'ai fait un test audio javascript. Toute la fonction fonctionne dans Opera FF et Chrome, à l'exception de audio.oncanplaythrough, et audio.onended (cette fonction ne fonctionne pas sur Chrome).
<!DOCTYPE html> <html> <body> <script> var audio = new Audio("http://www.w3schools.com/html5/song.ogg"); audio.oncanplaythrough = function(){ audio.play(); } audio.onended = function(){ alert('ended'); } </script> <a href="#" onclick="audio.play();">start</a><br/> <a href="#" onclick="audio.pause();">pause</a><br/> <a href="#" onclick="audio.volume=prompt('from 0 to 1',0.7)">volume</a><br/> <a href="#" onclick="audio.currentTime = 3;">jump</a><br/> </body> </html>
oncanplaythrough
est un événement, pas une méthode, et l'autre événement est appelé ended
et non onended
.
Donc, vous devez écouter les événements et agir sur eux. Essayer:
audio.addEventListener('ended', function() { alert('ended'); }, false);
et
audio.addEventListener('canplaythrough', function() { audio.play(); }, false);
Ajouter et jouer un son via JavaScript
var audioElement = document.createElement('audio'); audioElement.setAttribute('src', 'loading.ogg'); audioElement.play();
Obtenez le chemin de fichier de la chanson et la durée
audioElement.src; audioElement.duration;
Chargez un son
var audioElement = document.createElement('audio'); audioElement.setAttribute('src', 'Mogwai2009-04-29_acidjack_t16.ogg'); audioElement.load() audioElement.addEventListener("load", function() { audioElement.play(); $(".duration span").html(audioElement.duration); $(".filename span").html(audioElement.src); }, true);
Arrêtez une chanson
audioElement.pause();
Changer de volume
audioElement.volume=0;
Jouez exactement à 35 secondes dans la chanson
audioElement.currentTime=35; audioElement.play();