我把要播的音乐放在listbox1 里。我想逐一播或是随机播,但我设置了一个时间点,如:14:00 到14:00 自动停止播放,要不就一直循还播
放列表的歌曲。搞了一下午,网上搜了要不看不懂,要不没有。
 for i:=0 to rzlistbox1.Items.Count do
    begin
      j:=random(rzlistbox1.Items.Count) ;
      MediaPlayer1.FileName:=rzlistbox1.Items.Strings[j] ;
      MediaPlayer1.Open;
      MediaPlayer1.Play ;
    end;这是写的,可只能播一首

解决方案 »

  1.   


    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleCtrls, WMPLib_TLB, StdCtrls, ExtCtrls;type
      TForm1 = class(TForm)
        WindowsMediaPlayer1: TWindowsMediaPlayer;
        ListBox1: TListBox;
        Timer1: TTimer;
        procedure FormCreate(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}var
      i,p: integer;procedure TForm1.FormCreate(Sender: TObject);
    begin
      ListBox1.Items.Add('1.mp3');
      ListBox1.Items.Add('2.mp3');
      ListBox1.Items.Add('3.mp3');
      ListBox1.Items.Add('4.mp3');
      ListBox1.Items.Add('5.mp3');
      WindowsMediaPlayer1.URL:= ListBox1.Items.Strings[0];
      i:= 0;
      p:= 0;
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      if WindowsMediaPlayer1.playState = 1 then
      begin
        while i = p do p:= random(5);
        i:= p;
        WindowsMediaPlayer1.URL:= ListBox1.Items.Strings[i];
      end;   
    end;end.