Home » AS3 »Class »Flash » Currently Reading:

Reproducir audio en AS3

enero 12, 2007 AS3, Class, Flash 3 Comments
Reproducir audio en AS3

Este es un pequeño ejemplo de cómo reproducir archivos de audio en flash con actionscript 3.

Esta es la clase que crearemos:

  1. package {
  2.    import flash.display.Sprite;
  3.    import flash.net.URLRequest;
  4.    import flash.media.Sound;
  5.    import flash.media.SoundLoaderContext;
  6.    //--------------------------
  7.    public class Sonido extends Sprite {      
  8.       private var so:Sound;
  9.       private var url:URLRequest;
  10.       private var buffer:SoundLoaderContext;
  11.       private var ini:Number;
  12.       private var loop:Number;
  13.       //----------------------
  14.       public function Sonido(qUrl:String, qBuffer:Number, qIni:Number, qLoop:Number) {
  15.          url = new URLRequest(qUrl);
  16.          buffer = new SoundLoaderContext(qBuffer*1000);
  17.          ini = qIni*1000;
  18.          loop = (qLoop >= 0) ? qLoop : int.MAX_VALUE;
  19.          so = new Sound(url, buffer);
  20.          so.play(ini, loop);
  21.       }
  22.    }
  23. }

Debe ir en un archivo llamado “Sonido.as“, situado junto a nuestro archivo .FLA

Para utilizarla colocaríamos en nuestra película flash:

  1. import Sonido;
  2. var so:Sonido = new Sonido("audio.mp3", 3, 0, -1);

Explicación del código:

La clase contiene 5 variables privadas, 4 de las cuales debemos introducir como parámetro a la hora de generar la instancia. Estas variables son:

url: ruta del archivo mp3
buffer: tiempo del archivo de audio que estará cargado en memoria antes de reproducirse.
ini: posición en la que se comenzará a reproducir el audio
loop: cantidad de veces que se repetirá el audio.

No hay manera de asignar un loop que se repita continuamente, pero un truco para hacer esto sería colocar un número de repeticiones muy elevado, por eso este código:

  1. loop = (qLoop >= 0) ? qLoop : int.MAX_VALUE;

Controla que el valor que le introducimos sea mayor que cero. En caso de introducirle un valor negativo asignará el número de repeticiones al máximo posible en flash (int.MAX_VALUE) osea 2147483647.

Compártelo:

Reproducir audio en AS3
Visto 28.009 veces

Currently there are "3 comments" on this Article:

  1. […] Implementaremos la lectura de estos metadatos ID3 a la clase creada anteriormente. […]

  2. Rafael dice:

    Necesitaria una ayuda con este codigo ActionScript.

    Necesito reproducir 2 o mas archivos MP3.

    Esta es la web

    http://www.roinkan.com.ar/test

    y Estos son los archivos que quiero reproducir.

    http://www.roinkan.com.ar/HNA.mp3
    http://www.roinkan.com.ar/Dorime_Techno.mp3

    Este es el codigo Actionscript

    mySnd = new Sound(); // create sound object

    // to load your own sound put it on the web
    // and change the path below
    mySnd.loadSound("http://www.roinkan.com.ar/HNA.mp3",true);

    sndbar._visible = false; // hide the sound bar initally

    // onLoad executed when the sound completes to load
    mySnd.onLoad = function(){
    // set total time in seconds on the display instead of percentage
    totalseconds = Math.floor(mySnd.duration/1000);
    totaltime=Math.floor(totalseconds/60) + ":" + totalseconds%60;
    // show sound bar for playback
    sndbar._visible = true;

    }

    volume = 100;
    pause=0;

    function f1()
    {
    // percent loaded
    buffered=Math.floor((mySnd.getBytesLoaded()/mySnd.getBytesTotal())*100);

    // display progress on the display
    if(buffered

    Desde Ya Muchas Gracias.

  3. Facundo dice:

    Pasa que te falta convertir el string de la URL en URL para que el programa lo entienda.
    Algo así:

    mySnd.load(new URLRequest(http://www.roinkan.com.ar/HNA.mp3“));

Comment on this Article:








Twitter: zguillez

AdvertisementAdvertisementAdvertisementAdvertisement

Recibe las novedades por email



Map

Ranking

Codigoactionscript.org: 4.65 sobre 5 (106 valoraciones)

twitter-widget.com