紧急求助!!!200分倾囊相送!!视频播放问题(200分)

  • 主题发起人 主题发起人 hh20020123
  • 开始时间 开始时间
H

hh20020123

Unregistered / Unconfirmed
GUEST, unregistred user!
播放VCD问题
我用TMediaPlayer播放vcd文件*.dat出错,
但把附加名改为mpg后即能正常播放,
请问这是为什吗?
播放mpg和avi 文件时设置如下:
MediaPlayer1.Display:=Form2;
MediaPlayer1.DisplayRect:=Form2.ClientRect;
play后发现画面仅以固定大小显示在Form2的左上角,
请问该如何自由地改变画面大小?
从哪里获得输出画面的属性?
 
这可能有难,TMediaPlayer的功能有限
 
To goddy:
有没有一些底层的函数可以调用?
 
我好像没有遇到这种问题啊,如
mp.FileName :='c:/winnt/clock.avi';
mp.open;
mp.display:=form1;
mp.DisplayRect :=form1.ClientRect
mp.Play
画面占满整个form1
 
用windows media player播放即可

var
pwmp:TWinMediaPlayer;
begin

if opendialog1.Execute then

begin

pWMP := TWinMediaPlayer.Create(self);
pWMP.Parent := form2;
pWMP.AutoRewind := true;
pWMP.AutoSize := true;
pWMP.ShowAudioControls := false;
pWMP.ShowControls := false;
pWMP.ShowPositionControls := false;
pWMP.ShowTracker := false;
pWMP.PlayCount := 0;
pWMP.FileName := opendialog1.FileName;
pWMP.Play;
end;
 
你的dat文件是不是视频文件哟
 
我有,
请告诉我你的E_mail.
别忘了给分哦!
 
to 千夜雪:
我的E-mail: libailing@sohu.com.
请速寄,小弟感激不禁!!
 
to 千夜雪:
我的E-mail: chinakiss8848@sohu.com.
请速寄,小弟同样感激不禁!!
 
楼上的兄弟,文件已发出
 
原因是TMediaPlayer无法根据文件名的扩展名来判断媒体的类型,
可以在devicetype中先设置相应的类型,默认值是dtAutoSelect,自动根据扩展名识别。
TMediaPlayer是使用系统内置的播放器,所以跟window media player的版本有关,
我用window media player 8.0 在delphi5下可以播放*.dat文件,包括mpeg4
 
to 千夜雪 和 秋风萧萧:
我的机器是WIN98第二版,装了Window media player 7.0,media player 7.0可以很正常的
放*.dat文件,而千夜雪你发的程序在我机器上还是不能放*.dat文件。我也是devicetype中
先设置相应的类型,默认值是dtAutoSelect,我自己编的程序用TMediaPlayer也放不了!都
是提示“MMSYSTEM281无法播放该文件。请检查文件名或安装支持这种文件类型的驱动程序”
我不知如何安装什么驱动程序,请赐教!
我记得我以前在Delphi 4.0的时候用TMediaPlayer做了一个程序,也是这个问题,后来
是装了《超级解霸》的什么版本就可以放了,我现在也不记得了!
有知道是装什么程序的请指点!万分感谢了!!!我也很急急!
 
to 秋风萧萧:
window media player 8.0 哪有下载啊?我没找到,也许行,谢谢!
(我用的是Delphi 5.0)
 
www.pconline.com.cn/download
不过我的机子上也有 装超级解霸2000+
devicetype中不是有好多设置,你可以一个一个试过去,不一定要用dtAutoSelect
 
最新结果,我在win97上也可以打开*.dat文件
我的win97几乎是裸体,就是除了系统其他的软件都没有安装。
 
如果不行,你可以在其他机子运行一下软件,不一定是你的系统出问题
我都帮你特意装了一个win97测试,分数要多给点:))
 
我知道是什么问题了!是要在win.ini里加“dat=MPEGVideo”就可以了!
谢谢你们!不过 hh20020123 要给我加分的话,我还可以告诉你该如
何自由地改变画面大小和全屏播放的办法!xixi ,我刚自己试成功!!!
 
加一个Panel1

MediaPlayer1.Display:=Form2.Panel1;
MediaPlayer1.DisplayRect:=Form2.Panel1.ClientRect;

运行时修改Panel1的Top,Left,Width,Height即可改变大小

将Form2.BorderStyle := bsNode
并将其最大化,Panel1.Align := alClient 即可全屏

 
分数了.....
 
你错了,应当这样写:
MediaPlayer1.DisplayRect:=Rect(0,0,form1.Width,form1.Height);
要将事件写到oncreat,onResize中就行了,给分呦
 
后退
顶部