在MediaPlay中播出的图像用什么方法截取阿

roc_fu 2002-09-02 11:37:35
看到过很多截取MediaPlayer播出窗口的代码,可是试验下来都只能在播放AVI文件的时候截取到图像,如果播放的是MPG文件,或是别的用MpegVideo设备解码的图像,不管用什么方法截取得都是黑屏,哪位高人知道怎么才能截取告诉小弟好么?
我用SPY ++看过,播放AVI的时候,是在Panel上播出的,播放MPG的时候,Panel上附加了一层Windows Media Player窗口,我用的是Delphi6 + win2000和winXP
...全文
40 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wulangboy 2002-12-20
  • 打赏
  • 举报
回复
强烈关注.我学的是远程教育就是想把realplay 和mediaplay截下来!
世面上有不有这个软件哦!
PatchHome 2002-12-20
  • 打赏
  • 举报
回复
用<ALT>+<Print Screen>直接抓到缓冲区算了。再用画笔保存。
roc_fu 2002-11-11
  • 打赏
  • 举报
回复
同志们,继续阿,我还等着呢
roc_fu 2002-10-14
  • 打赏
  • 举报
回复
起始这个问题是DX8以上才开始的,和操作系统也没什么关系,楼上说的方法同样也抓不住啊
toplor 2002-10-12
  • 打赏
  • 举报
回复
我写了一段代码,用来抓取AVI、播放VCD(文件后缀名为.data或.mpg或.mpeg)的图像时,很有效,诸君不防一试:)

procedure Tmainform.Capture1Click(Sender: TObject);
var
mybmp:tbitmap;
mycanvas:tcanvas;
dc:hdc;
r:trect;
ext:string;
capw,caph:integer;
begin
 mediaplayer1.display:=fullform;
mediaplayer1.play;
mediaplayer1.pauseonly;
ext:=uppercase(extractfileext(mediaplayer1.filename));

if(ext='.DAT')or(ext='.MPG')or(ext='.MPEG')then //.AVI不用如此处理
begin
captureform.Show;//Captureform为另外一个窗口,用来将FullForm盖住,抓到的图像存到其上的Image中
sleep(1000);
captureform.hide;
application.ProcessMessages ;
end;
try
capw:=fullform.clientwidth;
caph:=fullform.clientheight;
mybmp:=tbitmap.create;
mycanvas:=tcanvas.create;
dc:=getdc(fullform.Handle);
mycanvas.Handle:=dc;
r:=fullform.ClientRect ;
mybmp.width:=capw;
mybmp.Height:=caph;
mybmp.Canvas.copyrect(r,mycanvas,r);
with captureform do
begin
image1.width:=capw;
image1.height:=caph;
image1.Picture.bitmap:=mybmp;
image1.Update;
end;
finally
releasedc(fullform.handle,dc);
mybmp.free;
mycanvas.free;
end;

messagebeep(0);//提示抓取成功

end;


-----------------------
风过西窗客渡舟船无觅处
年年一川新草遥看却似旧
hongqi162 2002-10-12
  • 打赏
  • 举报
回复
同意楼上
roc_fu 2002-10-10
  • 打赏
  • 举报
回复
哇,深度探险,一头扎下去,几个小时没找到相关组件,楼上的兄弟,说具体点好不好
konichiha 2002-10-08
  • 打赏
  • 举报
回复
在delphi深度历险里有你所需要的组件下载,
http://vcl.vclxx.org,而且带有源代码
cbdiy 2002-10-08
  • 打赏
  • 举报
回复
用mci试一下,应该没问题!!
97132 2002-10-07
  • 打赏
  • 举报
回复
favorite
knock 2002-10-04
  • 打赏
  • 举报
回复
你搜索一下以前的帖子就知道,你的这个贴子是很难得到满意的回答的。
我以前早就问过类似的问题,也都结贴了,可就是没有答案·!!!!
在delphibbs里也问了,而且出300分!没人给出满意答案。我今天就结了那上面的帖子,给了一个兄弟200,另外两个各50,呵呵,这样他们都上富翁榜了!
兄弟俺还是穷人一个。。。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1351854
xiachedan 2002-09-02
  • 打赏
  • 举报
回复
up
hjd_cw 2002-09-02
  • 打赏
  • 举报
回复
强烈关注!!!
roc_fu 2002-09-02
  • 打赏
  • 举报
回复
对于这个问题,有一个失误之处,就是其实是在XP下才会友这个问题,2000下是正常的

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