我有一个办法就是用timer控件来定期的检查,看是否当前的歌曲已经播放完,如果是,则把第二个文件的路径附值给mediaplayer,下面是代码,你看看吧:(属性设置里面需把timer1的enabled设置成false,还有需要设置一个全句变量i,作用看下面就知道了。这个例子里面用的是一个button来载入播放文件,记得opendialog的options属性里面要改成允许多选哦)
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then begin
mediaplayer1.close; i:=0;
mediaplayer1.FileName:=opendialog1.Files[i];//第一个播放文件
timer1.Enabled:=true;//使timer开始工作,
mediaplayer1.Open;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);//timer1的ontimer事件
begin
if mediaplayer1.Position=mediaplayer1.Length then //判断是否播放完了当前的文件
begin i:=i+1; //是的话播放地址向后一个
if i<=opendialog1.Files.Count-1 then //判断是否后面还有文件
begin
mediaplayer1.FileName:=opendialog1.Files[i];
mediaplayer1.Open;
mediaplayer1.Play;//播放下一个
end;
end;
以下是我帮助你找到的,你实验一下吧!有问题的话给我发消息!
//在执行MediaPlayer1的Pause、Stop过程时应将其Notify:=False,其它过程Notify:=True.
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
sleep(500);//主要其缓冲作用
with MediaPlayer1 do
begin
if notify And Chechbox1.Checked And//接受信息
(mode=mpStopped) then//已经停止
begin
ReWind;
play;
end;
notify:=true;//开始接受信息
end;
end;