港澳台办公室级别:delphi 中mediaplayer1控件 怎么判断播放完毕?

来源:百度文库 编辑:中科新闻网 时间:2024/04/27 13:51:25
我是用mediaplayer1播放了一个声音文件,怎么才能判断播放完毕 然后弹出对话框呢?
我这样做 不行啊

procedure TForm1.FormCreate(Sender: TObject);
begin
MediaPlayer1.Play;
if mediaplayer1.Position=mediaplayer1.EndPos then
ShowMessage('播放完毕 ^_^');
end;
这个是程序一运行就开始播放
怎么才能判断呢?

你加的位置不对啊!
procedure TForm1.FormCreate(Sender: TObject);
是在窗口创建时被调用的。
一般来讲,当Form1做为主窗口时,在程序运行周期内,它可能只被调用一次。
-----------------------------------------------------------
利用TMediaPlayer控件的Mode属性就能够判断
播放完毕时Mode属性的值为mpStopped
回答者:网友专家 rarnu - 魔法师 五级 8-6 15:30
-----------------------------------------------------------
以上是选自魔法师rarnu的答案!特此声明!

构造函数的确只能在实例化时调用一次
而且调用者(事件源)是Application本身
所以你不能在Create事件里判断Mediaplayer的模式
应该做一个Timer,然后进行判断

楼上的朋友已经找到我以前的答复了,在此表示感谢