Comunidad de diseño web y desarrollo en internet online

Botón sonido + loop

Citar            
MensajeEscrito el 30 Oct 2007 02:33 pm
Hola, acabo de terminar el tutorial del botón sonido play/pause y funciona bien.

El sonido que le he metido es un loop que me he descargado desde:

[url] www.flashkit.com[/url]

Y el problema que tengo es que a los pocos segundos se apaga automáticamente.

Cómo lo puedo solucionar???

Gracias
........

Por defero

85 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 30 Oct 2007 03:07 pm
Se apaga ke? el sonido? puede deberse a ke tengas por ahí una acción de stopAllSounds, o talvez ke no hayas puesto el loop sino ke se reproduzca algun numero especifico de veces, lo cual lo puedes ver en las propiedades cuando hayas agregado el sonido.

Saludos y espero haberte ayudado

Por camiloesc

Claber

145 de clabLevel

1 tutorial

Genero:Masculino  

Bogotá, Colombia

mozilla
Citar            
MensajeEscrito el 02 Nov 2007 05:52 am
Sugiero expongas el código, para saber donde pueda estar el problema, te recomiendo leas algo de ObjetoSound... si me das tiempo te explico como se hace... :D

Por etzekiel

107 de clabLevel



 

Mexico

msie7
Citar            
MensajeEscrito el 02 Nov 2007 09:45 am
el código es este:

Código :

/* 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*/
Boton_btn.stop();
/*Atachamos inmediatamente el sonido linkeado desde la biblioteca a una variable
llamada: "misonido"*/
_root.onLoad = function(){
    misonido = new Sound();
    misonido.attachSound("Sonido");
}
//En el evento onPress ó cuando presione el botón
Boton_btn.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
        Boton_btn.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
        Boton_btn.gotoAndStop("play");
    }
}

Por defero

85 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Nov 2007 11:46 am
Bueno, según el código que tienes allí, lo que ocurre es que no le has dado un loop, por lo que sólo se reproduce una vez, puedes hacerlo de dos formas:

  1. Colocar en el método "start" la cantidad de veces que quieres que se reproduzca:

    Código :

    [...]
    misonido.start(pausa/1000, 999); <---Se reproducirá 999 veces cada vez que des a "play"
    [...]
    

  2. Recomendado: Programar el evento "onSoundComplete" para que vuelva a reproducir el sonido una vez finalizado:

    Código :

    misonido.onSoundComplete = function(){misonido.start()}
    


La diferencia entre la primera forma y la segunda es que una hará el loop x cantidad de veces, pero siempre existe la posibilidad de que se detenga y no comience de nuevo. En la segunda forma no importa si el usuario se va a dormir y lo deja sonando, hará el loop siempre.
Y ya que estamos sobre el tema, recuerda que la recomendación es que el sonido comience en "off" y que sea el usuario el que lo active si lo desea, así no interrumpirás su experiencia (mucha gente escucha música mientras navega y tu sonido interferirá con esa música).

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 02 Nov 2007 06:37 pm
Yo hago esto:
Primero antes que nada exporto el bloop a la librería, ahí le doy botón derecho/ propiedades/ avanzado/ dentro de vinculación, pones el nombre con el que quieras sea reconocido el bloop/ verificas que estén seleccionados estos parámetros: exportar para actionscript y exportar en primer fotograma...ok;
Después creas los botones de "play" y "pause" en un movie clip... ya sabes no?... como lo explica el tutorial...
Aquí la clave, agregas un stop en cada fotograma, y al botón de “play” pones esto:

Código :

on (release) {
_root.sonido.start(0,999);
gotoAndPlay("2");
}

En el botón de pausa (aquí también agregas un stop ) pones esto:

Código :

on (press) {
_root.sonido.stop();
gotoAndPlay ("1");
}


Bueno, sigue esto: exportas el movie clip a la escena, en un fotograma único...en este mismo fotograma agregas lo siguiente:

Código :

sonido = new Sound();
sonido.attachSound("el nombre del bloop");
_root.sonido.stop();



Listo!! A mí me funciona de luxé
cualquier cosa postealo!!! :D

Por etzekiel

107 de clabLevel



 

Mexico

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.