Comunidad de diseño web y desarrollo en internet online

Reproductor Mp3, duda

Citar            
MensajeEscrito el 02 Abr 2008 09:23 pm
Hola, tengo este AS que se llama audioprincipal.as que y en la pelicula tengo un script con #include "audio......as". Los botones y la barra de volumen en MC, pero el problema está en que si al MC lo de dejo como MC en Propiedades, no funcionan los botones, pero si lo dejo como Grafico si funciona todo, que es lo que estoy haciendo mal???. gracias.


Código :

var i:Number = 1;
var v:Number = 60;
var mp3s:Number = 4;
this.miMp3 = new Sound();
this.miMp3.loadSound("mp3/"+i+".mp3", true);
this.miMp3.setVolume(v);
this.miMp3.onSoundComplete = function() {
i++;
if (i>mp3s) {
i = 1;
}
miMp3.loadSound("mp3/"+i+".mp3", true);
this.vol.gotoAndStop(v)
};
miMp3.onLoad = function(success:Boolean) {
var totalSeconds:Number = this.position/1000;
//vemos el tiempo transcurrido y sacamos los segundos
var minutes:Number = Math.floor(totalSeconds/60);
//lo mismo y sacamos los minutos
var seconds = Math.floor(totalSeconds)%60;
if (seconds<10) {
seconds = "0"+seconds;
}
if (minutes<10) {
time_txt.text = ("0"+minutes+":"+seconds);
} else if (minutes>=10) {
time_txt.text = (minutes+":"+seconds);
}
};
setInterval(miMp3, "onLoad", 1000);
onEnterFrame = function () {
porcentaje_txt.text = (Math.round((miMp3.getBytesLoaded()/miMp3.getBytesTotal())*100)+"%");
if (Math.round((miMp3.getBytesLoaded()/miMp3.getBytesTotal())*100) == 100) {
porcentaje_txt.text = "streaming completo";
}
};
miMp3.onID3 = function():Void {
ide_txt.text = miMp3.id3.artist+" - "+miMp3.id3.songname;
};
//---------------------------------------
this.vol_txt.text = "volumen a "+v+"%";
//--------------------------------------
//funciones para el boton stop
this.stop_btn.onPress = function() {
miMp3.stop();
miMp3.setVolume(v);
};
//funciones para el boton play
this.play_btn.onPress = function() {
miMp3.start();
miMp3.setVolume(v);
};
//funciones para el el boton anterior
this.prev_btn.onPress = function() {
if (i>1) {
i = i-1;
miMp3.loadSound("mp3/"+i+".mp3", true);
miMp3.setVolume(v);
} else if (i<=4) {
i = 4;
miMp3.loadSound("mp3/"+i+".mp3", true);
miMp3.setVolume(v);
}
};
this.sigu_btn.onPress = function() {
if (i<4) {
i = i+1;
miMp3.loadSound("mp3/"+i+".mp3", true);
miMp3.setVolume(v);
} else if (i>=4) {
i = 1;
miMp3.loadSound("mp3/"+i+".mp3", true);
miMp3.setVolume(v);
}
};
this.volMenos_btn.onPress = function() {
if (v>0) {
v = v-5;
miMp3.setVolume(v);
_root.vol.gotoAndStop(v);
_root.vol_txt.text = "volumen a "+v+"%";
}
};
this.volMas_btn.onPress = function() {
if (v<100) {
v = v+5;
miMp3.setVolume(v);
_root.vol.gotoAndStop(v);
_root.vol_txt.text = "volumen a "+v+"%";
}
};

:swat: usa Code

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 03 Abr 2008 05:08 am
pero el problema está en que si al MC lo de dejo como MC en Propiedades, no funcionan los botones, pero si lo dejo como Grafico si funciona todo


