Mp3
Como retornar o tempo de um arquivo mp3.
T_rossini
Curtidas 0
Respostas
Bisao
07/04/2003
Eu to utilizando no meu programa a BASS.dll
ai eu faço o seguinte:
No evento onTimer do componente Timer digite;
Label1.caption := FormatDateTime(´nn:ss´,(BASS_ChannelBytes2Seconds(Canal,BASS_ChannelGetPosition(Canal)))/86400);
Label2.caption :=´/ ´ + FormatDateTime(´nn:ss´,(BASS_ChannelBytes2Seconds(Canal,BASS_StreamGetLength(Canal)))/86400);
Captura o tempo total e atual da música.
Epero ter ajudado.
ai eu faço o seguinte:
No evento onTimer do componente Timer digite;
Label1.caption := FormatDateTime(´nn:ss´,(BASS_ChannelBytes2Seconds(Canal,BASS_ChannelGetPosition(Canal)))/86400);
Label2.caption :=´/ ´ + FormatDateTime(´nn:ss´,(BASS_ChannelBytes2Seconds(Canal,BASS_StreamGetLength(Canal)))/86400);
Captura o tempo total e atual da música.
Epero ter ajudado.
GOSTEI 0
Kurama
07/04/2003
Desculpe a minha ignorancia, mas eu naum consegui usar o seu exemplo, c poderia me explicar como eu faço pra usalo pra descobrir o tempo que a música do ´C:\Musicas\Musica.mp3´ tem
obrigado
obrigado
GOSTEI 0
Bisao
07/04/2003
Ola, me desculpe o enorme tempo de atraso da sua pergunta
mas é que eu estava ocupado e precisei ´sumir´ por um tempo.
Mas em relação a pergunta você precisa me passar o q ta acontecendo ai,
o pq naum deu certo. Fala se da algum erro e tal.
Obrigado.
mas é que eu estava ocupado e precisei ´sumir´ por um tempo.
Mas em relação a pergunta você precisa me passar o q ta acontecendo ai,
o pq naum deu certo. Fala se da algum erro e tal.
Obrigado.
GOSTEI 0
Bisao
07/04/2003
Ola, me desculpe o enorme tempo de atraso da sua pergunta
mas é que eu estava ocupado e precisei ´sumir´ por um tempo.
Mas em relação a pergunta você precisa me passar o q ta acontecendo ai,
o pq naum deu certo. Fala se da algum erro e tal.
Obrigado.
mas é que eu estava ocupado e precisei ´sumir´ por um tempo.
Mas em relação a pergunta você precisa me passar o q ta acontecendo ai,
o pq naum deu certo. Fala se da algum erro e tal.
Obrigado.
GOSTEI 0
Kurama
07/04/2003
Naum dá nenhum erro, mas ela naum funciona :D
Eu naum sei fazer ela funcionae, como eu faço pra saber o tempo que tem uma música que tá no ´C:\Musicas\Musica.mp3´ ???
Eu naum sei fazer ela funcionae, como eu faço pra saber o tempo que tem uma música que tá no ´C:\Musicas\Musica.mp3´ ???
GOSTEI 0
Sremulador
07/04/2003
Você pode utilizar a unit mpgtools que e show :wink:
GOSTEI 0
Cebikyn
07/04/2003
Baixe a Audio Tools Library ( http://www.torry.net/vcl/mmedia/packs/atl.zip ) e use a classe TMPEGAudio, da unit MPEGAudio.pas.
O uso é bem simples:
Ao término desta rotina, a variável TempoDoMP3 conterá a duração do MP3 em segundos. Se quiser que o valor seja inteiro, basta passa-lo para a função Trunc(TempoDoMP3); Esta mesma classe pode te retornar o bit rate, sample rate, se é mono, estéreo ou joint estéreo, entre outras informações. No mesmo arquivo, vc tb encontra units para manipulação de outros formatos de arquivos, incluindo mais classes para MP3 (ID3v1 e ID3v2, se bem que eu não recomendo o uso da unit para ID3v2, eu uso uma outra que é muito mais completa).
O uso é bem simples:
uses MPEGAudio; var MPEGAu: TMPEGAudio; procedure ....; var TempoDoMP3: Double; begin MPEGAu := TMPEGAudio.Create; with MPEGAu do if ReadFromFile(´C:\Musicas\Musica.mp3´) and Valid then TempoDoMP3 := Duration; MPEGAu.Free; end;
Ao término desta rotina, a variável TempoDoMP3 conterá a duração do MP3 em segundos. Se quiser que o valor seja inteiro, basta passa-lo para a função Trunc(TempoDoMP3); Esta mesma classe pode te retornar o bit rate, sample rate, se é mono, estéreo ou joint estéreo, entre outras informações. No mesmo arquivo, vc tb encontra units para manipulação de outros formatos de arquivos, incluindo mais classes para MP3 (ID3v1 e ID3v2, se bem que eu não recomendo o uso da unit para ID3v2, eu uso uma outra que é muito mais completa).
GOSTEI 0