Yo también estoy muy interesado en conocer cómo saber la duración del MP3, sin tener que abrir el Mediaplayer.
He mirado las referencias que habéis citado en este foro, pero no localizo ningún componente o una manera sencilla para leer la información del archivo MP3 y poder leer directamente su duración o calcularla con los datos que contienen.
En mi caso probé con Windows 2000 y Delphi 7 a hacer un programa que lee todos los MP3 del ordenador y que guarda en una base de datos la información sobre el autor, titulo del tema, etc, pero basandose no en los IDTags sino simplemente en los nombres de los archivos (por tanto mi programa requiere que previamente los nombres de los archivos tengan una estructura bien definida).
Probé a poner un MediaPlayer y a hacer file-open-leeduracion-close, pero cuando se hace un número determinado de ejecuciones, una ventana de windows aparece, en teoría, advirtiendome de una protección en Windows NT acerca del debugger (algo extraño que no habñia visto nunca antes). Probé incluso a ejecutar el EXE por si sólo, pero se queda como colgado. Pienso que el problema del MediaPlayer en una ejecución repetitiva es que no le da tiempo a cargar y descargar el MP3 del mediaplayer y provoca una salida de la ejecución. Algo así, tampoco se me ocurre otra circunstancia. El caso es que si quito todo lo referente al mediaPlayer el programa funciona correctamente.
Es por ello que preferiría encontrar un método que lea directamente la información que contiene cada MP3. Como vosotros ya visteis este tema en su momento, ¿podeis ayudarme de alguna manera?
Saludos