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(); }
Mi problema es que deseo hacer un reproductor de loops (un tanto pesados) y para que al terminar la canción no vaya a la siguiente cambié la última función
Código :
function alTerminar(objeto){ player.setMedia("musica/"+lista.selectedItem.data, "MP3"); player.play(); }
Pero hay un momento de silencio entre el fin y el inicio, lo que hace que suene horrible.
Si alguien me pudiera ayudar a encotrar una solución se lo agredecería mucho.
