3 de julio de 2008

Documentación Mp3Player - ActionScript 2.0

Hola !

Les traigo una api que hice hace un tiempo pero se me había pasado compartirlo, es para hacer reproductores mp3 en flash con actionscript 2.0, es muy sencillita de utilizar.

Documentación:

------------------------------------------------------------------------------------------------

Paquete: com.jahepi.mp3player
Clase: public class Track
Herencia: Object

Encapsula las propiedades básicas de una pista.

Propiedades Públicas


url:String
Dirección del mp3.

name:String
Nombre del mp3.

------------------------------------------------------------------------------------------------

Paquete: com.jahepi.mp3player
Clase: public class Player
Herencia: Object

La clase Player te permite crear reproductores flash de manera sencilla, el objetivo de esta clase era el no acoplar los elementos gráficos y así tener la libertad de realizar tus propios diseños de reproductores.

Se emplearon 3 patrones de diseño para la realización, uno de ellos el Singleton, esto quiere decir que solamente se puede obtener una instancia de la clase Player, esto lo hice porque en las aplicaciones se utiliza un solo reproductor por lo general.

Además con Singleton tenemos un acceso global a nuestra instancia.

El siguiente fue el Patrón de Estado, para manejar los diferentes estados en el que puede estar un reproductor como cuando esta en pausa, en reproducción, etc., y por último uno que va de la mano con el Patrón de Estado , una Fábrica-Peso Ligero para no estar creando instancias de nuestros estados cada ves que se requieran.

Propiedades Públicas

stream:Bolean
Valor booleano que indica si la carga del mp3 se hace en modo stream.

volume:Number
Número del 0 al 100 que indica el volumen del track en reproducción.

Métodos Públicos

[Static] getInstance:Player
Con este método estático obtenemos la instancia de nuestro Player.

addTrack(track:Track):Void
Añade un objeto track a la lista de reproducción.

removeTrackAt(index:Number):Track
Remueve un objeto track de la lista de reproducción.

getTrackAt(index:Number):Track
Obtenemos un objeto track de la lista de reproducción de acuerdo al índice pasado como parámetro.

tracksIterator():IIterator
Devuelve un objeto iterador para recorrer la lista de reproducción.

playTrackAt(index:Number):Void
Inicia la reproducción de un track de la lista de reproducción de acuerdo al índice pasado como parámetro.

playNextTrack():Void
Inicia la reproducción del siguiente track en la lista de reproducción.

playPrevTrack():Void
Inicia la reproducción del anterior track en la lista de reproducción.

getCurrentTrack():Track
Obtenemos el track actual de la lista de reproducción.

stop():Void
Cancela la reproducción del track actual en la lista.

play():Void
Inicia la reproducción del track actual de la lista.

pause():Void
Pausa la reproducción del track actual de la lista.

getSeconds():Number
Obtenemos el número de segundos de la reproducción del track actual de la lista.

getTrackLoadPercentage():Number
Obtenemos el porcentaje de carga del track actual de la lista.

getTrackPlayingPercentage():Number
Obtenemos el porcentaje de reproducción del track actual de la lista.

setTrackPosition(percentage:Number):Void
Cambiamos la posición de reproducción del track actual, el parámetro percentage debe se un número entre el 0 y 100, como 10.2, 99, 32.45, etc…, si el player esta en modo stream y se pone un porcentaje mayor al cargado, este se ajustará automáticamente.

Eventos

TRACKLOADINGPROGRESS
Evento que se dispara cada ½ segundo cuando empieza la carga del track hasta finalizar.

TRACKLOADINGSTART
Evento que se dispara cuando la carga del track inicia.

TRACKLOADINGCOMPLETE
Evento que se dispara cuando la carga del track finaliza.

TRACKCOMPLETE
Evento que se dispara cuando finaliza la reproducción total del track.

TRACKPLAYING
Evento que se dispara cada ½ segundo cuando el track esta en reproducción hasta finalizar.

ERROR
Evento que se dispara al ocurrir un error inesperado.

------------------------------------------------------------------------------------------------

Les dejo el archivo junto a un ejemplo para que vean cómo se utiliza, cualquier pregunta no duden en contactarme.

ARCHIVO

Ojalá les sea útil.

Un saludote !