Cristalab

                 ¿Quieres registrarte?

Controlar volumen de un audio con Actionscript 3

Por: Hernán
18 de Noviembre del 2008
2728 de clabLevel
Otros artículos de Hernán
3,076 visitas

Este es un tip fácil de como controlar el volumen dentro de un objeto Sound usando Actionscript 3 y el SoundTransform.

Código :

package {
   import flash.display.Sprite;
   import flash.net.URLRequest;
   import flash.media.Sound;
   import flash.media.SoundTransform;
   import flash.media.SoundLoaderContext;
   import flash.media.SoundChannel;
   //--------------------------
   public class Sonido extends Sprite {
      private var soundObject:Sound;
      private var channel:SoundChannel;
      private var url:URLRequest;
      private var buffer:SoundLoaderContext;
      private var init:Number;
      private var loop:Number;
      //----------------------
      public function Sonido(Value_URL:String, Value_Buffer:Number, Value_Init:Number, Value_Loop:Number) {
         url = new URLRequest(Value_URL);
         buffer = new SoundLoaderContext(Value_Buffer*1000);
         soundObject = new Sound(url, buffer);
         channel = soundObject.play(Value_Init, Value_Loop);
      }
      public function setVolume(vol:Number) {
         var transform:SoundTransform = channel.soundTransform;
         transform.volume = vol ;
         channel.soundTransform = transform;
      }
   }
}


Básicamente cuando damos play, usamos Channel para asignarle un identificador y luego creamos la función setVolume() asignando al Channel el objeto Sound Transform, para controlar en este caso el Volumen.

Espero le sirva a alguien.


Artículos Relacionados


Etiquetas flash actionscript_3 audio

Comentarios | Enviar un comentario
Este tip me trae recuerdos :)

Un poco más de explicación del código o un ejemplo de como implementarlo no le hubiese venido mal al tip ;)
Por: Zguillez
muy bueno,

si, coincido con Z, y si por ahí poner el swf también ayuda, no mucho pero ayuda
Por: eldervaz
por aca nosotros implementamos todo el show de esas clases en una sola, nos ha funcionado bien

solo hay que aplicarla como clase base a un audio de la libreria y listo!
(necesitas TweenLite)

ejem:

var soundItem:SoundItem = new CustomSound();
soundItem.volume = 0;
soundItem.play();
soundItem.fade(1,500);

aca esta la url por si gustan descargarla
http://labs.grupow.com/?p=9

Saludos!
Por: raul-blog

Zguillez :

Este tip me trae recuerdos :)

Un poco más de explicación del código o un ejemplo de como implementarlo no le hubiese venido mal al tip ;)


Si, de hecho esta basado en ese, pasa que el control del volume no solo no es fácil para migrar de AS 2 a 3, sino que si le das F1 al flash, verás que te indica como una método y no propiedad el volume (Fuckers).

Muy buen aporte la clase de música, muy fácil y práctica ;)
Por: Hernán
mmmm pero no explicas mucho como hacerlo solo tiras el codigo y ya!
Por: ptala-blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.