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

Repetir un sonido indefinidamente

Estas en el tema de Repetir un sonido indefinidamente en el foro de Flash y Actionscript en Foros del Web. Hola a tod@s, Es la primera vez que necesito de ayuda pues comienzo a introducirme en el tema de Flash. Tengo un script que arranca ...
  #1 (permalink)  
Antiguo 26/07/2010, 10:55
 
Fecha de Ingreso: julio-2010
Ubicación: Barcelona(España)
Mensajes: 1
Antigüedad: 13 años, 8 meses
Puntos: 0
Repetir un sonido indefinidamente

Hola a tod@s,

Es la primera vez que necesito de ayuda pues comienzo a introducirme en el tema de Flash.

Tengo un script que arranca un sonido o lo para, pero cuando suena solo lo hace una sola vez y me gustaría que una vez arrancado sonara indefinidamente, y poderlo para con el botón de paro. (Arrancar y parar funcionan perfectamente)

Gracias y un saludo

Script AS2.0
/* Primero declaramos dos variables, pausa y estado; pausa nos servirá
para almacenar la posición donde esta la canción, y estado para saber en que
estado se encuentra la canción, 1 si el sonido se está reproduciendo y 0 para el
estado en que el sonido esté en pause*/
var pausa:Number = 0;
var estado:Number = 0;

/* Como no le pusimos ninguna acción al Movie Clip, para que no se reprodujera
como loco, lo frenamos al comienzo*/
Sonido.stop();
/*Atachamos inmediatamente el sonido linkeado desde la biblioteca a una variable
llamada: "misonido"*/
_root.onLoad = function(){
misonido = new Sound();

misonido.attachSound("Musica");
}
//En el evento onPress ó cuando presione el botón
Sonido.onPress = function (){


if (estado == 0){

/* se verifica en que estado se encuentra el sonido, si está en 0, ósea el sonido no se esta reproduciendo,
ponemos play al sonido; usamos la variable de pausa que contiene
lo que lleva la canción reproducida hasta el momento en milisegundos, por eso lo dividimos entre 1000;
para que nos de exactamente la posición donde se encuentra*/
misonido.start(pausa/1000);
//Una vez el sonido en play, cambiamos el estado a 1, ósea reproduciéndose
estado = 1;
//y finalmente cambiamos la apariencia del botón
Sonido.gotoAndStop("pause");
} else {

/*En caso de que no sea 0, significa que se esta reproduciendo la canción y
queremos detenerla, primero calculamos la posición donde se va a quedar en pause
almacenándolo en la variable pausa*/
pausa = misonido.position;
//detenemos totalmente el sonido
misonido.stop();
//cambiamos el estado a 0, ósea sin sonido
estado = 0;
//y finalmente cambiamos la apariencia del botón
Sonido.gotoAndStop("play");
}
}
  #2 (permalink)  
Antiguo 26/07/2010, 16:40
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: Repetir un sonido indefinidamente

Hola icuevas:
Bienvenido al Foro.
Tu código escríbelo así:
Código actionscript:
Ver original
  1. var pausa:Number = 0;
  2. var estado:Number = 0;
  3. Sonido.stop();
  4. _root.onLoad = function() {
  5.     misonido = new Sound();
  6.     misonido.attachSound("musica");
  7.     misonido.onSoundComplete = function() {
  8.         misonido.start();
  9.     };
  10. };
  11. Sonido.onPress = function() {
  12.     if (estado == 0) {
  13.         misonido.start(pausa/1000);
  14.         estado = 1;
  15.         Sonido.gotoAndStop("pause");
  16.     } else {
  17.         pausa = misonido.position;
  18.         misonido.stop();
  19.         estado = 0;
  20.         Sonido.gotoAndStop("play");
  21.     }
  22. };
Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/

Etiquetas: repetir, sonido
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 04:29.