Comunidad de diseño web y desarrollo en internet online

Karaokes con Flash

Citar            
MensajeEscrito el 21 Jul 2005 09:53 am
Tengo un problema. Estoy haciendo una especie de karaoke cargando un sonido externo con el flash, de forma que al pasar por cierto segundo de la canción un campo de texto muestra un fragmento de la letra de la canción u otro cacho. Lo que pasa es que he probado de varias formas y no sé cómo hacerlo para que esté depurado y no se me cuelgue.


El siguiente código funciona, lo que pasa es que realiza demasiados bucles y el flash me dice siempre que si lo quiero anular :crap:

Código :

karaoke = new Sound();
karaoke.loadSound("/sonidos/ed320.mp3", true);
karaoke.start();

karaoke.onLoad = function(exito) {
   if (exito) {
      i = 1;
      while ((karaoke.position)<(karaoke.duration)) {
         if ((karaoke.position>39800) && (i==8)) {
            letra_txt.text = "soshite kimi wa shaberi tsuzukeru";
            trace("Valor de i " +i+ "Valor de la posicion : "+karaoke.position);
            i++;
         } else if ((karaoke.position>34200) && (i==7)) {
            letra_txt.text = "Itsumademo nante sotto negau";
            trace("Valor de i " +i+ "Valor de la posicion : "+karaoke.position);
            i++;
         } else if ((karaoke.position>30200) && (i==6)) {
            letra_txt.text = "itsumo to onaji kyou wa SUNDAY";
            trace("Valor de i " +i+ "Valor de la posicion : "+karaoke.position);
            i++;
         } else if ((karaoke.position>25200) && (i==5)) {
            letra_txt.text = "Hidamari de SUNDAY arikitari no";
            trace("Valor de i " +i+ "Valor de la posicion : "+karaoke.position);
            i++;
         } else if ((karaoke.position>21800) && (i==4)) {
            letra_txt.text = "kimi dakeno tame ni aru kotoba";
            trace("Valor de i " +i+ "Valor de la posicion : "+karaoke.position);
            i++;
         } else if ((karaoke.position>16700) && (i==3)) {
            letra_txt.text = "Konna ni sutekina hibiki ni naru";
            trace("Valor de i " +i+ "Valor de la posicion : "+karaoke.position);
            i++;
         } else if ((karaoke.position>12800) && (i==2)) {
            letra_txt.text = "kimi wo omotte kuchi ni sureba";
            trace("Valor de i " +i+ "Valor de la posicion : "+karaoke.position);
            i++;
         } else if ((karaoke.position>7800) && (i==1)) {
            letra_txt.text = "Tsukaifurusareta aishiteru mo";
            trace("Valor de i " +i+ "Valor de la posicion : "+karaoke.position);
            i++;
         }
      }
   } else {
      trace("No se ha cargado correctamente el archivo de música");
   }
};


Si alguien me puede ayudar y conoce alguna forma para que no realice tantos bucles innecesarios... ^^

PD: que no os asuste la letra, es una canción de anime :lol:

Por askaulos

8 de clabLevel



 

msie
Citar            
MensajeEscrito el 21 Jul 2005 10:15 am
Utiliza mejor setInterval, hay varios ejemplos por el foro y en la ayuda de Flash, si tienes cualquier duda ya avisa y listos, jeje.

Haz un setInterval que llame a una funcion cada 0,1 segundos y ahi haces las comparaciones, no consume tantos recursos como ese codigo que has hecho.

Deu!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

clabbrowser

 

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