Javascript audio onload

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();