© Stelios Kourakis 2005

< indice de programación

Sonido en Flash

El sonido es un elemento fundamental en cualquier aplicación multimedia. Y como no, Flash nos permite una cierta flexibilidad en el momento de manejarlo.

Para introducir sonido en una pelicula, tenemos dos opciones:

Añadir el sonido en la línea de tiempo. Arrastrando un sonido a una capa de la pelicula permite que suena este sonido cuando la pelicula llegue al fotograma que lo contiene. Se pueden especificar algunas propiedades del sonido y algunas opciones de reproducción con la barra de las propiedades, que dan un cierto control al desarrollador. Estos parametros se cambian a través de la ventana de propiedades, seleccionando el fotograma que contiene el sonido. Flash contiene una buena descripción de las opciones en su ayuda.

Usar sonidos via ActionScript. Las posibilidades de manipulación de sonido aumentan mucho si se programa con ActionScript. Con ActionScript podemos tener control directo sobre como y cuando se reproduce un sonido, reaccionando a posibles acciones del usuario. Este será el enfoque de esta sesión.

 

El objeto Sound

La manipulación de sonidos en Flash gira al torno del objeto Sound. Este es un objeto que nos proporciona ActionScript para reproducir y controlar diferentes clips de sonido. El objeto Sound no contiene la información de música en si, pero ofrece maneras de controlar y manipular todas las propiedades de la reproducción. El sonido en si está en la biblioteca.

Las propiedades y métodos que nos ofrece el objeto Sound son:

Propiedad

Descripción

duration

duración del sonido en milisegundos

position

posición de la reproducción en milisegundos desde el inicio

 

Método

Descripción

attachSound

asocia un sonido al objeto Sound

getVolume

recupera el valor del volumen (0 a 100)

getPan

recupera el valor del panorama (-100 a 100)

getTransform

recupera el vector de transformación

setVolume

asigna un volumen

setPan

asigna un panorama

setTransform

asigna el vector de transformación

loadSound

carga un sonido externo

start

empieza la reproducción

stop

para la reproducción

 

Programando sonidos en Flash

Importando los sonidos

Antes de usar sonido, primero tenemos que importar los archivos que nos interesan a la biblioteca (Archivo-> Importar a biblioteca). Luego, tenemos que asociar un identificador a cada clip de sonido que vamos a usar en la pelicula. Vamos a cada clip de sonido en la biblioteca, clic derecha, Vinculación, y seleccionamos Exportar para ActionScript. En la casilla de Identificador asociamos un identificador memorable - este será el identificador que usaremos luego para referirnos a cada clip que queremos reproducir.

Creando y usando los objetos Sound

Por cada sonido que queremos controlar, tenemos que crear una instancia del objeto Sound. Pensemos que el objeto sound es como un reproductor de CDs (el aparato físico). Le podemos asignar un nuevo CD (corresponde a una loadSound o attachSound), iniciar o parar la reproducción (métodos start y stop), ajustar el volumen y panorama (métodos setVolume, setPan), saltar a un momento determinado de la reproducción, o cambiar a otro CD con diferente música.

Cada objeto sound tiene que estar vinculado a un clip de pelicula diferente, si queremos control independiente. Creamos el objeto Sound especificando el movie clip de destino:

miSonido = new Sound(destino_mc)

Luego, asociamos un sonido a esta instancia, usando el método attachSound. El identificador especificado corresponde al identificador en la biblioteca:

miSonido.attachSound("musica-cubana");

Para empezar la reproducción desde el principio, usamos el método start. Para empezar desde un segundo determinado, y/o para hacer un determinado número de bucles, usamos los parametros de start

miSonido.start(); //empieza desde 0, y reproduce hasta el final
miSonido.start(10, 1) // empieza en el segundo 10 y reproduce hasta el final 
miSonido.start(10, 100) //empieza en el segundo 10 y repite la música 100 veces

Para parar la reproducción, usamos el método stop.

miSonido.stop() 

Para ajustar el volumen, usamos el método setVolume, el parametro es el porcentaje de volumen deseado.

miSonido.setVolume(60)

El panorama se ajusta usando el método setPan. Los valores van de -100 (sólo canal izquierda) hasta 100 (sólo canal derecha).

miSonido.setPan(0)

Adicionalmente, podemos usar las propiedades de solo lectura position y duration para averiguar la posición actual de la reproducción y la duración total del sonido (ambas en milisegundos).

trace (miSonido.duration)
trace (miSonido.position) 

 

Si queremos manipular diferentes sonidos independientemente, nos tenemos que asegurar que cada objeto Sound está vinculado a un clip de pelicula diferente!

 

Seguimos la exploración con unos tutoriales:

juguete de sonidos.

jukebox

 

 

< indice de programación