Por lo pronto si
audio es id le falta
# --> $('#audio')
He probado esto. De inicio ejecuta el tema predefinido y, si le agrego el siguiente con el botón, al terminar el que está ejecutando lo reproduce también.
Código Javascript
:
Ver original$(document).ready(function() {
$("#addsong").click(function(e) {
$("#tracks").append("<li><a href='../audio/knockingOnHeavensDoor-backingTrack.mp3'>Enlace</a></li>");
});
var audio, par, link, lista, tracks, current;
init();
function init() {
current = 0;
audio = $('#audio');
lista = $('#lista');
tracks = lista.find('li a');
var len = tracks.length - 1;
run(lista.find('a'), audio[0]);
lista.find('a').click(function(e) {
e.preventDefault();
link = $(this);
current = link.parent().index();
run(link, audio[0]);
});
audio[0].addEventListener('ended', function(e) {
current++;
if (current === len) {
current = 0;
link = lista.find('a')[0];
} else {
link = lista.find("a")[current];
}
run($(link), audio[0]);
});
}
function run(link, player) {
player.src = link.attr('href');
par = link.parent();
par.addClass('active').siblings().removeClass('active');
audio[0].load();
audio[0].play();
}
});
Código HTML:
Ver original <div id="lista" class="lista"> <li><a href="../audio/school.mp3">School
</a></li> <input type="submit" id="addsong" value="Add" > <audio id="audio" tabindex="0" controls=""> <source type="audio/mp3" src="">