No estoy puesto en AS3, pero me parece que lo que haces es pasar una URL al loader diciéndole qué imagen cargar; si esa URL no está en tu array, entonces le cargas una imagen predefinida.
Bien, en principio yo metería en el array las URL en formato String, con lo que el array cargado sería algo como esto:
songList("/img/imagen1.jpg","/img/imagen2.jpg",....) hasta el nº de imágenes que tuvieras cargado.
Si en algún caso la canción en concreto no tuviera una imagen asociada, este valor dentro del array sería "", o sea:
songList("/img/imagen1.jpg","/img/imagen2.jpg","","/img/imagen4.jpg",....)
De esta forma, lo que tienes que preguntar es si el item del índice[x] está en "":
Código :
if(songlist[currentIndex] != ""){
ldr.source= songlist[currentIndex];
}else{
ldr.source= "/img/default-medium.jpg";
}
Otro caso sería que no hubiese en el array tantos elementos como el número de índice que pides, esto es, que el número de índice que solicitas es el 5 y el array sólo tiene 3 elementos. Para eso, e incluyendo la aproximación que te he puesto antes, yo escribiría el siguiente código:
Código :
var totalList:int = songlist.length;
if(currentIndex < totalList && songlist[currentIndex] != ""){
ldr.source= songlist[currentIndex];
}else{
ldr.source= "/img/default-medium.jpg";
}
De esta manera compruebas, por un lado, que el índice sea correcto, y por otro, que haya una URL en el índice solicitado.
No sé si la solución es muy ortodoxa, pero en cualquier caso espero que te sirva de ayuda o te dé una pista de cómo hacerlo correctamente.
Un saludo