Problema con el volumen

Buenas, tengo la siguiente duda, agradecería mucho si me pudieses ayudar. Una animación que estoy haciendo, tiene música. Ahora bien, necesito que cuando uno apriete un botón, esa música baje de volumen hasta desaparecer y que otra canción empiece a subir de volumen. Eso es lo que no se como hacer. Desde ya muchas gracias.
Guillermo

1 respuesta

Respuesta
1
Lo que tu quieres hacer, no es muy complicado, si manejas actionscript (preferentemente sui version 2). Si no lo manejas, si se te hará difícil. Ahora te explico algunos pasos suponiendo que entiendes de action script, si no es así avisame e intentaré explicártelo de otra manera.
Primero, no puedes insertar el sonido en un frame, tienes que levantarlo con un objeto Sound de la siguiente manera
sonido = new Sound()
Sonido.loadSound ("lo que sea.mp3", false)
Sonido. Start()
Luego con el objeto "sonido" puedesmanejar el volumen del mp3 cargado. Puedes cargar varios mp3 con distintas instancias del objeto. Por ejemplo un "sonido2"
Segundo tienes que hacer un movieclip vacío por cada sonido que tengas, y allí adentroponer el objeto sonido. Si tienes dos sonidos, tienes dos movieclips vacíos, cada uno con un sonido (sonido, y sonido2).
Tercero debesponer un código en cada movieclip, que te permita hacer el fade del sonido cuando tu quieras. Es más o menos así:
onClipEvent(load) {
sonido = new Sound()
sonido.loadSound("loquesea.mp3",flase)
sonido.start()
sonidoFlag = true}
onClipEvent (EnterFrame) {
if (sonidoFlag) {
if (sonido.volume > 90) {
sonido.setVolume(100)
}
else {
sonido.setVolume(sonido.volume + 10)
}
}
else {
if (sonido.volume < 10) {
Sonido.setVolume(0)
}
else {
Sonido.setVolume(sonido.volume - 10)
}
}
}
Cuando la variable sonido flag esta en true, el sonido se escucha, cuando pase a false hará un fade out del mismo. Este código lo pones en los dos movieclip y cuasndo tu quiereasque comiencen los sonidos solo debes hacer la variable sonidoFlag verdadera.
Espero que lo entiendas, porque no se si me explique bien. Espero también que te sirva y avisame si necesitas más ayuda.
Ante todo, muchas gracias por la prontitud de respuesta y los detalles que me das. Me quedaron algunas dudas, pero es más por lo novato que soy que otra cosa.
Primero que nada, eso que me respondés es exactamente lo que necesito. Estoy hace poco con el ActionScript pero creo que me puedo dar vuelta. Creo que entendí lo que me dijiste, pero me parece que hay algo que estoy haciendo mal. A ver, voy por partes:
1) ¿Cuál es la mejor manera de hacer un movieclip vacío?
2)¿Cuándo decís poner adentro el sonido de una película, te referís a editar la película y agregarle una capa con el sonido o a ponerle el script que mencionas?
Esas serian mis dudas. Igual, creo que lo que hice debería andar, pero por ejemplo, en vez de hacer el fade, el sonido se corta bruscamente. Luego de leer los manuales empecé a probar diversas cosas, hasta que encontré la orden :
trace("onClipEvent enterFrame "+enterFrame++) que es la que necesitaba, ya que me daria que orden de frame se va reproduciendo, y descubrí que en vez de aparecerme como sería lo normal "onClipEvent enterFrame 1", "onClipEvent enterFrame 2", etc. , me aparece: "onClipEvent enterFrame undefined
onClipEvent enterFrame NaN
onClipEvent enterFrame NaN" para todos los frames. Creo que eso es el problema. Leyendo vi que a la película tengo que ponerla en el escenario en modo edicion (no con attachMovie, por ejemplo). Bueno, yo la importe a la biblioteca y despues la pegue... ¿Esta bien hecho? ¿Que es lo que puede estar fallando?. Creo que el codigo lo aplique bien, por lo que creo que resolviendo ese problema de los frames ya todo marcharia. Bueno, desde ya, muchisimas gracias y disculpá las molestias...
Disculpa si no me hice entender. Puedes buscar ayuda en la ayuda de flash, esta muy completa. Ahora paso a resopnderte tus dudas en el mismo orden que me las preguntas:
1) Para hacer un movie clip vacío solo creas un símbolo de typo Clip, lle pones un nombre y nada adentro.
2) Cuando digo ponerle el sonido adentro del clip, me refiero a poner el script que sigue en una capa en el primer frame.
onClipEvent(load) {
sonido = new Sound()
sonido.loadSound("loquesea.mp3",flase)
sonido.start()
sonidoFlag = true}
onClipEvent (EnterFrame) {
if (sonidoFlag) {
if (sonido.volume > 90) {
sonido.setVolume(100)
}
else {
sonido.setVolume(sonido.volume + 10)
}
}
else {
if (sonido.volume < 10) {
sonido.setVolume(0)
}
else {
sonido.setVolume(sonido.volume - 10)
}
}
}
Si me das una dirección de mail, te puedo mandar un ejemplo que hace el fade de dos sonidos, tal vez si lo veas puedas entender mejor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas