TVideoCap 2.3 摄像头控件使用的问题 ( 积分: 42 )

  • 主题发起人 主题发起人 tswhq
  • 开始时间 开始时间
T

tswhq

Unregistered / Unconfirmed
GUEST, unregistred user!
Videocap.StartCapture;
执行后能够获得视频数据,为何过一段时间后不再触发以下事件
procedure TMainForm.Video1VideoStream(sender: TObject;
lpVhdr: PVIDEOHDR);
造成无法获得视频数据.(例子也有同样的问题)
程序最小化或被其他窗体遮盖,也不行!
请各位高手指点...........
 
Videocap.StartCapture;
执行后能够获得视频数据,为何过一段时间后不再触发以下事件
procedure TMainForm.Video1VideoStream(sender: TObject;
lpVhdr: PVIDEOHDR);
造成无法获得视频数据.(例子也有同样的问题)
程序最小化或被其他窗体遮盖,也不行!
请各位高手指点...........
 
没有人回答也可以结贴吗?
 
不是有例子么
 
shen me yi si?
 
我没有遇到这个问题,视频处理下例子3我运行是好的,就是那个IMAGE1老是一段时间后就不显示了.
有谁能告诉我,怎么设置采集频率啊.我要设置成每秒2帧.但是设置了FRAMERATE为2好像不行.
 
vfw就是有这个问题,换dspack,wmencoder
dxmylove@yahoo.com.cn,qq:171833017,http://www.websamba.com/dxmylove
 
用dapack能否传输音频?
 
在哪里可以下载TVideoCap 2.3 和TVideoDisp控件?
 
to 一生最爱,,
不是vfw的问题 是函数使用问题
 
delphi摄像头拍照
procedure Tfrm1.Button2Click(Sender: TObject);
Var
jpeg: TJPEGImage;
bmp: TBitmap;
MyStm:TMemoryStream;
strfilename,strcard:String;
begin

inherited;
strfilename:=extractfilepath(Application.ExeName);
with DBEdit12.DataSource.DataSetdo

begin


if not VideoCap1.SaveAsDIB then

begin

ShowMessage('拍摄照片失败');
Abort;
end;
//

bmp:= TBitmap.Create;
try
bmp.LoadFromFile(strfilename+ 'Capture.bmp' );
MyStm:=TMemoryStream.Create;
jpeg:= TJPEGImage.Create;
try
jpeg.Assign( bmp );
jpeg.compress;
jpeg.SaveTofile( strfilename+'Capture.jpg');
strfilename:=strfilename+'Capture.jpg';
jpeg.LoadFromFile(strfilename);
jpeg.SaveToStream(MyStm);
MyStm.Position:=0;
OpenQry(query1,'select count(1) as cnt from tb_photo where card_no='''+strcard+'''');//先查找是否有此卡号
OpenQry(pubqry,'select * from tb_photo where card_no='''+strcard+'''');//打开卡号数据表
{OpenQry是自定义打开数据表的函数
OpenQry(qry1:TQuery,ssql:String);
begin

with qry1do

beign
if active then

close;
sql.clear;
sql.add(ssql);
try
open
catch
on E: Exceptiondo
ErrorDialog(E.Message, E.HelpContext);
end;
//try
end;

end;


}
with query1do

begin

if pubqry.Fields[0].AsInteger >0 then
//先判断此卡号的图片是否存在,若存在,替换;否则,插入。
Edit
else

Insert;

FieldByName('card_no').AsString :=strcard;
TBlobField(FieldByName('photo')).LoadFromStream(MyStm);
Post;
//统一提交
end;
//with
finally
MyStm.Free;
jpeg.free;
end;

//try
finally
bmp.free;
end;
//try
end;
//with
end;

//请首先下载TVideoCap控件
 
以上帖子保存
 
我想是TVideoCap控件自身的问题:
如果用preview来触发视频数据捕获,那么preview窗口被遮盖就会停止
如果发送开始捕获的消息来实现,那么就不会停止,除非设置了捕获时间限制:
capCaptureSequenceNoFile(hwnd:HWND);
但是这时候设置CaptureParms的dwRequestMicroSecPerFrame好像控制不了捕获频率
只好自己控制了,呵呵
其实VFW的捕获很简单的,想要source的话加我MSN:kaigeng@hotmail.com
 
http://www.tommstudio.com/ViewArticles.aspx?ID=400
http://www.tommstudio.com/
看看上面的文章吧,也许又帮助的。
 
哪里有这个控件下载?或者给我一份,我帮你看看
tonyliu398@hotmail.com
 
后退
顶部