Este componente va a contener la lista de canciones de nuestro reproductor MP3 y nos va a permitir cambiar de tema al pulsar sobre sus elementos.
Los otros dos componentes que nos quedan son dos del tipo Label, que nos van a indicar el título de la canción que se está reproduciendo y el número de temas en la lista. Sus respectivos nombres de instancia son titulo_lb y cantidad_lb .
A continuación teneís el código comentado que va en la línea de tiempo principal, que además es el único de toda la película, exceptuando unas pequeñas líneas asociadas al componente lista.
// código en línea de tiempo principal
// ajustes iniciales
System.useCodepage = true;
// evitamos problemas con los nodos en blanco
XML.prototype.ignoreWhite = true;
// defino un estilo global para los componentes
_global.style.setStyle("fontSize", 10);
// en este array almacenaré las canciones
var array_temp:Array = new Array();
// objeto XML que carga la lista de archivos
var lista_xml:XML = new XML();
lista_xml.onLoad = cargarLista;
// vuelco el contenido del XML
// en el componente lista
function cargarLista():Void {
array_temp = this.firstChild.childNodes;
if (!isNaN(array_temp.length)) {
// numero de temas
titulo_lb.text = array_temp.length+" temas";
// relleno la lista
for (var k:Number = 0; array_temp[k]; k++) {
temas_list.addItem(array_temp[k].attributes.nombre);
}
// carga la primera canción
cargarMP3(0);
}
}
// con esta función cargo el mp3 dentro del
// componente mediaplayback
function cargarMP3(indice:Number):Void {
controlador.setMedia("/mp3/"+array_temp[indice].attributes.nombre, "MP3");
controlador.play(0);
}
// rutinas para pasar a la siguiente canción
// cuando termine la actual
var listenerObject:Object = new Object();
listenerObject.complete = function(eventObj:Object) {
_root.tema_actual++;
if (_root.tema_actual>=array_temp.length) {
_root.tema_actual = 0;
}
cargarMP3(_root.tema_actual);
};
controlador.addEventListener("complete", listenerObject);
// cargo la lista de reproducción
lista_xml.load("/asp/verLista.asp");
// esta línea sería del tipo
// lista_xml.load("miLista.xml");
// si empleo un archivo de texto
// plano con formato XML
Ahora sólo queda el código asociado al componente lista.
on (change) {
_root.cargarMP3(this.selectedIndex);
}
Podéis descargaros este mismo ejemplo y ver cómo funciona: mp3player.zip , contiene todos los archivos necesarios para ejecutarlo en un servidor ASP excepto los propios MP3, que ocupan varios megas.
Usuarios que han visto este tema también han visto...
- Papel de cebolla en Flash
- Uso de listeners en ActionScript 2.0
- Precarga sin ActionScript en Flash
- Papel Cebolla en Flash
- Edición y exportación de un sonido en Flash
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.