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.

Por eveevans el 12 de Enero de 2007
extends Sprite
Por open_eye el 12 de Enero de 2007
Gracias
Por Paulo el 12 de Enero de 2007
so.play(ini, loop);
en un bucle?
eveevans_blog :
Siempre que quieras colocar algo en la linea de tiempo de tu pelicula (ya sea un Movieclip, un video, un audio...) has de extender de Sprite
Paulo_blog :
so.play(ini, loop);
en un bucle?
Al pasarle el valor de repetición ya lo estas metiendo en un bucle. Lo que no puedes definirlo como bucle infinito... pero el valor int.MAX_VALUE hace que se repita 2147483647, con lo que no creo que nadie llegue al final del bucle...
Código :
package { import flash.display.Sprite; import flash.net.URLRequest; import flash.media.Sound; import flash.media.SoundLoaderContext; //-------------------------- public class Sonido extends Sound{ //public var so:Sound; private var path:URLRequest=null; private var buffer:SoundLoaderContext; private var ini:Number; private var loop:Number; //---------------------- public function Sonido(qUrl:String, qBuffer:Number, qIni:Number, qLoop:Number) { path = new URLRequest(qUrl); buffer = new SoundLoaderContext(qBuffer*1000); ini = qIni*1000; loop = (qLoop >= 0) ? qLoop : int.MAX_VALUE; //so = new Sound(url, buffer); this.load(path, buffer) //so.play(ini, loop); this.play(ini,loop); } } }Por Javier el 10 de Abril de 2007
En AS2 es mas simple que eso exportar un sonido...
Por ramiro_o el 27 de Abril de 2007
Por el 02 de Julio de 2007
Desde ya muchas gracias.
Lomay
Por DevosDev el 24 de Septiembre de 2007
Por luifer el 12 de Octubre de 2007
que tenga la voz del comentario que queremos
gracias enviame la respuesta a lufealfa@gmail.com
gracias. no te demores....
Por rOY!!! el 01 de Febrero de 2008
2º Sprite es un contenedor de datos, al igual que un movieclip. La unica diferencia es que el movieclip tiene timeline y el sprite no, por ende el movieclip importa mas codigo que un sprite (el sprite es mas liviano).
Por carlosdj el 08 de Marzo de 2008
porque veo que hay una qURK;
que signfica
ayuda please!!!!!!!!!!!!!!!!!1
Por Pabloq el 30 de Abril de 2008
Mi idea es hacer un botón para on y otro para off. ¿Qué tengo que poner en el botón de off para detener el sonido?
Por Carlos el 19 de Noviembre de 2008
Por fantom76fa el 16 de Diciembre de 2008
pero tengo que confesar que no he podido hacer sonar una canción en mi página de inicio y mucho menos poder controlar el play y el stop.... uso flash con AS 3.0 y solo veo ejemplos para AS 2.0... si lo hago por ese lado funciona pero ya tengo mi pagina montada en la version 3.0
si pudiera orientarme un poco se lo agradeceria infinitamente...
Hasta pronto y gracias por su atención
Por vjdv el 11 de Febrero de 2009
Por Gabriel el 24 de Octubre de 2009
(Un script AS3 y un fla conteniendo la interfase.
http://www.coconnut.com/blog/2008/09/22/flash-cs3-canales-de-sonido-en-actionscript-3/#comments
si alguien encuentra la forma de hacer andar el SonidoPrincipal sin pulsar Play (que inicie automaticamente al cargar), agradecerè que lo posteen acà.
Por robertosebastian92 el 15 de Noviembre de 2009
Por Diseño Webo el 17 de Diciembre de 2009
Por Chory el 23 de Mayo de 2010
Por Ramur el 27 de Agosto de 2010
Por drawell el 09 de Diciembre de 2011