|
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.
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
durationduración del sonido en milisegundos
positionposición de la reproducción en milisegundos desde el inicio
Método
Descripción
attachSoundasocia un sonido al objeto Sound
getVolumerecupera el valor del volumen (0 a 100)
getPanrecupera el valor del panorama (-100 a 100)
getTransformrecupera el vector de transformación
setVolumeasigna un volumen
setPanasigna un panorama
setTransformasigna el vector de transformación
loadSoundcarga un sonido externo
startempieza la reproducción
stoppara la reproducción
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 vecesPara 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:
jukebox