我正在使用delphi7。我想在程序中放一首歌,但我不希望它永远不会结束。我尝试使用计时器,但未播放音乐:
procedure TForm1.FormCreate(Sender: TObject);
begin
timer1.enabled:=true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var playsound,destination:string;
begin
destination:=paramstr(0);
playsound:=extractfilepath(destination)+'Soundtrack\play.wma';
mediaplayer1.FileName:=playsound;
mediaplayer1.Open;
mediaplayer1.Play; //USING TMEDIAPLAYER
end;
这段代码中没有语法错误,但是歌曲没有运行,也许计时器不适用于该作业。我该怎么办?谢谢
最佳答案
请勿为此使用计时器。改用TMediaPlayer.OnNotify
事件:
procedure TForm1.FormCreate(Sender: TObject);
begin
mediaplayer1.FileName := extractfilepath(paramstr(0))+'Soundtrack\play.wma';
mediaplayer1.Notify := true;
mediaplayer1.Wait := false;
mediaplayer1.Open;
end;
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
case mediaplayer1.Mode of
mpOpen, mpStopped: begin
if mediaplayer1.Error = 0 then begin
mediaplayer1.Notify := true;
mediaplayer1.Wait := false;
mediaplayer1.Play;
end;
end;
end;
end;
关于delphi - Delphi7,使用Tmediaplayer重复播放声音,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16388286/