Uso de ASAudio para la reproducción de sonido de Flash fácil

En este breve tutorial, le presentaré ASAudio y la biblioteca AS3 que reduce enormemente la cantidad de código necesario para crear y manipular objetos de sonido en sus proyectos ActionScript..


Paso 1: Examinando ASAudio

ASAudio es una biblioteca de ActionScript 3 que reduce considerablemente la cantidad de código necesario para crear y manipular (cambios de volumen, paneo) de archivos de audio dentro de sus proyectos de ActionScript. Tradicionalmente, necesitarías hacer lo siguiente para cargar, reproducir y cambiar el volumen de un sonido dentro de ActionScript:

 var urlRequest: URLRequest = new URLRequest ("path / to / track.mp3"); var sound: Sound = new Sound (urlRequest); var soundChannel: SoundChannel = sound.play (); var soundTrans: SoundTransform = soundChannel.soundTransform; soundTrans.volume = .5; soundChannel.soundTransform = soundTrans;

Con ASAudio todo lo que necesitas hacer es lo siguiente

 var track: Track = new Track ("path / to / track.mp3"); track.start (); track.volume = .5;

Paso 2: Obtener la biblioteca

Dirígete a la página de Google Code del proyecto y descarga la última versión de ASAudio.

Una vez que lo haya descargado, extráigalo y copie la carpeta "com" que está dentro de la carpeta "src" en la carpeta donde creará su proyecto ActionScript..


Paso 3: Nuevo proyecto ActionScript

Inicie un nuevo proyecto de ActionScript y guárdelo en la carpeta de su proyecto como "asAudio.fla". Debajo del panel "PROPIEDADES", establece el color del escenario en blanco y dale un ancho y una altura de 500x150px.

Ahora cree un nuevo archivo ActionScript y guárdelo como "Main.as". Establece esto como tu clase de documento.


Paso 5: Importaciones y función constructora

Agregue lo siguiente a "Main.as" que creó en el paso anterior.

 paquete import flash.display.Sprite; import com.neriksworkshop.lib.ASaudio. *; import flash.media.Sound; import flash.events.MouseEvent; import flash.events.Event; La clase pública Main extiende Sprite public function Main () trace ("Working"); 

Aquí importamos las clases que necesitaremos a lo largo de este tutorial y configuramos nuestros Principal() constructor.


Paso 6: Track

los Pista Es la clase fundamental de ASAudio. Todo lo que haces con la biblioteca depende de la Pista. En este paso crearemos un nuevo Pista, y jugarlo. Ingrese el siguiente código arriba del Principal() dentro de "Main.as".

 var track: Track = new Track ("BoozeandBlues.mp3");

Y lo siguiente dentro del Principal() constructor.

 Función pública Main () track.start (); 

Para crear un Pista Pasas en un camino hacia el mp3. Entonces llamamos al comienzo() método de la Pista dentro Principal().

Si pruebas ahora debes escuchar el mp3.


Paso 7: Configuración de la interfaz

En este paso configuraremos la interfaz para el proyecto para que podamos controlar nuestros Pistaes.

Desde la ventana de componentes, arrastre 4 botones y un control deslizante al escenario. Puede acceder a la ventana Componentes seleccionando Ventana> Componentes o presionando CTRL + F7.

Dar a los botones las siguientes propiedades, una por una.

  • X: 21.00, Y: 61.00, Label: "Play TracK", Nombre de instancia: "playTrackBtn"
  • X: 175.00, Y: 61.00, Etiqueta: "Grupo de juego", Nombre de instancia "playGroupBtn"
  • X: 333.00, Y: 61.00, Label: "Play Playlist", Nombre de instancia "playListBtn"
  • X: 21.00, Y: 100.00, Etiqueta: "Stop Track", Nombre de instancia "stopTrackBtn"

Aquí hay una captura de pantalla de la configuración del primer botón..

Dale al deslizador las siguientes propiedades.

  • X: 21.00, Y: 29.00, Nombre de instancia: "trackSlider"
  • máximo: 1
  • mínimo: 0.1
  • snapInterval: 0.1
  • tickInterval: 0.1
  • valor: 1
  • liveDragging: "Asegúrate de que esté marcado"

Aquí establecemos algunos valores iniciales para el control deslizante. No los repasaré, ya que puedes consultar mi Consejo rápido que cubre la funcionalidad de los controles deslizantes..


Paso 8: Controlando la Pista

