Precarga de swf ayudaaaaaa

Hola, tengo una web hecha completamente en flash 8. Tiene una sección de sonidos, con 4 partes, dentro de cada parte tiene 4 botones. Cada botón, al soltar el botón del ratón, llama a un swf donde se encuentra el sonido en cuestión. Resumiendo:
Web flash
---Sección sonidos
-------Parte 1
-----------btn 1 (llama swf 1)
-----------btn 2 (llama swf 2)
-----------btn 3 (llama swf 3)
-----------btn 4 (llama swf 4)
-------Parte 2
-------Parte 3
-------Parte 4
Dentro de cada swf hay un mp3 de 3mb aprox. Lo llama con este código: on (release) get url ("sonido1".swf) El tema es que me he olvidado un paso: la precarga del swf del sonido, ya que se demora 20 seg en leerlo completo. ¿Alguien sabe que acción debo realizar?
Respuesta
1
Para responderte doy por hecho que al hacer un getURL estas refrescando el contenido completo de la página y que NO estas cargando el swf con un loadMovie dentro del home.swf que ya tengas generado (si no es tal como te estoy diciendo, avisame así buscamos otra opción)
Para hacer un pregargador deberías agregar un fotograma clave al principio de sonido1.fla, ponerle un stop y leer los datos de precarga dentro de un onEnterFrame para calcular el porcentaje y mostrar una barra de progreso.
El siguiente código va en el primer fotograma:
stop();
//esto se repite todo el tiempo asi podras ver el progreso de la carga
this.onEnterFrame = function(){
var total:Number = _root.getBytesTotal;
var carga:Number = _root.getBytesLoaded;
var porcen:Number = Math.round(carga*100/total)
barra.xscale = porcen;
if(porcen == 100){
play();
}
}
Mc es el nombre de instancia de un movie que debe estar en el escenario de largo que vos quieras, y que ira cambiado su escala desde cero hasta cien dependiendo del valor de la variable porcen (que ira de 0 a cien también)...
Espero haberte sido de ayuda... cualquier cosa me preguntas...
Diego - Diseñador Gráfico/Desarrollador web
http://www.diegozamora.com.ar
Perdón, por no haberlo escrito bien: llamo al swf con un loadmovie
Entonces la mejor opción es que el sonido no este en la linea de tiempo... deberías cargarlo como un streaming:
var miSonido:Sound = new Sound();//nuevo objeeto de sonido
miSonido.loadSound("musica/tema1.mp3", true);//cargas el mp3 dentro del objeto de sonido.
No se si cada swf tiene un contenido o si solo contienen música... sea como sea, el streaming es la mejor opción.
También deberías tratar de optimizar más los archivos mp3 con un programa de sonido, bajarles un poco la calidad y hacerlos mono, con esto vas a lograr que los archivos sean mucho más livianos.
Diego Diseñador Gráfico/Desarrollador Web
http://www.diegozamora.com.ar/
Te agradezco lo rapido de la respuesta, y perdón que sea tan newbie con el tema de código.
Pero tengo una duda.
Si, el swf de cada sonido, es solo sonido y lo llamo con el loadmovie en nivel 1, para que aparezca en la película flash de la página. Por así decirlo.
Para poner el streaming, ¿tengo qué poner el código en cada uno en cada acción de cada botn no?
Con esto lo llamo para que se ejecute.
Y como hago para hacerle el cargador del sonido para que el usuario no quede a laderiva mientras espera la carga...
De alguna forma hay que aprender, no te hagas problema!
Ya te digo, si los swf solo contienen música, no te conviene hacerlo así, olvidate del load movie y descarta los swf, que cada botón solo se encargue de cargar un mp3 nuevo dentro del objeto de sonido:
boton.onRelease = function(){
miSonido.loadSound("musica/tema1.mp3");
}
<span style="border-collapse: collapse; color: #4a4a4a; font-family: Arial; line-height: 17px;">Diego - Diseñador Gráfico/Desarrollador web 
http://www.diegozamora.com.ar</span>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas