我正在尝试使用下面的代码创建一个播放列表,但我似乎遇到了一些错误。 Firebug说play()
不是函数。请帮助我花了一半的时间来寻找解决方案。这是我的代码:
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script>
var current, playlist;
current = 0;
function() {
current++;
var songs = Array("en_ra1.mp3", "en_ra2.mp3", "en_ra3.mp3", "en_ra0.mp3");
playlist = songs.length;
if (current == playlist) {
//do nothing or stop
} else {
this.playOptions = document.getElementById("audio").src = songs[current];
this.playOptions.play();
}
}
</script>
</head>
<body>
<audio id="audio" onended="loadplaylist()" src="ny_option1.mp3" controls ></audio>
注意:当我包含autoplay属性时,尽管firebug控制台中显示错误,但它仍能正常工作。
答案 0 :(得分:2)
我没看到你宣布loadplaylist
函数的位置,可能是一个错字
在你的函数中,你将this.playOptions
设置为从数组返回的字符串,而不是播放器,我认为你的函数应该是这样的:
function loadplaylist() {
current++;
var songs = Array("en_ra1.mp3", "en_ra2.mp3", "en_ra3.mp3", "en_ra0.mp3");
playlist = songs.length;
if (current == playlist) {
//do nothing or stop
} else {
this.playOptions = document.getElementById("audio");
this.playOptions.src = songs[current];
this.playOptions.play();
}
}