En este paso codificaremos la funcionalidad de inicio, parada y volumen para la pista que creamos en el paso anterior. Agregue lo siguiente a "Main.as".

 función pública Main () addListeners ();  función privada addListeners (): void trackSlider.enabled = false; playTrackBtn.addEventListener (MouseEvent.CLICK, playTrack); stopTrackBtn.addEventListener (MouseEvent.CLICK, stopTrack); trackSlider.addEventListener (Event.CHANGE, adjustTrackVolume); 

Aquí llamamos al addListeners () funcionar dentro de nuestro Principal() constructor. Dentro addListeners configuramos el deshabilitar el trackSlider y agregue escuchas a 3 de nuestros botones.


Paso 9: playTrack ()

los playTrack () La función le dirá a la pista para comenzar a reproducir. Agregue lo siguiente debajo de addListeners () Función que creaste en el paso anterior..

 función privada playTrack (e: MouseEvent): void trackSlider.enabled = true; track.start (); track.volume = 1.0; 

Aquí habilitamos el trackSlider toca el Pista utilizando la comienzo() Método y establecer el volumen de la pista utilizando la propiedad de volumen.


Paso 10: stopTrack ()

los stopTrack () Se utilizará la función para detener el Pista. Agregue lo siguiente debajo de playTrack () Función que has añadido en el paso anterior..

 función privada stopTrack (e: MouseEvent): void track.stop (); 

Aquí simplemente llamamos al detener() método en el Pista.


Paso 11: adjustTrackVolume ()

los adjustTrackVolume () Esta función se utilizará para ajustar el volumen del Pista. Agregue lo siguiente debajo de stopTrack () Función que creaste en el paso anterior..

 función privada adjustTrackVolume (e: Event): void track.volume = e.target.value; 

Aquí configuramos el volumen de la pista igual a los controles deslizantes valor propiedad. Debido a que establecemos el máximo en 1 y el mínimo en 0.1, siempre será un número entre 0.1 y 1.0 incrementado por décimos es decir, 0.1, 0.4, y así sucesivamente.

Si prueba la película ahora, debería poder reproducir, detener y ajustar el volumen de la película. Pista.


Paso 12: Grupos

Es posible que se haya estado preguntando para qué era el botón "Play Group"? Bueno, junto con ofrecer lo básico básico. Pista ASAudio tiene una noción de "Grupos" que le permite apilar sonidos y reproducirlos todos al mismo tiempo. Agregue lo siguiente dentro de addListeners () Función que creaste en el paso anterior..

 función privada addListeners (): void trackSlider.enabled = false; playTrackBtn.addEventListener (MouseEvent.CLICK, playTrack); stopTrackBtn.addEventListener (MouseEvent.CLICK, stopTrack); trackSlider.addEventListener (Event.CHANGE, adjustTrackVolume); playGroupBtn.addEventListener (MouseEvent.CLICK, playGroup); 

Aquí agregamos un Oyente a nuestro jugarGrupoBtn que llamará el guardería() función. Codificaremos esto al lado.


Paso 13: guardería()

Agregue lo siguiente debajo de adjustTrackVolume () La función que creaste en el paso anterior..

 función privada playGroup (e: Evento): void var group: Group = new Group ([new Track ("piano.mp3"), new Track ("drumbeat.mp3")]); group.start (); 

Aquí creamos un nuevo Grupo Al pasar en una matriz de pistas. Entonces llamamos al comienzo() método que le dice al Grupo para empezar a jugar.

Si realiza la prueba ahora, debería escuchar la reproducción de "piano.mp3" y "drumbeat.mp3" simultáneamente..


Paso 14: Lista de reproducción

Junto con ofrecer el Grupo, ASAudio tiene una noción de PlayList. los PlayList es como una lista de reproducción en un reproductor de MP3. Usted "pone en cola" las canciones y cuando una termina, continúa con la siguiente. Agregue lo siguiente dentro de addListeners función.

 función privada playPlayList (e: Event): void var playList: Playlist = new Playlist ([nueva pista ("piano.mp3"), nueva pista ("drumbeat.mp3")]); playList.loop = falso; playList.start (); 

Como el Grupo creamos un nuevo PlayList Al pasar en un Array of Tracks. Establecemos el PlayList para no hacer un bucle y llamar al comienzo() método.

Ahora puedes probar y ver el PlayList en acción.

Conclusión

Ha aprendido sobre ASAudio y ha visto cómo puede reducir en gran medida la cantidad de código necesario para crear audio dentro de sus proyectos de ActionScript. Esta biblioteca tiene más que ofrecer, incluidos los métodos de atenuación, pausa y silencio ... Le sugiero que eche un vistazo a la documentación para ver todo lo que está disponible. Espero que hayan encontrado esto útil y gracias por leer!