Foros del Web » Creando para Internet » Flash y Actionscript »

Play/Stop Sound

Estas en el tema de Play/Stop Sound en el foro de Flash y Actionscript en Foros del Web. Como puedo realizar un boton que al presionarlo detenga el sonido de fondo y al volverlo a presionar lo active nuevamente, algo asi como Play> ...
  #1 (permalink)  
Antiguo 11/04/2003, 21:13
Avatar de patoty  
Fecha de Ingreso: abril-2003
Ubicación: Buenos Aires
Mensajes: 107
Antigüedad: 14 años, 8 meses
Puntos: 1
Busqueda Play/Stop Sound

Como puedo realizar un boton que al presionarlo detenga el sonido de fondo y al volverlo a presionar lo active nuevamente, algo asi como Play> y Pause ||
Bueno un abrazo y vean mi web, que por cierto le falta ese boton
www.patoty.com.ar
__________________
Concepto Estudio | Diseño Web
Buenos Aires | Argentina
  #2 (permalink)  
Antiguo 11/04/2003, 22:19
Avatar de hucasys  
Fecha de Ingreso: noviembre-2001
Ubicación: Bastante buena...
Mensajes: 816
Antigüedad: 16 años, 1 mes
Puntos: 3
de los viejos tiempos....

...no me acuerdo si era de kadazuro....o de quién..

En este tutorial sobre el objeto Sound() vamos a poner un sonido de fondo y vamos a poder encenderlo y apagarlo desde un solo botón.
Empezamos directamente con el sonido de fondo encendido, y pulsando sobre el botón seremos capaces de apagarlo, y si volvemos a pulsar sobre el mismo botón el sonido empezará de nuevo, y así sucesivamente.

He aquí nuestro ejemplo con el respectivo botón:



Lo primero que hay que hacer es importar nuestro sonido mediante el menu File/import, una vez que lo hemos importado, este se ubicará en la librería.
Una vez que esté en la librería lo seleccionamos y le damos al botón derecho del ratón, pulsamos la opción "linkage", seleccionamos la opción "export this symbol" y le ponemos como nombre o "identifier" por ejemplo "secuencia".
Esto servirá para identificar nuestro sonido luego en la programación.

Creamos una capa que se llame acciones, selecionamos el primer frame y en sus acciones le ponemos:

sonido1 = new Sound();
sonido1.attachSound("secuencia");
_root.sonido1.stop();
_root.sonido1.start(0, 999);

Expliquemos un poco más el código:

sonido1 = new Sound();
sonido1.attachSound("secuencia");

Aquí creamos un nuevo objeto Sound() que se llamará sonido1, y a este le vinculamos nuestro sonido mediante el "indentifier" llamado "secuencia" que antes definimos.

_root.sonido1.stop();
_root.sonido1.start(0, 999);

Esto quiere decir que al empezar la película empieza el sonido y hay un loop de 999 veces (lo máximo permitido).
El stop() de la línea anterior es por si a alguien se le ocurre "rebobinar" la película con el menú que aparece dándole al botón derecho del Flash, ya que si lo hace y no está ese stop(), se estaría reproduciendo 2 veces el sonido y empezaría a escucharse mal, así que esto evita eso.
Por tanto se detiene cualquier sonido en reproducción y seguidamente empieza uno nuevo.

Por último creamos un movieclip y le ponemos como nombre de instancia clipcontiene, el cual estará presente en toda la película, y lo ubicamos en una capa llamada botón. Seguidamente editamos el clipcontiene y colocamos 2 frames y ponemos el mismo botón en cada frame.

En cada uno de los frames de clipcontiene le ponemos la acción stop();

- Al botón del primer frame le ponemos las siguientes acciones:

on (press) {
_root.sonido1.stop();
_root.clipcontiene.gotoAndPlay (2);
}

Si lo pulsamos se parará el sonido y nos pondrá en el segundo frame de clipcontiene donde está el segundo botón.

- Al segundo botón le ponemos:

on (press) {
_root.sonido1.start(0, 999);
_root.clipcontiene.gotoAndPlay (1);
}

Si lo pulsamos se iniciará nuevamente el sonido en un loop de 999 veces y nos pondrá en el primer frame en donde estará nuestro primer botón.

Por tanto al usar el mismo botón en 2 frames distintos podremos poner 2 acciones distintas según estemos en un frame diferente.
__________________
La manera en que resuelves el problema, es el problema.
ROBERT FRIPP
  #3 (permalink)  
Antiguo 28/04/2003, 20:05
Avatar de patoty  
Fecha de Ingreso: abril-2003
Ubicación: Buenos Aires
Mensajes: 107
Antigüedad: 14 años, 8 meses
Puntos: 1
no sale

