Comunidad de diseño web y desarrollo en internet

Reproducir audio mp3 en Actionscript 3

Este es un pequeño ejemplo de cómo reproducir archivos de sonido en Flash o Flex con actionscript 3.

Esta es la clase que crearemos:

Código :

package {
   import flash.display.Sprite;
   import flash.net.URLRequest;
   import flash.media.Sound;
   import flash.media.SoundLoaderContext;
   //--------------------------
   public class Sonido extends Sprite {      
      private var so:Sound;
      private var url:URLRequest;
      private var buffer:SoundLoaderContext;
      private var ini:Number;
      private var loop:Number;
      //----------------------
      public function Sonido(qUrl:String, qBuffer:Number, qIni:Number, qLoop:Number) {
         url = new URLRequest(qUrl);
         buffer = new SoundLoaderContext(qBuffer*1000);
         ini = qIni*1000;
         loop = (qLoop >= 0) ? qLoop : int.MAX_VALUE;
         so = new Sound(url, buffer);
         so.play(ini, loop);
      }
   }
}

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

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

Código :

import Sonido;
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:

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.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate