Hast du da ein Array oder eine ListBox? Wenn eine ListBox, wie sprichst du sie dann an? ALso normal wäre das so:
mpl.FileName := ListBox1.Items.Strings[random(ListBox1.Items.Count)];
Und wenn du random() nutzen willst musst du
Form1.Randomize;
erst aktivieren.
NACHTRAG:
Schau dir mal meine Prozedur an:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
fIndex: integer;
w, h: integer;
ext: string;
begin
if ListBox1.ItemIndex < 0 then
MediaPlayer1.FileName := ListBox1.Items.Strings[0]
else
MediaPlayer1.FileName := ListBox1.Items.Strings[ListBox1.ItemIndex];
MediaPlayer1.Open;
ext := ExtractFileExt(MediaPlayer1.FileName);
// [...]
MediaPlayer1.Play;
Timer1.Interval := MediaPlayer1.Length;
TrackBar1.Max := MediaPlayer1.Length;
// [...]