[BATCH] ¿Se puede sacar la duracion de una cancion?

Iniciado por Meine programmen, 14 Abril 2012, 12:15 PM

0 Miembros y 1 Visitante están viendo este tema.

Meine programmen

Pues bueno, estoy haciendo un programa que me abra la musica de manera aleatoria y me parece muy molesto estar pulsando enter cada vez que se acaba una cancion, asi que me preguntaba si hay alguna manera de sacar la duracion de una cancion desde batch, en segundos a poder ser, para con ping localhost -n que sea automatico. Gracias
REMEMBER! Reality is an illusion, the universe is a hologram, BUY GOLD! BYE!!


Eleкtro

Nativamente hablando no puedes hacer nada para obtener la duración de un archivo de música.

Con Mediainfo si que puedes.
http://mediainfo.sourceforge.net/es/Download/Windows

En consola:
mediainfo "archivo.mp3" "--Inform=General;%Duration/String3%"

En un script:
mediainfo "archivo.mp3" "--Inform=General;%%Duration/String3%%"

CitarDuration                       : Play time of the stream in ms
Duration/String            : Play time in format : XXx YYy only, YYy omited if zero
Duration/String1          : Play time in format : HHh MMmn SSs MMMms, XX omited if zero
Duration/String2          : Play time in format : XXx YYy only, YYy omited if zero
Duration/String3          : Play time in format : HH:MM:SS.MMM




Pienso que lo mejor sería que hicieses una lista de reproducción. Para añadir todos los archivos a la lista del reproductor que usas. Así no tienes que pulsar enter, Ni averiguar el tiempo.
http://foro.elhacker.net/scripting/script_en_batch_para_ordenar_un_poco-t356306.0.html;msg1727721#msg1727721

Un ejemplo, Para winamp:
PD: Cambia la ruta de la variable "carpeta" si es necesario.

Código (dos) [Seleccionar]
@Echo OFF

:: Generador de listas de música aleatorias.bat
:: By Elektro H@cker

Title %~n0
Mode con cols=50 lines=3
Setlocal enabledelayedexpansion
chcp 1252 >NUL

Set "Carpeta=%cd%"

Echo+
Echo: Espere, Se esta randomizando la lista...
Echo #EXTM3U>"%Temp%\Lista Winamp.tmp"
For /F "Tokens=*" %%$ in ('Dir /B /S "%CARPETA%" ^| Findstr /I /R ".aif .flac .m4a .mid .mp3 .ogg .wav .wma"') do (Echo !Random!!Random!!Random!;%%$>>"%Temp%\Lista Winamp.tmp")
Echo #EXTM3U>"%Temp%\Lista Winamp.m3u"
For /F "Tokens=2* Delims=;" %%$ in ('Type "%Temp%\Lista Winamp.tmp" ^| Sort ') do (Echo %%$>>"%Temp%\Lista Winamp.m3u")
Start /B C:"\Program Files (x86)\Winamp\winamp.exe" "%Temp%\Lista Winamp.m3u"
Exit


Salu2.