请教视频回调的问题? ( 积分: 40 )

  • 主题发起人 主题发起人 jin005
  • 开始时间 开始时间
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;
 
我想在天敏卡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;
 
请高手们指点,深表感谢。我先顶一下。
 
后退
顶部