Comunidad de diseño web y desarrollo en internet online

Clase Sound Problemas!!.

Citar            
MensajeEscrito el 14 Mar 2008 03:41 pm
Hola gente. toy haciendo un reproductor de mp3 y no puedo obtener el total de milisegundos
que dura una cancion mientras se esta cargando... :cry:
osea me va mostrando el total de lo que esta cargado hasta el momento. me explico..
si un tema dura 2:25 minutos. como obtengo ese valor mientras se esta cargando el tema.
una ves que lo tengo cargado pues ya lo tengo. pero miesntras se esta cargando es la pregutnta..

dice en la ayuda de ActionScript que "sound.length" es el total de milisegundos de un tema.
pero no explica como obtenerlos mientras se esta cargando el tema.

esto me sirve para hacer el streaming del mp3 cargando y el que se esta reproduciendo ahun cuando el mp3 no se termino de cargar.

si hay otro metodo. lo agradeceria.

saludos.

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 14 Mar 2008 07:36 pm
Esa data suele venir en el metadata, puedes agregar on listener al Sound.id3 (flash.events.Event.ID3) en donde viene la info del mp3

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Mar 2008 07:55 pm
mmmm que mal :( ya que hay mp3 que no tienen esa data. tiene que haber algun tipo de calculo
con el total de bytes o algo..
como es posible que se sepa el totalde bytes y no la longitud :cry: ..

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 26 Mar 2008 09:49 am
Hola!
Tengo el mismo problema que phoxer, intente usar la opción que propone solisarg, pero como metadatos no me aperece la duración por ningun lado.

Si alguien sabe una solución por favor que me lo comente.

Muchas gracias y salu2

Por Ayalga

18 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 27 Mar 2008 04:14 pm
holas. como soy bueno :wink: traje la solucion... :)
la cosa es asi. como el sound.lenght no es correcto mientras se esta cargando el sonido (buffering)
hay que hacer una regla de 3 simple.. sisi. la maldita pero tan presisada matematica. jaja. (que flojo)

lo que basicamente hice fue tomar el total de bytes del archivo y calcular por una porcion de milisegundos el total de milisegundos.

Código :

var subtotal:Number=Number(sound.length/sound.bytesLoaded);
var totalLenght:Number=Number(subtotal*sound.bytesTotal);


osea que si en el 1% de el total del archivo cargado tengo 5 segundos de el tema.
hago 5*100% del total y me da la cantidad total final estimada. :wink:

a mi me funciono perfecto.. saludos.

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 27 Mar 2008 05:58 pm
Correcto, solo tener en cuenta que la data no se reparte uniformemente, entonces siempre el tiempo es aproximado, y puede variar al acceder a la propiedad directamente

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 May 2008 07:47 pm
usa tambien duracion = mimusica.duration; //esta operacion te la da en milisegundos
osea que quedaria asi duracion = mimusica.duration/1000;
y la posision asi posision = mimusica.position/1000;
mira mi ejemplo:

Código :


   var segundos:Number = song.duration/1000;
   var posision:Number = song.position/1000;
   var min:Number = Math.floor(segundos/60);
   var sec:Number = Math.floor(segundos%60);
   var posi:Number = Math.floor(posision/60);
   var segu:Number = Math.floor(posision%60);
   if(segu<=9){
           stado.text = posi+":0"+segu+ " / " +min+":"+sec;
          stados.text = "";
      }else {
         stado.text = posi+":"+segu+ " / " +min+":"+sec
                                 }

Por Jimmy_Space

66 de clabLevel



Genero:Masculino  

Tlacojalpan

msie7
Citar            
MensajeEscrito el 23 May 2008 02:28 pm
Hay que distinguir entre ID3 v1 y v2.

La mayoría de los mp3 suelen estar en v1, y muchos de los datos de ID3 están al final del archivo, entre ellos la duración. La versión 2 de ID3 hace que se pongan al principio, y lo reconozca sin necesidad de que se haya cargad todo el mp3.

La solución es hacerte con un programa de edición de tags (etiquetas) (http://www.mp3tag.de/en/), que te permita modificar los datos y convertirlos a v2.

Es un poco rollo, porque cada canción que quieres colgar, la tienes que pasar por el programa y añadirle la etiqueta de duración (TLEN o LENGTH, depende del programa). Pero una vez hecho, el mp3 queda registrado con ID3 v2, y desde flash ya te lee ese dato; esta vez poniendo en ActionScript: sound.id3.TLEN;

Por Mostaza de Canela

10 de clabLevel



 

firefox

 

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