Новичок в Javascript, нужна помощь с HTML5 аудио "плейлист" - PullRequest
1 голос
/ 06 ноября 2010

Я пытаюсь создать что-то вроде плейлиста, который будет работать на iPhone, используя комбинацию HTML5 и javascript.Я очень плохо знаком с платформой, и я надеялся, что кто-то здесь может помочь мне определить проблему с моим кодом.Первая песня правильно воспроизводится автоматически, но когда она заканчивается, следующая не загружается и не воспроизводится.Код javascript для моего сайта приведен ниже, спасибо заранее.(мои извинения, если этот код ужасно испорчен, я собрал это из того, что я узнал и что я мог найти в разных местах онлайн)

<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>

Ответы [ 2 ]

0 голосов
/ 06 ноября 2010

Несколько вещей:

Дайте элементу audio идентификатор:

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

Использовать массивы вместо многих переменных:

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

Прослушайте событие ended как это:

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

И поместите скрипт в элемент <head>.

0 голосов
/ 06 ноября 2010
var audioPlayer=document.getElementById('audioPlayer');

… произойдет ошибка, поскольку элемент не имеет идентификатора.

...