2010-11-06 5 views
1

en essayant de créer une sorte de fonction de playlist qui fonctionnera sur l'iPhone en utilisant une combinaison de HTML5 et de javascript. Je suis très nouveau sur la plateforme et j'espérais que quelqu'un ici pourrait m'aider à identifier le problème avec mon code. La première chanson est lancée automatiquement, mais quand elle se termine, la suivante ne se charge pas et ne joue pas. Le code javascript pour mon site est fourni ci-dessous, merci d'avance. (Mes excuses si ce code est terriblement foiré, je réunis ce de ce que iv appris et ce que je pouvais trouver des endroits différents en ligne)Nouveauté de Javascript, besoin d'aide avec HTML5 "playlist" audio

<script type="text/javascript"> 
var songname="Bottoms Up"; 
var counter=1; 
var totalsongs=3; 
while (counter<=totalsongs-1) { 
document.write(<h2>songname</h2>); 
switch (counter) { 
case 1: 
var nextSong="audio/Hey.mp3"; 
var audioPlayer=document.getElementById('audioPlayer'); 
audioPlayer.onend = function() { 
audioPlayer.src = nextSong; 
songname="Hey"; 
counter=(counter+1); 
if(counter>totalsongs-1) { 
counter=1; 
    } //if close 
    } //onend function close 
case 2: 
var nextSong="audio/I Like It.mp3"; 
var audioPlayer=document.getElementById('audioPlayer'); 
audioPlayer.onend = function() { 
audioPlayer.src = nextSong; 
songname="I Like It"; 
counter=(counter+1); 
if(counter>totalsongs-1) { 
counter=1; 
    } //if close 
    } //onend function close 
} //switch close 
} //while close 
</script> 
<center><audio src="audio/Bottoms Up.mp3" autoplay controls /></center> 

Répondre

0

Quelques choses:

Donnez l'élément audio un id:

<audio src="audio/Bottoms Up.mp3" autoplay controls id="audioPlayer" /></center> 

utiliser des tableaux au lieu de plusieurs variables:

var songs=({{"title": "First title","filename":"firstfile.mp3"}, 
     {"title": "Second title","filename":"secondfile.mp3"}}); 

Écoutez l'événement ended comme ceci:

document.getElementById("audioPlayer").addEventListener("ended", nextSong, false); 

Et placez le script dans l'élément <head>.

+0

désolé une dernière question, est-ce que l'auditeur de l'événement va dans le corps ou la tête? Je n'en ai pas utilisé un avant maintenant. – Andrew

+0

@Andrew: Dans la tête. – thejh

0
var audioPlayer=document.getElementById('audioPlayer'); 

... sera erreur, puisque l'élément ne dispose pas d'un identifiant .

+0

oh, je l'avais trouvé avec videoPlayer ailleurs et supposé que le nom serait le même, y at-il une ressource en ligne je devrais consulter pour trouver les noms pour de telles choses? – Andrew

+0

Le lecteur vidéo aurait toujours eu besoin d'un identifiant. Je suggère de lire la section "compétences de base JavaScript" à http://dev.opera.com/articles/view/1-introduction-to-the-web-standards-cur/#toc – Quentin

+0

oh maintenant je comprends ce que l'autre personne a fait, et je vais vérifier ce lien merci, je venais de travailler mon chemin à travers le guide javascript w3schools – Andrew

Questions connexes