Botón play

Hola experto. He creado una animación en flash mx a la cual le he puesto sonido, con sus respectivos botones: play off; el problema que tengo es que cuando le doy play alboton se escucha perfectamente la musica; pero si mientras se esta escuchando vuelvo a dar play al botón nuevamente comienza la música desde el principio, osea se escucha una pista sobre otro y si sigo dando play pues se sigue iniciando la música. Osea un desastre; ¿Cómo puedo solucionar esto?.
El botón off funciona perfectamente.
Un saludo.

2 Respuestas

Respuesta
1
Haz 2 botones en el mismo fotograma un play y un stop, con nombre de instancia play y stop respectivamente, agrega una nueva capa y en el mismo fotograma de esta nueva capa pon el siguiente script:
if (noRepeat == undefined) {
var noRepeat:Number;
noRepeat = 1;
sonido = new Sound();
sonido.loadSound("tu musica.mp3", true);
sonido.onSoundComplete = function() {
this.start();
};
sonido.start();
}
_root.sound.play.onRelease = function() {
sonido.start(0,4);
_root.estado = "REPRODUCIENDO"
_root.speaker.play();
};
_root.sound.stop.onRelease = function() {
sonido.stop();
_root.estado = "DETENIDO"
_root.speaker.stop();
};
Respuesta
1
Ah, un problema común. Es sencillo después de que lo analizas bien y te das cuenta que lo que tienes que hacer es detener la música cuando das play. ¿Confuso? Creo que un poco.
Lo que pasa es que cuando das play inicia todo de nuevo pero no detiene lo que ya esta tocando actualmente(la música).
El código es sencillo.
Solo agrega esta linea a tu botón play
stopAllSounds();
Perdón experto, pero la verdad que si es confuso; al poner un
on (release) {
stopAllSounds();
}
¿Eso no quiere decir que la música que este sonando se detendrá? ¿Y si se detiene con que otro botón le doy para que nuevamente la música se inicie?.
Mi botón off lleva el:
on (release) {
stopAllSounds();
}
Y lo que hace es detener la música y con el play se supone debe de iniciarla nuevamente si se quiere.
Un saludo.
Pues la música empieza sola. A menos que no te haya yo entendido bien. Lo que yo entendí es que pones un stop y después al darle play la animación inicia desde el principio. Si es así lo que te dige funciona perfecto. Si no es eso lo que quieres entonces quizá la respuesta no te sirva, en tal caso explicame bien que es lo que quieres lograr :)
La música empieza sola y en un momento dado que el visitante a la web pueda detener la música y cuando quiera pueda reiniciar la musica; pero claro una vez que la música ha iniciado que aunque se de play nuevamente no vuelva a iniciar la música para que no se repita en el momento.
Mira este ejemplo:
http://www.royalprofit.eu/
Un saludo.
Ah ok. Hay algunas soluciones. Una es la que te digo. Primero terminas la música e inmediatamente la vuelves a iniciar. Para poder darte el código necesito saber como has insertado la música o si la cargas dinámicamente. Otra opción es desactivar el botón play y activarlo solo si se pulsa el botón de pause para detener la música.
El total de frame son 105 y apartir del frame 53 inicia la musica.
¿Cómo puedo aplicar la segunda opción? La de desactivarel play y volver a activarlo.
Un saludo.
para desactivar un boton usas enabled = false. Ejemplo
unBoton.onClick = function(){
otroBoton.enabled=false;
}
Y para activarlo vasta con dar enabled = true.
Aquí te dejo este enlace donde explican muy bien la cosa del audio en flash, espero te sirva.
De no ser así, aquí sigo aun que andaba algo acupado y no había podido responderte. Disculpas!.
http://www.iua.upf.es/~skourakis/programacion/sonido/sonido.html

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas