Está en la página 1de 2

REPRODUCTOR MP3 EN FLASH

En este tutorial vamos a aprender a realizar un reproductor MP3 con Flash, con su lista de
reproduccin. Como vamos a emplear componentes, veris lo fcil que es la programacin del
ejemplo.

COMO HACERLO.Vamos a depositar los archivos MP3 en un directorio en la raiz del servidor
web llamado mp3. Si disponemos de la capacidad para ejecutar alguna tecnologa de servidor
como ASP o PHP, crearemos dinmicamente un archivo XML con los nombres de los archivos
MP3. Si no tenemos ninguna de estas tecnologas a nuestro alcance lo mejor es crear el archivo
XML manualmente y depositarlo en el servidor. En cualquier caso, el XML que suministra los
datos deber tener esta estructura.
<?xml version='1.0' ?><exploracion carpeta='mp3'><archivo nombre='2_pi_r.mp3' /><archivo
nombre='Brain_Stew.mp3' /><archivo nombre='Carrera_Rapida.mp3' /><archivo
nombre='Feel_The_Pain.mp3' /><archivo </exploracion>

En nuestro ejemplo empleamos ASP, para ello nos basamos en el tutorial Como leer los
archivos que hay en una carpeta del servidor con ASP y pasarlo a Flash.
El archivo que usamos genera esta salida.

Ya en Flash, arrastramos cuatro componentes al stage desde el panel de componentes. Primero


arrastramos un componente MediaPlayback que se va a encargar de la reproduccin de los
archivos MP3, le ponemos como nombre de instancia controlador. Con el componente
seleccionado, pinchamos en la pestaa parmetros de la barra de propiedades para abrir el
Inspector de componentes. Una vez abierto, asignamos los parmetros como se muestra en
la figura.
Despus posicionamos en el stage un componente del tipo lista y le ponemos como nombre de
instancia temas_list.
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
ttulo de la cancin que se est reproduciendo y el nmero de temas en la lista. Sus
respectivos nombres de instancia son titulo_lb y cantidad_lb.
A continuacin tenes el cdigo comentado que va en la lnea de tiempo principal, que adems
es el nico de toda la pelcula, exceptuando unas pequeas lneas asociadas al componente
lista.
// cdigo en lnea de tiempo principal // ajustes iniciales System.useCodepage = true;//
evitamos problemas con los nodos en blancoXML.prototype.ignoreWhite = true;// defino un
estilo global para los componentes_global.style.setStyle("fontSize", 10);// en este array
almacenar las cancionesvar array_temp:Array = new Array();// objeto XML que carga la lista de
archivosvar lista_xml:XML = new XML();lista_xml.onLoad = cargarLista;// vuelco el contenido del
XML// en el componente listafunction cargarLista():Void { array_temp = this.firstChild.childNodes;if
(!isNaN(array_temp.length)) {// numero de temastitulo_lb.text = array_temp.length+" temas";//

relleno la listafor (var k:Number = 0; array_temp[k]; k++) {


temas_list.addItem(array_temp[k].attributes.nombre);}// carga la primera cancincargarMP3(0);}}//
con esta funcin cargo el mp3 dentro del// componente mediaplaybackfunction
cargarMP3(indice:Number):Void {controlador.setMedia("/mp3/"+array_temp[indice].attributes.nombre,
"MP3");controlador.play(0);}// rutinas para pasar a la siguiente cancin// cuando termine la
actualvar 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 reproduccinlista_xml.load("/asp/verLista.asp");// esta lnea sera del tipo //
lista_xml.load("miLista.xml");// si empleo un archivo de texto// plano con formato XML

Ahora slo queda el cdigo asociado al componente lista.


on (change) {_root.cargarMP3(this.selectedIndex);}

Podis descargaros este mismo ejemplo y ver cmo funciona: mp3player.zip, contiene todos
los archivos necesarios para ejecutarlo en un servidor ASP excepto los propios MP3, que
ocupan varios megas.

También podría gustarte