Te recomiendo que te leas la guia de estilo
.
Primero, no dices que componente estas usando, pero se supone que es el TMediaPlayer.
La propiedad Length del MediaPlayer devuelve la duracion del archivo de musica en milisegundos. Luego haces las operaciones adecuadas y consigues obtener el formato x:xx:xx. Para la posicion de la cancion utilizas la propiedad Position que te devuelve la posicion actual en milisegundos, haces la misma operacion que con la propiedad Length y obtienes la posicion actual en el formato x:xx:xx.
Yo pondria un TSpeedButton con la propiedad GroupIndex:=1 y la propiedad AllowUp:=true, luego en el timer pondriamos esto:
Código Delphi
[-]
begin
If MediaPlayer.postion=MediaPlayer.length then begin
If RandomButton.down=false then begin
If ListBox1.itemindex= ListBox1.items.count then ListBox1.itemindex:= -1;
ListBox1.itemindex:= ListBox1.itemindex + 1;
end;
If RandomButton.down=true then begin
Randomize;
Listbox1.itemindex:= Random(ListBox1.items.count);
end;
MediaPlayer.filename:= Listbox1.items[ListBox1.itemindex];
MediaPlayer.open;
MediaPlayer.play;
end;
end;
Con esto conseguirias la reproduccion aleatoria y la reproduccion continua.
PD: No se si el codigo esta bien, no tengo un Delphi delante
.
Salu2