delphi
procedure TForm1.grListaDblClick(Sender: TObject); var Duracion: DWORD; Minutos, Segundos: WORD; begin if Not FileExists(cdsLista.Fields[1].AsString) then begin ShowMessage('Este archivo no existe o fue movido de sitio.'); end else begin //obtenemos la información de la canción ObtenerID3Tag(cdsLista.Fields[1].asstring,Titulo,Artista,Album,Ano,Genero,Comentario,Calidad); //Libramos la canción en memoria BASS_StreamFree(Channel); //tocamos la canción Channel := BASS_StreamCreateFile(False, PChar(cdsLista.Fields[1].asstring), 0, 0, 0); if Channel = 0 then Channel := BASS_MusicLoad(False, PChar(cdsLista.Fields[1].asstring), 0, 0, 0, 0); BASS_ChannelPlay(Channel, False); // MOstramos la duración de la cancion Duracion := BASS_StreamGetFilePosition(Channel, BASS_FILEPOS_END); Time := BASS_ChannelBytes2Seconds(Channel, BASS_ChannelGetLength(Channel, BASS_POS_BYTE)); Minutos := ((Duracion div 60) div 1000) div 60; Segundos := (Duracion div 1000) - (((Duracion div 1000) div 60) * 60); lbTimeTotal.Caption := IntToStr(Round(Minutos))+':'+IntToStr(Segundos); //mostramos la información de la canción lbTitulo.Caption := Titulo; lbArtista.Caption := Artista; lbAlbum.Caption := Album; lbGenero.Caption := Genero; end; end;
El valor en milisegundos de 3:40 es de 8805355 que es lo que lanza la librería BASS.
Saludos.