Master, lo que hice fue tal cuel lo que me dijiste pero... no me reanuda el sonido, si lo detiene perono lo reanuda
Un abrazo!!!
Gracias
__________________
Concepto Estudio | Diseño Web
Buenos Aires | Argentina
  #4 (permalink)  
Antiguo 28/04/2003, 22:23
Avatar de axa
axa
 
Fecha de Ingreso: enero-2002
Mensajes: 396
Antigüedad: 15 años, 10 meses
Puntos: 0
A ver
En el primer frame de tu movie pon:
Código:
sonando = false;
sonido = new Sound(this);
sonido.attachSound("identificador");
luego las acciones del boton:
Código:
on(release) {
     if(_root.sonando) {
          _root.sonido.stop();
          _root.sonando = false;
     }
     else {
          _root.sonido.start(0,0);
          _root.sonando = true;
     }
}
Donde:

sonando = una variable que indica cuando tu sonido esta sonando (que malo sonó eso)

identificador = un nombre que le das a tu sonido ya importado en la libreria, para hacerlo; le das click derecho al sonido, escoges linkage... seleccionas la cajita que dice export for actionscript y le pones el nombre que quieras.

y listo...

No lo probé, dale tu a ver.

Nos vemos bro.
__________________
axa
  #5 (permalink)  
Antiguo 29/04/2003, 17:30
Avatar de patoty  
Fecha de Ingreso: abril-2003
Ubicación: Buenos Aires
Mensajes: 107
Antigüedad: 14 años, 8 meses
Puntos: 1
De acuerdo Ok

Bueno lo estoy por poner a prueba, te aviso cuando termine
Gracias y un abrazo!
__________________
Concepto Estudio | Diseño Web
Buenos Aires | Argentina
  #6 (permalink)  
Antiguo 01/12/2006, 09:36
Avatar de halukar  
Fecha de Ingreso: julio-2005
Ubicación: España, Madrid
Mensajes: 1.642
Antigüedad: 12 años, 5 meses
Puntos: 5
Hola tengo un problema parecido con una música de mi página. Quisiera que cuando se presione sobre un objeto determinado la música que se encuentra en ejecución dentro de la misma película se parara por completo.

Y al pulsar sobre ese mismo botón se activase de nuevo.

Me podrian ayudar a sacar una variable o un método parecido en base a esto??

Cita:
sonido = new Sound();
sonido.attachSound("musica");
sonido.start() //
saltar.onPress = function() {
sonido.stop("musica")
gotoAndPlay(234);
};
Lá página es www.pubchambao.com y el objeto de sonido on/off qusiera que fuera la animación de la dj, aunque está es un clip de película con una animación dentro.

De todos modos veré si puedo aplicar algunos de vuestros tutoriales, pues apenas tengo tiempo.

Muchas gracias
__________________
"Soy aquello que quiso ser alguien y acabo siendo nadie"

DALI00.es
El renacer del surrealismo (coming soon)
  #7 (permalink)  
Antiguo 01/12/2006, 18:59
Avatar de halukar  
Fecha de Ingreso: julio-2005
Ubicación: España, Madrid
Mensajes: 1.642
Antigüedad: 12 años, 5 meses
Puntos: 5
Hola, he estado probando los tuotirlaes expuestos en ste tema y en especial el de Axe

Cita:
sonando = false;
sonido = new Sound(this);
sonido.attachSound("identificador");
Cita:
on(release) {
if(_root.sonando) {
_root.sonido.stop();
_root.sonando = false;
}
else {
_root.sonido.start(0,0);
_root.sonando = true;
}
}
Pero no me sirve, puesto quiero que sea al revés, que una vez que este sonando pueda parra y renaurar la música al pulsar el botón. He intentand "de manera lógica" cmabair la variable peor no consigo que funcione.

Alguien que pueda indicarme como????????
Muchas gracias
__________________
"Soy aquello que quiso ser alguien y acabo siendo nadie"

DALI00.es
El renacer del surrealismo (coming soon)
  #8 (permalink)  
Antiguo 01/12/2006, 19:18
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Hola halukar:
Pone el código así:
sonando = true;
sonido = new Sound(this);
sonido.attachSound("identificador");
sonido.start(0.999);
Y en el botón el mismo código que te dieron.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #9 (permalink)  
Antiguo 01/12/2006, 19:51
Avatar de halukar  
Fecha de Ingreso: julio-2005
Ubicación: España, Madrid
Mensajes: 1.642
Antigüedad: 12 años, 5 meses
Puntos: 5
Muchas gracias Bandit, me ha funcionado a la perfección; no sabes los quebraderos de cabeza que mas ahorrado.

Intentaré entender bien la lógica del código.
__________________
"Soy aquello que quiso ser alguien y acabo siendo nadie"

DALI00.es
El renacer del surrealismo (coming soon)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:08.