Reproducir un archivo mp3 externo con actionscript 3.0
Bien primero buscamos el archivo mp3 en la red,, por ejemplo: entramos a www.altavista.com > seleccionamos mp3 audio/ buscamos algun artista por ejemplo aerosmith > buscar > y encontraremos algo como:
http://www.gamegringo.com/anna/Aerosmith%20-%20Janie's%20Got%20a%20Gun.mp3
es un archivo mp3 colgado en la red, a la que podemos llamar desde una película flash
aahora vamos con flash.
[CODIGO]
//primero declaramos nuestra variable cancion:
var cancion:Sound=new Sound();
//ahora declaramos la ubicacion
var ubicacion:URLRequest=new URLRequest("http://www.gamegringo.com/anna/Aerosmith%20-%20Janie's%20Got%20a%20Gun.mp3");
//ahora solo queda darle la ubicacion a nuestra cancion:
cancion.load(ubicacion);
//la reproducimos
cancion.play();
[/CODIGO]
,,,bien ahora algo mas completo,, pues podemos saber como va el progreso de carga, el buffer , etc.
[CODIGO]
//estas directivas por si necesitamos usar un archivo A.S 3.0
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.media.Sound;
import flash.net.URLRequest;
//creamos nuestro archivo sonido y le agregamos eventos
var s:Sound = new Sound();
//este permite saber como va el progreso de carga en porcentaje de la cancion en el buffer
s.addEventListener(ProgressEvent.PROGRESS, onLoadProgress);
//permite saber si la cancion ha sido cargado totalmente
s.addEventListener(Event.COMPLETE, onLoadComplete);
//por si hubiera un error como no entontrar el achivo mp3, etc
s.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
//esto lo explique arriba
var req:URLRequest = new URLRequest("http://www.gamegringo.com/anna/Aerosmith%20-%20Janie's%20Got%20a%20Gun.mp3");
s.load(req);
//muestra el progreso de carga
function onLoadProgress(event:ProgressEvent):void
{
var loadedPct:uint =
Math.round(100 * (event.bytesLoaded / event.bytesTotal));
trace("The sound is " + loadedPct + "% loaded.");
}
//si la cancion esta cargada completamente pone la cancion en play
function onLoadComplete(event:Event):void
{
var localSound:Sound = event.target as Sound;
localSound.play();
}
//si hubiese error
function onIOError(event:IOErrorEvent)
{
trace("The sound could not be loaded: " + event.text);
}
ARCHIVO EJEMPLO
DESCARGAR FLA AQUI
Tuesday, September 25, 2007
Usar el evento EnterFrame en action script 3.0
Bien explicaré este evento de la siguiente manera:
ANTES.- quiero hacer una animación en la que tengo un circulo y hacer que desaparezca aplicandole alpha de 100 % a 0%. Se puede hacer de dos formas:
1.-Creamos nuestro objeto circulo lo arrastramos> convertir a símbolo> y dejas que la línea de tiempo corra,,,, y empieze y termina la animación, si queremos que se detenga le pones stop(); al final del fotograma.
2.-Es a donde queremos llegar, COMO CREAMOS ESTA ANIMACION DESDE ACTION SCRIPT 3.0=? ,, y sobre todo como animarla, crear la linea de tiempo, y finalizarla aqui es donde necesitaremos usar el evento enterFrame. aqui la forma:
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
// Dibujar un círculo y añadirlo a el lienzo con addChild
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0x990000);
circle.graphics.drawCircle(50, 50, 50);
circle.graphics.endFill();
addChild(circle);
// Cuando se inicia esta animación, se llama a esta función en cada fotograma.
// El cambio provocado por esta función (actualizado en la pantalla en cada
// fotograma) es lo que hace que se produzca esta animación.
function fadeCircle(event:Event):void
{
circle.alpha -= .05;
if (circle.alpha <= 0)
{
circle.removeEventListener(Event.ENTER_FRAME, fadeCircle);
}
}
//esta funcion startAnimacion crea el evento CLICK para que al hacer click en el circulo
//se inice el evento ENTER_FRAME
function startAnimation(event:MouseEvent):void
{
circle.addEventListener(Event.ENTER_FRAME, fadeCircle);
}
circle.addEventListener(MouseEvent.CLICK, startAnimation);
ahora si quisieramos que se inicie el evento sin hacer click en circulo, hacemos lo siguiente:
//remplazamos las 4 ultimas lineas por(quitando la funcion click):
circle.addEventListener(Event.ENTER_FRAME, fadeCircle);
aqui vemos el ejemplo
click para iniciar el evento enterFrame
Bien explicaré este evento de la siguiente manera:
ANTES.- quiero hacer una animación en la que tengo un circulo y hacer que desaparezca aplicandole alpha de 100 % a 0%. Se puede hacer de dos formas:
1.-Creamos nuestro objeto circulo lo arrastramos> convertir a símbolo> y dejas que la línea de tiempo corra,,,, y empieze y termina la animación, si queremos que se detenga le pones stop(); al final del fotograma.
2.-Es a donde queremos llegar, COMO CREAMOS ESTA ANIMACION DESDE ACTION SCRIPT 3.0=? ,, y sobre todo como animarla, crear la linea de tiempo, y finalizarla aqui es donde necesitaremos usar el evento enterFrame. aqui la forma:
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
// Dibujar un círculo y añadirlo a el lienzo con addChild
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0x990000);
circle.graphics.drawCircle(50, 50, 50);
circle.graphics.endFill();
addChild(circle);
// Cuando se inicia esta animación, se llama a esta función en cada fotograma.
// El cambio provocado por esta función (actualizado en la pantalla en cada
// fotograma) es lo que hace que se produzca esta animación.
function fadeCircle(event:Event):void
{
circle.alpha -= .05;
if (circle.alpha <= 0)
{
circle.removeEventListener(Event.ENTER_FRAME, fadeCircle);
}
}
//esta funcion startAnimacion crea el evento CLICK para que al hacer click en el circulo
//se inice el evento ENTER_FRAME
function startAnimation(event:MouseEvent):void
{
circle.addEventListener(Event.ENTER_FRAME, fadeCircle);
}
circle.addEventListener(MouseEvent.CLICK, startAnimation);
ahora si quisieramos que se inicie el evento sin hacer click en circulo, hacemos lo siguiente:
//remplazamos las 4 ultimas lineas por(quitando la funcion click):
circle.addEventListener(Event.ENTER_FRAME, fadeCircle);
aqui vemos el ejemplo
click para iniciar el evento enterFrame
Labels:
action script 3.0,
evento enterframe,
flash cs3
Subscribe to:
Posts (Atom)