Ciao a tutti sto cercando di creare un player audio, utilizzando solo javascript e il tag <audio>.
Al momento funziona solo se selezione manualmente la canzone che voglio ascoltare, ma volevo far si che si creasse una sorta di playlist e che alla fine di ogni canzone partisse la successiva.
Per far riprodurre la canzone che selezione utilizzo questa funzione:
codice:
function setSrcAudio(song){
player = document.getElementById("player");
player.setAttribute("src",song);
}
che viene chiamata quando premo un link, come questo:
Per la playlist pensavo di assegnare a ciascuna canzone un indice numerico crescente, e di utilizzare una variabile, inizializzata a 1, per identificare la canzone da riprodurre; variabile che ogni volta che termina una canzone viene incrementata di uno, passando quindi alla canzone successiva.
Ciascun link alle canzoni, è contenuto in un tag <dd>, in questo modo:
quindi pensavo di assegnare l'indice numerico come ID al tag <dd> e poi "pescare" il link in quanto figlio.
Per assegnare l'indice numerico sto usando questa funzione, che però non funziona (scusate il gioco di parole)
codice:
function setPlaylist(){
var ddList = document.getElementsByTagName("dd");
for(i=1; i <= ddList.length; i++){
ddItem = ddList.item(i);
ddItem.setAttribute("id",i);
if(i==ddList.length){
alert("Attributes setted up");
}
}
}
La console del browser mi restituisce questo errore:
codice:
Uncaught TypeError: Cannot call method 'setAttribute' of null
E adesso sono bloccato. Non riesco a trovare l'errore e non so come andare avanti. Qualcuno riesce a darmi una mano a trovare l'errore, o magari un metodo più semplice per creare la playlist?