Mira, ya lo tengo, la verdad que era bastante mas facil de lo que me pensaba, jeje.
Pruebalo y me dices a ver si te da algún error, simplemente cambia tu codigo actual por este y listos.
Código :
import mx.controls.List;
import mx.controls.MediaPlayback;
//Cargamos el XML
canciones = new XML();
canciones.ignoreWhite = true;
canciones.onLoad = function(success){
if (success){
//Shortcuts
nCancion = 0;
cancion = canciones.firstChild;
num_total = canciones.firstChild.childNodes.length;
//Creamos y llenamos la lista
crearLista();
//Creamos el reproductor
crearPlayer();
//Comenzamos a reproducir por la primera canción
iniciar();
}
else{
trace("No se pudo cargar la lista de canciones");
}
}
canciones.load("lista.xml");
///////////////////////////////////////////////////////////////////
/////////////////////////// LISTENERS ///////////////////////////
///////////////////////////////////////////////////////////////////
lista.addEventListener("change", alCambiar);
player.addEventListener("complete", alTerminar);
///////////////////////////////////////////////////////////////////
/////////////////////////// FUNCIONES ///////////////////////////
///////////////////////////////////////////////////////////////////
function iniciar(){
//Seleccionamos la primera canción y ejecutamos
lista.selectedIndex = nCancion;
player.setMedia("musica/"+lista.selectedItem.data, "MP3");
player.play();
}
function crearLista(){
//Posicionamos la lista de las canciones
lista.setSize(180,200);
lista._x = 220;
lista._y = 0;
//Llenamos la lista con las canciones
misDatos = new Array();
lista.dataProvider = misDatos;
for (var i=0; i<num_total; i++) {
misDatos.addItem({label: cancion.childNodes[i].firstChild, data: cancion.childNodes[i].firstChild});
}
}
function crearPlayer(){
//Posicionamos el reproductor
player.setSize(200,200);
player._x = 0;
player._y = 0;
//Propiedades del reproductor
player.controllerPolicy = "on";
player.mediaType = "MP3";
}
//Cuando cambiamos la canción seleccionada en la lista... cargamos la nueva canción, y ejecutamos
function alCambiar (objeto){
if (objeto.type == "change"){
player.setMedia("musica/"+lista.selectedItem.data, "MP3");
player.play();
}
};
function alTerminar(objeto){
//Pasamos a la siguiente canción
nCancion++;
lista.selectedIndex = nCancion;
//Si hemos llegado a la última pasamos a la primera
if (nCancion == num_total){
lista.selectedIndex = 0;
}
player.setMedia("musica/"+lista.selectedItem.data, "MP3");
player.play();
}Deu!!

PD: Qué código tan viejo y feo, no parece ni mío