mediaplayer的问题!(100分)

  • 主题发起人 主题发起人 windcker
  • 开始时间 开始时间
W

windcker

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个form上放了一个mediaplayer控件,还有一个panel1,要在panel上放avi,
但是我写程序mediaplayer.play,display属性也设panel1了,autoopen也true了,
但是panel上就是什么都没有,也不报错。
如果我把mediaplayer控件的播放按钮显示出来,通过点击play键播放就没有问题。
急死我了,望高人指点!
 
begin
with MediaPlayer do
begin
FileName := 'c:/test.avi';
Display := Panel1;
DisplayRect := Rect(1, 1, Panel1.Width - 2, Panel1.Height - 2);
Open;
Play;
end;
end;
 
autoopen属性设为false,让他自动选择播放格式
 
procedure TForm1.Button1Click(Sender: TObject);
begin
//还需要这样做 :
MediaPlayer1.DisplayRect:=Panel1.BoundsRect;
MediaPlayer1.Open;
MediaPlayer1.Play;
end;
 
我综合了以上几位的意见,写了还是不行,也不报错,就是不显示。
程序如下:
procedure TForm5.FormShow(Sender: TObject);
begin
with MediaPlayer1 do
begin
FileName := 'test.avi';
Display := Panel1;
DisplayRect:=Panel1.BoundsRect;
Open;
Play;
end;
end;
而且这个form5是进度显示的窗口,我是想主程序开始做比较大的运算的时候,显示form5,
在form5上放个avi。那么如果主程序运算占用cpu时间非常大的话,是不是avi就不能正常
放了?
 
DisplayRect := Rect(1, 1, Panel1.Width - 2, Panel1.Height - 2);
 
如果你只是为了作为提供给用户一个正在运行的信息,你应该用TAnimate,用
mediaplayer有点大材小用了.
 
liuguan的办法我也试了,还是只看见灰色的panel,但是没有avi放出来。也不报错。
我的avi有声音,只能用mediaplayer。
 
找到原因了,是主程序运算量太大,大量占用了cpu时间,导致avi不能正常播放,那这有什么
办法解决吗?我试着用线程放avi,还是一样,等主程序算完了,才放avi,所以一闪而过,和
没放一样。主程序用线程,也是avi几乎没法放。
谁有办法望指点!!多谢!
 
你主程序算什么了
 
大量的数学计算.
 
播放好象无法在plane1定位啊!!!!!!
 
你要在主程序计算前就播放,切要放在线程中,还要每次播放都重新画一下屏幕
 
后退
顶部