Inicio | Registro | Foros | Ayuda | Contacto
Zips del Conocimiento
  Contenido
Cursos y manuales
Directorio de Cursos, Manuales y Tutoriales
Libros digitales gratis
Capsulas del Saber
Tests Online
Archivo de Zips
Envío de Zips
Servicios

  Populares
- Las gafas de sol
- Características de los compuestos orgánicos
- Los 10 principios del Nuevo Marketing
- Tutorial: Eliminar virus y amenazas de la carpeta _restore
- Verduras contra el cáncer
- Poner manualmente fechas en Castellano
- Superan la velocidad de la luz
- Obtener más espacio y privacidad al eliminar los temporales
- Teoría de las inteligencias múltiples
- Cuando cocines que ya no te preocupe la cantidad
- Ensalada de bacalao
- Qué clase de piso escojo
- Se exitoso en internet
- Descubren causa de la gran mortandad de la Gripe Española
- Prepararse para una mesa de examen


 :: Controlar el volumen de varios sonidos de modo independiente

Debido a un bug que arrastra Flash desde sus primeras versiones, si definimos varios sonidos en la misma línea de tiempo y luego deseamos controlar su volumen de manera autónoma con ActionScript nos encontraremos con una desagradable sorpresa ¡¡¡no podemos!!!
Al modificar el nivel del volumen de uno de los sonidos con el método setVolume escucharemos como se modifica el volumen de todos a la vez.

Siguiendo la documentación de Flash, y suponiendo que tenemos dos sonidos en nuestra biblioteca del documento abierto, y que estos sonidos tienen activada la opción de vinculación en exportar con sus respectivos identificadores, este código debería funcionar bien:

var grillos_snd:Sound=new Sound();
var pajaros_snd:Sound=new Sound();
grillos_snd.attachSound("grllos");
pajaros_snd.attachSound("grllos");
grillos_snd.start(0, 5000);
pajaros_snd.start(0, 5000);
pajaros_snd.setVolume(20); // aquí es donde falla, se establece el volumen a 20 para los dos sonidos

El modo de solucionarlo es definir cada sonido para una línea de tiempo diferente pasando un clip como parámetro en la función constructora de cada objeto Sound, es decir:

var miSonido:Sound= new Sound(parametro_clip);

Podemos automatizar esto con con la función siguiente de ActionScript 2.0, donde le pasamos como parámetro el identificador del sonido en la biblioteca:

function crearSonido(identificador:String):Sound {
var clip:MovieClip = this.createEmptyMovieClip("contenedor"+this.getNextHighestDepth(), this.getNextHighestDepth());
var sonido:Sound = new Sound(clip);
sonido.attachSound(identificador);
return sonido;
}

Un ejemplo de uso, teniendo la función definida, sería:

var grillos_snd:Sound = crearSonido("grillos");
var pajaros_snd:Sound = crearSonido("pajaros");
grillos_snd.start(0, 5000);
pajaros_snd.start(0, 5000);
grillos_snd.setVolume(20); // ahora sí que controlamos los dos
pajaros_snd.setVolume(70); // sonidos de modo independiente

Con esta función en lugar de definir un sonido con var miSonido:Sound=new Sound(); y luego hacer el attachSound, lo que hacemos es usar var miSonido:Sound = crearSonido("identificador_en_biblioteca");
----------------------------------------------------------------
Autor y Licencia de esta obra:
www.tutoriales-flash.com
Licencia Creative Commons: creativecommons.org/licenses/by-sa/2.5/deed.es


 
  Opciones
Zips GRATIS en tu email:

  Agregar a favoritos
 Versión Imprimible Versión Imprimible
 Enviar a un Amigo Enviar a un Amigo

Compartir:

delicious
  yahoo meneame

Zips Populares
- Folder Maker personaliza tus carpetas
- Eliminar la personalización de carpetas
- Medinalia radio y la televisión online
- Comunicación verbal y no verbal
- Nacimiento de Venus de Botticelli
- Ejercicios para reducir la pancita
- Planetas gaseosos gigantes se forman rápidamente







Si buscas algún curso manual guía recurso definición libro ó ebook gratis este es tu lugar.
Sindicar contenidos
Educación no formal - Diario Tecnológico - Cursos Gratis - ConocimientosWeb
Todos los logos y nombres mencionados de marcas que se publican en este sitio son de sus respectivos dueños.
Condiciones de Uso