Pues dejalo como gráfico, ¿o no estoy entendiendo la pregunta :?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Abr 2008 10:17 am
El problema está en que lo necesito como MC, para darle una animación, pero al hacer esto se anulan los botones

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 03 Abr 2008 10:25 am
Eso pasa porque un gráfico no cuenta a la hora de asignar acciones, pero un MC si
Si quieres convertirlo en MC, dale un nombre de instancia y modifica las asignaciones de los botones para que tengan en cuenta al nuevo intruso que se interpuso en el camino

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Abr 2008 10:44 am
Tengo otro problema, el reproductor mp3 lo generé en un .fla nuevo, para ver como queda y las pruebas pertinentes, funciona bien pero con el problema antes explicado, pero al pasarlo a la pelicula principal, hacer el #include en el fotograma siguiente al preload (porque si no, no funciona) funciona la música pero el boton de siguiente en vez, de pasar a la siguiente cancion, pasa a la 3 y se forma un bucle raro, hasta poner stop, ahí funciona bien... me he dado cuenta en donde está el problema, pero no sé como arreglar esto:
en el fla de prueba solo había dos capas con un fotograma, uno con el include y el otro con el reproductor, en la principal tengo la linea de tiempo con el primer stop en el fotograma 100 y me parece que no reconoce bien el include, o lo reconoce del todo cuando llega al stop o no sé, porque funcionar, funciona (hice la prueba de poner un stop () en el fotograma en donde está el reproductor y funciona perfecto). Si espero darle al boton de siguiente hasta llegar al primer stop (), lo que sucede que se reproduce nuevamente la musica desde el tema 1 y luego funciona bien.
¿Alguien tiene alguna idea de que puede estar pasando?

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 03 Abr 2008 11:22 am
Asegúrate primero de que el reproductor está en su capa y que en su capa no hay ningún keyframe desde el fotograma 2 al 100 (es decir se siempre la misma instancia) porque por lo que cuentas parece como que se reinicializara

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Abr 2008 02:46 pm
Hola Jorge, MIL gracias por la primera ayuda, fué eso, le puse su instancia al MC y dentro del AS modifiqué los parametros de los btn y perfecto, en cuanto al segundo problema, no pude hacer nada.
Te cuento como lo tengo: tengo una pelicula con 20 capas y una capa es la del reproductor, que solo está el reproductor del fotograma 4 hasta el final de la pelicula y en la capa de arriba tengo el keyframe: #include "audioprincipal.as", no hay nada más. Sí es cierto que tengo muchas cosas más en la pelicula, tengo otro include en otro keyframe de un scroll, pero funciona perfecto.
Te cuento de nuevo cual es el problema que me dá,
al publicar la peli se abre el reproductor y si aprieto el btn de siguiente canción, pasa a la 3, no a la dos, siempre y cuando esto lo haga antes que el lector llegue al fotograma 100 que tengo un stop(), bien, ahora en vez de hacer si espero a que llegue al stop() y le doy a siguiente, se iniciar nuevamente la cancion uno, pero desde ahí funciona bien.
Te repito, mil gracias por lo anterior y si soluciono este, ya serán dos mil... gracias.

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 03 Abr 2008 03:12 pm
Una pregunta más, tengo un video y me gustaria que cuando se abra se apague el audio, quiero poner al AS del reproductor
que cuando se abra el clip video (es la instancia del mc donde está el video) y cuando se vaya el clip ponga play.... ¿es posible?
Gracias

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 03 Abr 2008 09:34 pm
¿Una vez que llega al fotograma 100 ya no vuelve a pasar por donde tienes el include? ¿Le pusiste el nombre de instancia que corresponde al player?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Abr 2008 10:33 pm
una vez que llega al 100 le doy al btn siguiente y se reinicia el tema 1 y si le vuelvo a dar al siguiente va al dos y funciona bien, pero el problema más grande está si le doy a siguiente antes que llegue al 100 donde está el primer stop() de mi pelicula. Se vuelve loco el reproductor. El include está en el fotograma 4, que es donde empieza la pelicula después del preload. Sí, le puse el nombre de instancia al mc, es "reproductor" y funciona bien, porque los botones que están dentro funcionan. Pero acabo de hacer otra prueba, tengo en el frame 4 el include y en el 4 de otra capa el mc, si muevo el mc a otro frame, por eje. el 5 o más adelante, ya ni siquiera funcionan los botones... Debería seguir funcionando, no? porque el include sirve para que en cualquier parte de la pelicula uno lo llama y debería andar, o estoy equivocado?

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 03 Abr 2008 10:42 pm
Lo mejor: haz un loadMovie del reproductor, no lo mezcles con tu layout. Cárgalo en un MC que se llame "reproductor"

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Abr 2008 10:54 pm
me parece que va a ser lo mejor, porque me esta volviendo loco esto

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 03 Abr 2008 10:59 pm
me parece que no lo estoy haciendo muy bien, que script le meterías????... gracias

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 03 Abr 2008 11:10 pm
reproductor.loadMovie("reproductor.swf")

