mediaplayer控件的问题 (50分)

  • 主题发起人 主题发起人 monkeyking
  • 开始时间 开始时间
M

monkeyking

Unregistered / Unconfirmed
GUEST, unregistred user!
一个Form,上面一个panel,一个mediaPlayer,已赋值mediaplayer.display:=panel.
我想单击一下panel就播放,再单击一下就停止...

procedure TForm1.FormCreate(Sender: TObject);
begin

MediaPlayer1.FileName:='G:/My MOVIES/michael_jordan_to_the_max/best_layup_031101[1].avi';
end;


procedure TForm.Panel1Click(Sender: TObject);
begin

if (MediaPlayer.Mode=mpPlaying) then

begin

MediaPlayer.Stop;
end
else

begin

MediaPlayer.Play;
end;

end;

播放没有问题。
但是我停止播放后,关掉这个窗口,就会出错。这是为什么?
//经过多次调试,我发现,对于较小得avi文件没有问题,但是文件大的话,我用的是4M
多一点得,播放、暂停都没有问题,但是关掉窗口就会出错。是不是与释放资源有关?
 
好像问题出在Panel1Click里
对Panel1单击之后,MediaPlayer释放,
窗体还在;再单击Panel1时MediaPlayer的mode何在?
不妨试一下把else
部分去掉,MediaPlayer.Free之后再
加上Form1.Close;
 
hehe,也还不行.:(
 
你看看吧
procedure TForm1.Panel1Click(Sender: TObject);
begin

if (MediaPlayer1.Mode=mpPlaying) then

begin

MediaPlayer1.Stop;
MediaPlayer1.Close;
end
else

begin

MediaPlayer1.Open;
MediaPlayer1.Play;
MediaPlayer1.Close;
end;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin

MediaPlayer1.FileName:='C:/Program Files/Borland/Delphi6/Demos/CoolStuf/Cool.Avi';
end;

 
free或者是close再关掉。
 
停止用:Mediaplayer1.Pause
 
后退
顶部