Google Web after-hours

Contador en flash JSFL Traductor
Con esta función, evitamos que el sonido se ‘dispare’ de repente, creando un efecto fade al iniciar o finalizar un loop.

Parámetros
soundObj: objeto sonido
startLevel: volumen inicial
maxLevel: volumen máximo
inc: incremento

setVolumen = function (soundObj, startLevel, maxLevel, inc) {
	soundObj.setVolume(startLevel);
	this.createEmptyMovieClip("loopSound", this.getNextHighestDepth());
	startLevel<maxLevel ? vol=inc : vol=-inc;
	this.loopSound.onEnterFrame = function() {
		startLevel += vol;
		soundObj.setVolume(startLevel);
		if (soundObj.getVolume() == maxLevel) {
			delete loopSound.onEnterFrame;
		}
	};
};

Uso
Se crea el objeto Sound()

musica_ambiente = new Sound(this);
musica_ambiente.attachSound("ambience");

Como iniciar sonido

musica_ambiente.setVolume(0);
musica_ambiente.start(0, 9999);
setVolumen(musica_ambiente, 1, 100,1);

Como desactivar

setVolumen(musica_ambiente, musica_ambiente.getVolume(), 0, 1);

Como reactivar

setVolumen(musica_ambiente, musica_ambiente.getVolume(), 100, 1);

Nota
El archivo de sonido, debe ser vinvulado desde la biblioteca para actionScript, para ver como vincular un objeto sonido ver Objeto Sound - Básico

6 Responses to 'Sound Fader'

  1. Raúl Jiménez Says:

    Lo suyo serí a extender la clase Sound para meter un par de métodos nuevos, en plan fadeIn() y fadeOut(), y así tenerlos para siempre.

    Con la base de lo que has hecho aquí implementarlo no deberí a ser muy difí cil, jeje.

    Buen ejemplo!! ;)

  2. tonilopez Says:

    Hola Raúl:

    Tienes razón, aunque con un método bastarí a, eso si por claridad mejor dos.

    Saludos.

  3. Galileo Says:

    Me gusta toni y propongo una cosa al hilo de lo que comenta Raúl ¿que tal un update?

  4. tonilopez Says:

    Wenga :)

  5. alejandro Says:

    como haria para controlar el volumen q esta en un frame,.sin usar linkage?,..gracias,..
    lo q pasa es q tengo problemas conm mi preloader…

  6. tonilopez Says:

    Para controlar el volumen, tienes que usar el objeto Sound() y el método setVolume() desde un frame no se puede.

    saludos