Para local sirve, luego ya le tienes que agregar la precarga

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Abr 2008 08:22 pm
Jorge, una duda, reproductor sería un MC y cuando hace el loadmovie("rep....) estaría cargando el .swf, pero donde lo carga?
Yo en mi pelicula no tengo nada del reproductor, solo el keyframe con el script que me pasaste, pero no lo carga. En ningun momento tengo que crear un emptymovieclip para meter dentro el reproductor swf?

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 04 Abr 2008 08:40 pm
Un MC en el escenario, o sino:

createEmptyMovieClip("reproductor", 1)
reproductor.loadMovie("reproductor.swf")

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Abr 2008 08:31 pm
Jorge, funciona perfecto, buenisimo... además le agregué las coordenadas y y se abre en donde quiero.... jeje, hay unas cosas más, que me gustaría saber, por eje..... el siguiente script funciona a la mitad, eso lo tengo en el .as quita el volumen, lo lleva a cero, pero cuando aprieto nuevamente no cambia a 60, hay alguna forma de guardar la variable v antes de quitar el volumen, para que cuando le vuelva a dar al mute vuelva al volumen anterior?

Código :

//funciones para el boton volumen off/on
reproductor.reproductor_over.voloff_btn.onPress = function() {
      if (v>0){
      v = 0
      miMp3.setVolume(0);
      reproductor.reproductor_over.vol.gotoAndStop(1);
      reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
      } 
      else if (v=0) {
      v = 60;
      miMp3.setVolume(v);
      reproductor.reproductor_over.vol.gotoAndStop(v);
      reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
   }
};


GRACIAS-

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 05 Abr 2008 08:40 pm
Jejjeje, ya arreglé la parte del else if (v==0) ya está, me falta la segunda parte, si puedo guardar la variable v antes que llegue a 0

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 05 Abr 2008 09:04 pm
Jorge, si no es mucha molestia, o a alguien que quiera ver el problemilla este, te pongo este link con los archivos del reproductor para que me digas como puedo solucionar una cosa del rollover y rollout del mc, el rollover funciona, pero es bastante chapusa lo que hice, como verás el btn del mute está a la vista, porque quiero que eso quede siempre en el escenario, lo que me gustaria es que suceda lo mismo pero al reves que en el rollover pero para el rollout. gracias. Ahh y decirme si se puede guardar la variable V antes de quedar en cero y poder reutilizarla cuando le vuelvo a dar al mute, pero eso no es tan importante, gracias de antemano.
http://senduit.com/
09b924 (este el codigo)

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 06 Abr 2008 02:32 pm
Para guardar el volumen, ponerlo en una vaciable antes de quitarlo:

v = 0
oldV = miMp3.getVolume()
miMp3.setVolume(0);

luego

miMp3.setVolume(oldV);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 06 Abr 2008 03:19 pm
Muchas gracias por el dato, no me funcionó a la primera, le hice unos retoques y perfecto, muchas gracias...

Código :

//funciones para el boton volumen off/on
reproductor.reproductor_over.voloff_btn.onPress = function() {
   if (v>0) {
      oldV = miMp3.getVolume()
      v = 0
      miMp3.setVolume(0);
      reproductor.reproductor_over.vol.gotoAndStop(1);
      reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
   } 
   else if (v==0) {
      miMp3.setVolume(oldV);
      v = oldV;
      reproductor.reproductor_over.vol.gotoAndStop(v);
      reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
   }
};



Solo me faltan dos cosas, si es posible, una es, en la pelicula principal llamo al reproductor.swf, todo perfecto, pero cuando en la pelicula principal aparece un video que está en un MC, ¿puedo desde el audioprincipal.as detectar la carga de este video y mutear el audio y viceversa, gracias.

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 06 Abr 2008 03:24 pm
No desde audioprincipal, mas bien desde tu misma peli, cuando tienes un video, le bajas el volumen a 0 igual que estás haciendo desde tu botón

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 06 Abr 2008 03:30 pm
Jjejeje, me surgió otro problema, a ver si se puede solucionar, cuando le doy a volumen off, perfecto, hasta que carga la suguiente canción y lo que hace es que se sube el volumen al 60% (esto lo hace solo, porque supuestamente tendría que estar en 0% todavía), pero la barra y el texto sí se quedan al 0%, mirá el script a ver si se te ocurre algo... parece que cuando i se modifica carga la variable v = 60 y chau mi invento, jeje

Código :

var i:Number = 1;
//contador del mp3
var v:Number = 60;
//variable para medir el volumen del audio
var mp3s:Number = 4;
//Maximo de mp3 a reproducir
this.miMp3 = new Sound();
//variable principal mi mp3
this.miMp3.loadSound("mp3/"+i+".mp3", true);
//hacemos la carga de mp3 segun el valor de i
this.miMp3.setVolume(v);
//asigna el volumen de reproduccion
this.miMp3.onSoundComplete = function() {
   //cuando termine el mp3, cargamos el siguiente
   i++;
   if (i>mp3s) {
      i = 1;
   }
   miMp3.loadSound("mp3/"+i+".mp3", true);
   _root.vol.gotoAndStop(v)
};
miMp3.onLoad = function(success:Boolean) {
   var totalSeconds:Number = this.position/1000;
   //vemos el tiempo transcurrido y sacamos los segundos
   var minutes:Number = Math.floor(totalSeconds/60);
   //lo mismo y sacamos los minutos
   var seconds = Math.floor(totalSeconds)%60;
   if (seconds<10) {
      seconds = "0"+seconds;
   }
   if (minutes<10) {
      time_txt.text = ("0"+minutes+":"+seconds);
   } else if (minutes>=10) {
      time_txt.text = (minutes+":"+seconds);
   }
};
setInterval(miMp3, "onLoad", 1000);
// lo que viene es para el porcentaje cargado
onEnterFrame = function () {
   porcentaje_txt.text = (Math.round((miMp3.getBytesLoaded()/miMp3.getBytesTotal())*100)+"%");
   if (Math.round((miMp3.getBytesLoaded()/miMp3.getBytesTotal())*100) == 100) {
      porcentaje_txt.text = "streaming completo";
   }
};
miMp3.onID3 = function():Void  {
   ide_txt.text = miMp3.id3.artist+" - "+miMp3.id3.songname;
};
//---------------------------------------
reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
//Volumen inicial -----------------------
//funciones para el boton stop
reproductor.reproductor_over.stop_btn.onPress = function() {
   miMp3.stop();
   miMp3.setVolume(v);
};
//funciones para el boton play
reproductor.reproductor_over.play_btn.onPress = function() {
   miMp3.start();
   miMp3.setVolume(v);
};
//funciones para el el boton anterior
reproductor.reproductor_over.prev_btn.onPress = function() {
   if (i>1) {
      //Condicion que asigna que si es mayor a 1
      i = i-1;
      //entonces sera igual a i restando 1
      miMp3.loadSound("mp3/"+i+".mp3", true);
      //cargara el valor de i
      miMp3.setVolume(v);
      //asigna el valor global del volumen
   } else if (i<=4) {
      //segunda condional que dice que si i es menor o igual a 4
      i = 4;
      //borre el valor anterior y asigne 3
      miMp3.loadSound("mp3/"+i+".mp3", true);
      //carga un mp3 con el valor de i
      miMp3.setVolume(v);
      //asigna el volumen global al archivo
   }
   /*En el anterior bloque de condiciones, creamos un bucle de forma manual, donde si i llega
   a un valor menor a 1, si presionamos el boton seguira restando en 1, entonces creamos una
   segunda condicion en la misma estructura donde si i no es menor o igual a 3, borre el valor
   previo y re asigne a 3; con lo que obliga al programa a cumplir la primer condicion, creando
   un bucle infinito en esta ecuacion.*/ 
};
//funciones para el boton siguiente
reproductor.reproductor_over.sigu_btn.onPress = function() {
   if (i<4) {
      i = i+1;
      miMp3.loadSound("mp3/"+i+".mp3", true);
      miMp3.setVolume(v);
   } else if (i>=4) {
      i = 1;
      miMp3.loadSound("mp3/"+i+".mp3", true);
      miMp3.setVolume(v);
   }
   /*Hacemos lo mismo que en el boton anterior solo que a la inversa, aqui agregando valores en 1
   en lugar de restarlos */ 
};
//funcion para el boton bajar volumen
reproductor.reproductor_over.volMenos_btn.onPress = function() {
   if (v>0) {
      //creamos una condicion que dicte que si v es mayor a 0
      v = v-5;
      //el valor de v, sera v menos 5
      miMp3.setVolume(v);
      //asigna el volumen de la variable miMp3
      reproductor.reproductor_over.vol.gotoAndStop(v);
      //lleva la barra de volumen al fotograma que dicte v
      //en este caso se correra hasta 40; pues el valor original acertado
      reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
   }
};
//funciones para el boton subir volumen 
reproductor.reproductor_over.volMas_btn.onPress = function() {
   if (v<100) {
      v = v+5;
      miMp3.setVolume(v);
      reproductor.reproductor_over.vol.gotoAndStop(v);
      reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
   }
};
//funciones para el boton volumen off/on
reproductor.reproductor_over.voloff_btn.onPress = function() {
   if (v>0) {
      oldV = miMp3.getVolume()
      v = 0
      miMp3.setVolume(0);
      reproductor.reproductor_over.vol.gotoAndStop(1);
      reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
   } 
   else if (v==0) {
      miMp3.setVolume(oldV);
      v = oldV;
      reproductor.reproductor_over.vol.gotoAndStop(v);
      reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
   }
};

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 06 Abr 2008 03:54 pm
Parece que todo el script usa la variable v, entonces modifícala directamente, cambia lo que pusiste antes

v = miMp3.getVolume()
mute = true
miMp3.setVolume(0);

cuando le devuelves el sonido pasa mute a false. Luego mira que detrás de cada carga hay un setVolume, modifícala para tener en cuenta el valor de mute, ej:

miMp3.loadSound("mp3/"+i+".mp3", true);
miMp3.setVolume((mute)?0 : v);

En todos los loadSound

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 06 Abr 2008 11:59 pm
Jorge, perdón por la molestia, pero he probado de todas las maneras posible y no me funciona lo que me pasaste antes, capaz lo estoy poniendo mal, llevo toda la tarde haciendo pruebas y nada, habría posibilidad que lo hicieras en el codigo que te pase antes?, puede ser que yo tenga el flash8 y vos otro, por eso no me funciona?. Gracias.

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 07 Abr 2008 09:47 am
Para que la variable v sea igual a 60, lo tiene que decir en algún lado, mira donde dice v = 60
Luego si no lo dice en ningún lado más, la siguiente conclusión es: el código de este frame se vuelve a repetir. Agrega algún trace(v) para comprobar el hecho. Si el valor de v no cambia porque el código de este frame no se repite, el fix está bien, sino tendrás que pensar como no pasar dos veces por este frame

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Abr 2008 10:36 am
Hola jorge, acabo de poner el trace, cuando arranca la pelicula sale el trace a 60, esto es correcto porque cuando carga la pelicula la variable está en 60. Cuando yo modifico esa variable a off, que es el final del .as que escribi antes, la variable pasa a 0, por eso no se escucha, pero cuando termina la canción tiene que hacer el loadSound y ahí se vuelve a cargar la variable en 60, pero la barra y el texto siguen en cero, porque eso se modifica cuando hace onSoundComplete hasta ahí yo entiendo cual es el problema, pero no sé como solucionar que cundo hace el loadSound no vuelva a cargar la nueva v.
Esto lo estoy haciendo con el codigo mio, no con lo nuevo que me pasaste, porque no entiendo bien como va, no me funcionó, seguramente estoy poniendolo mal o algo. Te mandé el reproductor para que lo veas. Gracias.

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 07 Abr 2008 11:02 am
Da igual, deja el que pusiste, no afecta a la cosa. Bien, ahora cada vez que se carga un mp3, se tiene que hacer un setVolume, y si miras por ejemplo onSoundComplete :

miMp3.loadSound("mp3/"+i+".mp3", true);
_root.vol.gotoAndStop(v)

Hace ir la barra pero no hace un setVolume(v)
Siempre que hay un loadSound tiene que haber un setVolume
Revisa (y de paso traza que el valor sea correcto)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Abr 2008 11:28 am
Jorge, ya lo arreglé, por fin... que bien se siente uno... igualmente me faltan dos cosas, no se termina más esto , la primera y más importante es: tengo muchos problemas con el rollover y rollout, porque al pasar el mouse por el mc funciona siempre y cuando lo haga por alguno de los btn, entonces decidí ponerle un fondo negro que me sirva de btn grande que me sirva para el rollover, pero el problema lo tengo al hacer el rollout, porque cada vez que paso por alguno de los btn pierde conexion con el btn fondo y hace el rollout. Intenté ponerle un fondo transparente por arriba para que me haga de btn, pero claro, no funcionan los btn del reproductor... entonces pensé en detectar x_mouse e y_mouse, ¿que te parece? o hay otra posibilidad?
Pero no sé bien como se hace lo de capturar donde está el mouse para hacer el rollover y rollout.

Este es el codigo nuevo, el que supuestamente funciona:
var i:Number = 1;
//contador del mp3
var v:Number = 60;
//variable para medir el volumen del audio
var mp3s:Number = 4;
//Maximo de mp3 a reproducir
this.miMp3 = new Sound();
//variable principal mi mp3
this.miMp3.loadSound("mp3/"+i+".mp3", true);
//hacemos la carga de mp3 segun el valor de i
this.miMp3.setVolume(v);
//asigna el volumen de reproduccion
this.miMp3.onSoundComplete = function() {
//cuando termine el mp3, cargamos el siguiente
i++;
if (i>mp3s) {
i = 1;
}
if (newV==0) {
miMp3.loadSound("mp3/"+i+".mp3", true);
miMp3.setVolume(newV);
_root.vol.gotoAndStop(newV)
}
else if (newV>0) {
miMp3.loadSound("mp3/"+i+".mp3", true);
miMp3.setVolume(v);
_root.vol.gotoAndStop(v)
}
};
miMp3.onLoad = function(success:Boolean) {
var totalSeconds:Number = this.position/1000;
//vemos el tiempo transcurrido y sacamos los segundos
var minutes:Number = Math.floor(totalSeconds/60);
//lo mismo y sacamos los minutos
var seconds = Math.floor(totalSeconds)%60;
if (seconds<10) {
seconds = "0"+seconds;
}
if (minutes<10) {
time_txt.text = ("0"+minutes+":"+seconds);
} else if (minutes>=10) {
time_txt.text = (minutes+":"+seconds);
}
};
setInterval(miMp3, "onLoad", 1000);
// lo que viene es para el porcentaje cargado
onEnterFrame = function () {
porcentaje_txt.text = (Math.round((miMp3.getBytesLoaded()/miMp3.getBytesTotal())*100)+"%");
if (Math.round((miMp3.getBytesLoaded()/miMp3.getBytesTotal())*100) == 100) {
porcentaje_txt.text = "streaming completo";
}
};
miMp3.onID3 = function():Void {
ide_txt.text = miMp3.id3.artist+" - "+miMp3.id3.songname;
};
//---------------------------------------
reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
//Volumen inicial -----------------------
//funciones para el boton stop
reproductor.reproductor_over.stop_btn.onPress = function() {
miMp3.stop();
miMp3.setVolume(v);
};
//funciones para el boton play
reproductor.reproductor_over.play_btn.onPress = function() {
miMp3.start();
miMp3.setVolume(v);
};
//funciones para el el boton anterior
reproductor.reproductor_over.prev_btn.onPress = function() {
if (i>1) {
//Condicion que asigna que si es mayor a 1
i = i-1;
//entonces sera igual a i restando 1
miMp3.loadSound("mp3/"+i+".mp3", true);
//cargara el valor de i
miMp3.setVolume(v);
//asigna el valor global del volumen
} else if (i<=4) {
//segunda condional que dice que si i es menor o igual a 4
i = 4;
//borre el valor anterior y asigne 3
miMp3.loadSound("mp3/"+i+".mp3", true);
//carga un mp3 con el valor de i
miMp3.setVolume(v);
//asigna el volumen global al archivo
}
/*En el anterior bloque de condiciones, creamos un bucle de forma manual, donde si i llega
a un valor menor a 1, si presionamos el boton seguira restando en 1, entonces creamos una
segunda condicion en la misma estructura donde si i no es menor o igual a 3, borre el valor
previo y re asigne a 3; con lo que obliga al programa a cumplir la primer condicion, creando
un bucle infinito en esta ecuacion.*/
};
//funciones para el boton siguiente
reproductor.reproductor_over.sigu_btn.onPress = function() {
if (i<4) {
i = i+1;
miMp3.loadSound("mp3/"+i+".mp3", true);
miMp3.setVolume(v);
} else if (i>=4) {
i = 1;
miMp3.loadSound("mp3/"+i+".mp3", true);
miMp3.setVolume(v);
}
/*Hacemos lo mismo que en el boton anterior solo que a la inversa, aqui agregando valores en 1
en lugar de restarlos */
};
//funcion para el boton bajar volumen
reproductor.reproductor_over.volMenos_btn.onPress = function() {
if (v>0) {
//creamos una condicion que dicte que si v es mayor a 0
v = v-5;
//el valor de v, sera v menos 5
miMp3.setVolume(v);
//asigna el volumen de la variable miMp3
reproductor.reproductor_over.vol.gotoAndStop(v);
//lleva la barra de volumen al fotograma que dicte v
//en este caso se correra hasta 40; pues el valor original acertado
reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
}
};
//funciones para el boton subir volumen
reproductor.reproductor_over.volMas_btn.onPress = function() {
if (v<100) {
v = v+5;
miMp3.setVolume(v);
reproductor.reproductor_over.vol.gotoAndStop(v);
reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
}
};
//funciones para el boton volumen off/on
reproductor.reproductor_over.voloff_btn.onPress = function() {
if (v>0) {
oldV = miMp3.getVolume();
v = 0;
miMp3.setVolume(0);
newV = 0;
reproductor.reproductor_over.vol.gotoAndStop(1);
reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
}
else if (v==0) {
miMp3.setVolume(oldV);
v = oldV;
newV = v
reproductor.reproductor_over.vol.gotoAndStop(v);
reproductor.reproductor_over.vol_txt.text = "volumen a "+v+"%";
}
};

Por inmagic

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 07 Abr 2008 12:36 pm
Para chequear posición mirate hitTest, lo tendrás que hacer dentro de un onEnterFrame para que funciona, aunque no entiendo bien lo que quieres hacer, ¿un rollover sobre el player, sobre el fondo?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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