Bueno como la duda parece resuelta, me limitaré a echarle un cable a RedMX. Para la duración de un archivo de audio, lo primero que tienes que plantearte es el formato. ¿Es un MP3? Por ejemplo, un archivo de tres minutos en MP3 codificado a 128 kilobits por segundo (Kbps) ocupa 2,8 Megabytes en disco duro.
Bien, 2,8 * 1048575 = 2936010 bytes. Ok, entonces 3 minutos a 128 kbps son unos 2936010 bytes lo que nos salen unos 978670 bytes por minuto.
Entonces, coges el tamaño del archivo con FileLen. Supongamos que te devuelve 1174404 bytes. Divide 1174404 entre 978670 y ¡voila! tenemos que el archivo tiene 1,2 minutos de duración. Por supuesto esto es muy, muy, muy aproximado y habría que estar seguro de que es un MP3, de que está codificado a 128 kbps etc etc etc; es sólo un ejemplo.
Como ya te dije eso es muy aproximado y algo chapucero (el tamaño final depende de muchisimos otros factores); así que si es un programa "serio" tendrás que buscar alternativas. Por ejemplo, he encontrado un ejemplo de reproductor de MP3 hecho con el control ActiveX de Microsoft Windows Media Player 9 Series con Microsoft Visual Basic .NET, en el que el control ActiveX se mantiene oculto en el formulario y se crean con código los botones de control del reproductor (play, stop, next, previous etc...) Para la duración simplemte tienes que hacer ésto
Dim minutos As Integer
Dim segundos As Integer
minutos = ocxPlayer.currentMedia.duration \ 60 ' división entera entre la duración en segundos y 60
Como ves, es más exacto y seguro pero te obliga a usar ese control. Tienes el code y el proyecto aquí
http://www.elguille.info/colabora/puntoNET/miliuco_mp3sin.htmUn saludo
Sergi