Programación General > Delphi

 MediaPlayer o como saber duracion de MP3

(1/2) > >>

madriles:
hola amigos foristas
necesitaba saber como o de donde se puede sacar la duracion ( en tiempo ) de un mp3, para manejar estos datos desde delphi. Se que nombre, album y demas se sacan con un string desde el Stream del mp3 pero no soy capaz de sacar un valor de tiempo
Alguna idea ?

BlackTigerX:
ahi mismo en Delphi viene la ayuda para sacar eso... checa la propiedad Length del componente mediaplayer

type

  HMSRec = record
    Hours: byte;
    Minutes: byte;
    Seconds: byte;
    NotUsed: byte;

  end;

procedure TForm1.Button1Click(Sender: TObject);

var
  TheLength: LongInt;
begin

  { Set time format - note that some devices don’t support tfHMS }

  MediaPlayer1.TimeFormat := tfHMS;
  { Store length of currently loaded media }
  TheLength := MediaPlayer1.Length;
  with HMSRec(TheLength) do { Typecast TheLength as a HMSRec record }
  begin
    Label1.Caption := IntToStr(Hours); { Horas en Label1 }
    Label2.Caption := IntToStr(Minutes); { Minutos en Label2 }
    Label3.Caption := IntToStr(Seconds); { Segundos en Label3 }
  end;
end;

madriles:
hola BlackTigerX
gracias por tu respuesta. Ha veces se nos pasa por alto lo que tenemos delante de las narices
un saludo

BlackTigerX:
asi es, de hecho la ayuda de Delphi es bastante buena, te puedo decir que mucho de lo que yo aprendi lo aprendi de los ejemplos de la ayuda de Delphi
 :)
salu2

madriles:
tienes razon la ayuda es muy buena pero... en ingles y algunas veces a los que no sabemos ingles nos cuesta un poco entenderla.
de todas formas, retornando a mi pregunta comentarte que, probada tu respuesta... no me sirve. MP3 es un formato que no admite  tfHMS. de todas maneras me dio la idea, Gracias, asi es que use tfMiliseconds y con un pequeño algoritmo lo pase a formato mm:ss y listo.
aunque la verdad lo que yo pretendia ( y pretendo ) es leerlo sin necesidad del mediaplayer (se que puede hacerse, ya que si pasas el raton en el administrador de archivos te lo indica )
lo que de momento estoy haciendo es leer mediante un TFileStream los ultimos 128 bytes del archivo, donde se guarda la informacion, para cambiarla a mi gusto, de hecho lo que pretendo es en el apartado de comentarios poner la duracion y ya, con todos los datos cambiados, leerlos y usarlos en una base de datos.
como te he dicho, de momento me apaño y si consigo solucionarlo como quiero, ya lo pondre a disposicion de quien le pueda interesar.
un saludo

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa