AUDIO PLAYER EN FLASH
4 seguidores
finalmente tengo un .fla con dos botones play y stop -obvio no explicar para qué-.
cuando pulso sobre play me reproduce un mp3 en stream pero no sé como hacer para que me aparezca el tiempo de reproducción -contando de forma inversa, a ser posible- Alguien sabe como puedo hacerlo?
sé que existe la función sound.position pero ni aún así descubro como puedo incluir en el reproductor el tiempo de la canción.
playground
Tienes el sonido en la línea de tiempo? Si es así tendrás que hacer un cálculo: el numéro de frames que ocupa la película, dividido el número de fps y obtendrás los segundo que dura la canción. Voy bien? Es esto lo que quieres?
loopecio
makina!! :D
Muy buena idea.. KEEP IT SIMPLE.
playground
Es que mi cabeza es muy retorcida y siempre piensa la solución menos adecuada pero a veces funciona y todo. Bueno pues luego tendrímaos que quitarle a lo que hemos calculado antes _root._currentframe y el resultado convertirlo en minutos y segundos. no?
granatta Profesor Plus
más fácil creo que será cargar el sonido en un objeto Sound y sacar el valor de Sound.duration, que retorna la longitud en milisegundos del sonido cargado :)
d+g.
SadAngel
No, no tengo el sonido en la línea de tiempo.
lo tengo como loadSound (en streaming), lo cargo desde un mp3 externo.
Sé que tal y como lo tengo debo hacerlo con el Sound.duration. Pero realmente no sé las líneas de código que debo insertar para hacer una pequeña barrita o un timer que cuente hacia atrás. Es decir que si la duración total es de 3 minutos que empiece por esa cifra y vaya contando hasta cero.
Por cierto, gracias
playground
Ah! vale es que en otro post creí leer que no habías creado el objeto.
Entonces sí. Voy a mirarlo que creo que lo tengo hecho por ahí.
SadAngel
playground sí, al final utilicé el código que me ofecieron en otro post, aunque algo retocado. No cargo la música desde el .fla, sino desde un archivo externo .mp3.
playground
A ver si me explico. Creo que funciona, no lo he probado mucho:
primer fotograma:
snd = new Sound()
snd.loadSound("sonido.mp3",false)
snd.stop()
snd.onLoad = function(){
snd.start()
play()
}
timer = "Cargando..." //timer es el campo de texto
stop()
segundo fotograma:
this.onEnterFrame = function (){
duracion = snd.duration/1000
reproduccion = snd.position/1000
tiempo = duracion-reproduccion
minutos = int(tiempo/60)
segundos = int(tiempo % 60)
if (minutos<1){
timer = "0:" + segundos
}else{
timer = minutos + ":" + segundos
}
}
stop()
Prueba a ver que tal :)
SadAngel
ok, entiendo el código... aunque no lo puedo probar, toy en el trabajo. Esta tarde te digo. Pero, el timer tengo que definirlo como símbolo? Perdona si mi pregunta es algo básica, pero acabo de empezar con todo flash.
¿que función es int(); ?
Por otra parte, si en vez del tiempo, quisiera poner una barrita, sería muy diferente... tampoco quiero enredar y molestar. Si resulto pesao me lo dices eh! :-)
Muchísimas gracias!
playground
No, simplemente haces un campo de texto cuya variable sea "timer"
Para la barra solo tendrías que hacer algo parecido a un preload, es decir hallar el tanto porciento de la cancio que ha transcurrido con snd.position y snd.duration :)
SadAngel
grache grache... plas plas plas!
SadAngel
funciona!!!!!!!!
else if (segundos<10) {
timer = minutos + ":" + "0" + segundos;
agregé sólo esa línea y los - ; - en el código.
Gracias!!!!!
SadAngel
Finalmente lo subí al servidor... y comprobé que me tardaba mucho más en cargar la página... aunque realmente no sé pq. será... calcula la duración y el tiempo exacto requiere de un proceso de carga muy lento?
playground
Pues la verdad es que no sé porqué te ha pasado eso. No tiene por qué. Podrías ponerlo para verlo?
SadAngel
es extraño, pq. lo tengo en un iframe.... cuando anoche lo subí la página me tardaba mucho más en cargar.
Cierto es que el audio.mp3 que subí al servidor ocupaba 1,8 mb. probablemente sea por eso no?
playground
Claro. Vamo... supongo. :) Mírate la referencia de "_soundbuftime"
Igual es que por defecto carga muchos segundos de canción antes de empezar a reproducir.
SadAngel
ok, esta tarde lo miro... si tengo alguna duda te envio un mail...
:)
gracias!
playground
oká
SadAngel
lo tengo puesto en www.sadangelnet.com mi weblog... pero no sé que pasa, que cuando le he dado a play me lo reproduce bien, pero el mp3 va acelerado (espera a que cante la chica y verás)... alguien sabe como puedo solucionar esto...o qué ocurre??