MP3 Player en AS2
- 07/02/2008
- 1:47 am
Flash es una herramienta poderosa que permite acceder y controlar multitud de fuentes de datos, entre ellas acceso a sonido a través de archivos MP3, en esta ocasión veremos como implementar un reproductor de MP3 básico.
Reproduciendo Sonido
El primer paso es reproducir un determinado archivo de sonido, para ello utilizamos la clase Sound, la cual incluye los métodos necesarios para la reproducción de sonido. Para cargar el sonido utilizamos el método loadSound.
-
var music:Sound = new Sound();
-
music.loadSound("sound.mp3", true);
-
music.start();
Hasta este punto estamos cargando un archivo llamado sound.mp3 y lo estamos reproduciendo. Lo siguiente es detectar cuando se ha cargado el archivo y cuando se ha terminado de reproducir, esto para controlar adecuadamente el comportamiento del player.
-
var music:Sound = new Sound();
-
music.loadSound("sound.mp3", false);
-
music.onLoad = function() {
-
// acciones para mostrar el progreso
-
}
-
music.onSoundComplete = function() {
-
// acciones para reiniciar el player
-
}
Agregando Barras de Progreso
El siguiente paso es crear los elementos visuales que nos ayudarán a mostrar el comportamiento de nuestro player. Creamos una barra de progreso para nuestro reproductor, con un movieclip: mcTime para mostrar el progreso de la reproducción. Adicionalmente creamos un campo de texto inTime para mostrar en números el avance de la reproducción. Luego implementamos las funciones necesarias para mostrar nuestras barras de progreso.
-
var mcPath:MovieClip = this;
-
var wTime:Number = mcTime._width;
-
-
var music:Sound = new Sound();
-
music.loadSound("sound.mp3", false);
-
music.onLoad = function() {
-
startProgress();
-
}
-
music.onSoundComplete = function() {
-
stopProgress();
-
}
-
function startProgress() {
-
mcPath.onEnterFrame = function() {
-
inTime.text = "TIME:"+music.position+"/"+music.duration;
-
mcTime._width = wTime*(music.position/music.duration);
-
}
-
}
-
function stopProgress() {
-
delete mcPath.onEnterFrame;
-
}
Agregando controles de reproducción
El último paso para tener nuestro reproductor completo es agregarle los controles: btPlay para iniciar la reproducción, btPause para pausar la reproducción, btMute para poner el mudo el sonido y btUnmute para activar el sonido.
-
var timer:Number = 0;
-
var mcPath:MovieClip = this;
-
var wTime:Number = mcTime._width;
-
-
var music:Sound = new Sound();
-
music.loadSound("sound.mp3", false);
-
music.onLoad = function() {
-
startProgress();
-
btPlay.enabled = true;
-
}
-
music.onSoundComplete = function() {
-
timer = 0;
-
btPlay._visible = true;
-
stopProgress();
-
}
-
function startProgress() {
-
delete mcPath.onEnterFrame;
-
mcPath.onEnterFrame = function() {
-
inTime.text = "TIME:"+music.position+"/"+music.duration;
-
mcTime._width = wTime*(music.position/music.duration);
-
}
-
}
-
function stopProgress() {
-
delete mcPath.onEnterFrame;
-
}
-
btPlay.enabled = false;
-
btPlay.onRelease = function() {
-
music.start(timer/1000);
-
btPlay._visible = false;
-
}
-
btPause.onRelease = function() {
-
timer = music.position;
-
music.stop()
-
stopProgress();
-
btPlay._visible = true;
-
}
-
btMute.onRelease = function() {
-
music.setVolume(0);
-
btMute._visible = false;
-
}
-
btUnmute.onRelease = function() {
-
music.setVolume(100);
-
btMute._visible = true;
-
}
Como pueden observar para controlar el volumen hemos utilizado el método setVolume y para hacer la pausa hemos utilizado un artilugio ya que la clase Sound no tiene una propiedad para hacer pausar el sonido, para ello guardamos la posición en la cual se hace el llamado a detener el sonido y luego reproducimos a partir de ese punto.
Finalmente les dejo los archivos fuente de este ejemplo para que lo descarguen y modifiquen de acuerdo a sus necesidades.
Posts Relacionados
- JW Flash Video Player
- Adobe Media Player
- flowPlayer: FLV Player
- FlashTracer: Trace en Firefox
- SWFObject 1.5
Total de Comentarios: 17
Impresionante!
Genial Tuto!
Muy buen blog ademas!, lo eh estado siguiendo hace un par de semanas, tal vez te abras dado, cuenta ya que estas en mi blog roll
Saludos y Muchas Gracias!
Ya que estais con el tema podiais hacer algo parecido a Dilandau.com con el tema este del mp3 player para web.
Por cierto he visto que teneis en marcha este proyecto :
No es mejor que en lugar de google realice búsquedas en goear.com y last.fm y desde el cual se puedan descargar el mp3.
Un Saludo
He estado investigando un poco más y viendo el archivo que teneis para realizar un buscador mp3 mediante google.
He encontrado una fórmula de búsqueda que puede ser interesante para el buscador de mp3, es la siguiente :
-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(wma|mp3) “U2″
Con esto podemos encontrar facilmente cualquier archivo mp3 y wma que google tenga indexado, pudiendo añadir más tipos de archivo s a la búsqueda si lo deseamos.
Cuando intento abrir el fla Flash 8 me dice: “Formato de archivo inesperado”.
¿Qué podrá ser? Gracias…
El archivo estaba en formato Flash CS3, ya lo he guardado en formato Flash 8 y lo he actualizado para que lo puedan utilizar.
La nueva ruta de descarga es:
http://www.box.net/shared/gxlaq6lwgc
hola unijimpe
queria saber el mismo reproductor
pero con varios mp3
es lo mismo ?
[...] bonito reproductor de mp3s es el que nos muestra unijimpe. Este reproductor tiene sus bases en flash, permitiendonos manejarla bajo un loadsound, implentando [...]
Hola y seria mucho pedir que lo pusieras en flashmx profesional 2004, ami en ningun caso me abre nada y esta interesante, bueno gracias.
Hola Luis, me gustaría ayudarte pero la versión que tengo de Flash solo me permite guardar en Flash CS3 o Flash 8. A ver si alguno de nuestros visitantes lo puede guardar con compatibilidad con Flash MX 2004 para ayudarte.
Bueno, gracias por tener este espacio y por compartir tus conocimientos, saludos.
Hola a todos… gracias unijimpe por dejarnos tus conocimientos y experiencia para que todos podamos aprender de ella… Te queria preguntar una sola cosa… con este reproductor es posible cargar varios mp3?… es decir hacer una pequeña lista para que los pueda ir reproducciendo el visitante uno a uno?… ahh, otra cosa mas… se puede poner a que se reproduzca automaticamente al ingresar en la pagina?… de antemano muchas gracias por tu tiempo y saludos.
como se podria hacer para que cuendo termine de reproducirse empieze otra vez en automatico (osea que sea ciclico)
saludos xion
bueno ya lo tengo solo puse
music.start(timer/1000);
en la funcion onSoundComplete
sale gracias
hummm todos queremos un buscador y reproductor de mp3 tipo callevip
cuando lo vas hacer ?????
cuando


