J
jin005
Unregistered / Unconfirmed
GUEST, unregistred user!
我想在天敏卡sdk3000 delphi api DEMO中的一个视频回调函数中实现一个功能,就是能取出每帖的图片并显示在image控件中。这样由于视频回调函数是实时的,所以,理论上运行后除了浏览窗口的实时画面还应该在image中看到实时显示的画面,可是我不知道如何在视频回调函数(PrcCapSourceStream)中取出每帖图片送到image上。
视频回调函数声明如下:
//允许视频原始回调格式
function VCAEnableCapSourceStream(nCards: Integer;
bCapStream: VCBOOL;
enVideoFieldType: VideoFieldType;
pCapStream: TPrcCapSourceStream)
: HRESULT;
stdcall;
external DLL_SDK3000;
// 捕获原始流回调
TPrcCapSourceStream = procedure (nCardID: Integer;
pBuf: PByte;
nWidth: Integer;
nHeight: Integer;
nBitCount: Integer);
stdcall;
我在它的demo中加了一个button,在它的单击事件里写到:
procedure TForm1.Button4Click(Sender: TObject);
begin
VCAEnableCapSourceStream(g_nCard,ToVcbool(true),Interlaced_Field,Addr(MyPrcCapSourceStream)) ;//允许视频回调
end;
而后又在视频回调函数里写到:
procedure MyPrcCapSourceStream (nCardID: Integer;
pBuf: PByte;
nWidth: Integer;
nHeight: Integer;
nBitCount: Integer);stdcall;
begin
//这里我试了,有视频的时候是实时触发的事件,不过我不知道该怎么写,把参数里的缓冲区的内容送到image中显示。
end;
视频回调函数声明如下:
//允许视频原始回调格式
function VCAEnableCapSourceStream(nCards: Integer;
bCapStream: VCBOOL;
enVideoFieldType: VideoFieldType;
pCapStream: TPrcCapSourceStream)
: HRESULT;
stdcall;
external DLL_SDK3000;
// 捕获原始流回调
TPrcCapSourceStream = procedure (nCardID: Integer;
pBuf: PByte;
nWidth: Integer;
nHeight: Integer;
nBitCount: Integer);
stdcall;
我在它的demo中加了一个button,在它的单击事件里写到:
procedure TForm1.Button4Click(Sender: TObject);
begin
VCAEnableCapSourceStream(g_nCard,ToVcbool(true),Interlaced_Field,Addr(MyPrcCapSourceStream)) ;//允许视频回调
end;
而后又在视频回调函数里写到:
procedure MyPrcCapSourceStream (nCardID: Integer;
pBuf: PByte;
nWidth: Integer;
nHeight: Integer;
nBitCount: Integer);stdcall;
begin
//这里我试了,有视频的时候是实时触发的事件,不过我不知道该怎么写,把参数里的缓冲区的内容送到image中显示。
end;