Comunidad de diseño web y desarrollo en internet

Clase Playback para reproducir sonidos en AS3

Algo que me molesta mucho es cuando quiero "disparar" sonidos simples, en juegos por ejemplo, ya que me gusta sólo hacer una línea y ya. Es sólo un efecto no un player.

Por eso pensé las tres opciones más comunes que tengo que usar:


  • El sonido
  • La cantidad de Veces a Reproducir
  • El Volumen


Para ello la clase PlayBack() permite hacer uso de la siguiente manera:

Código :

// Importamos la Clase
import clases.Playback;
// Creamos una instancia
private var fx:Playback;
// Inicializamos. sound_ok es el linkage de mi libreria, 
//podríamos crearlo aparte, pero para simplificar lo codee directo. 
//El segundo valor 1 reproducirá el sonido una vez y 0.1 es el volumen
fx = new Playback(new sound_ok(), 1, 0.1);


También añadí algunos métodos de acceso:

  • pausePlayBack() -> Crea una pausa en la reproducción
  • restartPlayBack() -> Luego del pause vuelve a hacer funcionar el sonido


Aquí la Clase:

Código :

package clases {
   
   import flash.media.Sound;
   import flash.media.SoundTransform;
   import flash.media.SoundChannel;

   public class Playback {
      
      private var mp3:Sound;
      private var channel:SoundChannel;
      private var times:Number;
      private var volume:Number;
      private var transform:SoundTransform;
   
      function Playback(Music:Sound, Times:Number, Volume:Number ) {
         mp3 = Music;
         times = Times;
         volume = Volume;
         transform = new SoundTransform(volume);
         init();
      }
      private function init():void {
         channel = mp3.play(0, times, transform);
      }
      public function pausePlayBack():void {
         transform = channel.soundTransform;
         transform.volume = 0;
         channel.soundTransform = transform;      
      }
      public function restartPlayBack():void {
         transform = channel.soundTransform;
         transform.volume = volume;
         channel.soundTransform = transform;      
      }
   }

}


- Espero les sirva de algo ! . -

Saludos, Hernán . -

¿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