操作系统:Windows
一、 编译环境:
1、 将SDK安装目录下的Inc 和 Lib 目录路径分别加入VC++工程设置的 “C/C++ - Preprocressor – Additional include directories”和“Link – Input – Additional library path”中。
2、 将 Lib\DSStream.lib 文件加入工程设置的“Link – General – Object/library module”中。
3、 将 Inc\DSStream.h 文件加入工程,并 #include “DSStream.h”。
4、 将 Exe\DSStream.dll 文件拷入系统目录或其他系统能找到的目录中。
5、 开始编写代码。
二、函数说明:
1、初始化和反初始化函数:
(1)、HRESULT DSStream_Initialize()
初始化COM接口及一些参数。这是开始使用动态库的第一个函数,未初始化之前,任何其他函数的调用均无效。
(2)、void DSStream_Uninitialize()
释放COM接口,并断开已连接的所用设备。这是使用动态库的最后一个函数。这个函数应该在应用程序退出时、所有应用程序消息都处理完毕后调用,一般放在CWinApp::ExitInstance()或CWnd::OnNcDestroy()中。
(3)、HRESULT DSStream_ConnectDevice(int iCardID, BOOL bOverlay, HWND hParentWnd = NULL)
连接视频捕捉卡。只有连接后,才能对卡进行其他操作。
iCardID:
想要连接的卡号,以0为基数。计算机上的视频捕捉卡的数量可由DSStream_GetCardNumber得到。卡号对应的设备名字可利用DSStream_EnumVideoCaptureDev取得。
bOverlay:
是否使用 Overlay 模式。TRUE-使用,FALSE-不使用。使用 Overlay 时,显示速度快、占用CPU资源极少,但是不能快照、录像、显示Logo等。另外,当有一块卡使用了 Overlay 或者系统中有其他的 Overlay 程序存在时,其他卡将不能使用这种模式。
hParentWnd:
指定视频图像的父窗口,图像将显示在 hParentWnd 窗口中。也可用DSStream_SetOwnerWnd来指定父窗口。
(4)、HRESULT DSStream_DisconnectDevice(int iCardID)
断开与视频捕捉卡的连接。视频捕捉卡的所有属性将被还原。
iCardID:
将要断开连接的卡号,以0为基数。
(5)、HRESULT DSStream_GetCardNumber(int * pCardNum)
得到计算机上的视频捕捉卡的数量。
pCardNum:
指向一个 int 型变量。由它返回捕捉卡的数目。
(6)、HRESULT DSStream_IsConnected(int iCardID, BOOL * bConnected)
查看某一片卡是否已经被连接。
bConnected:
指向一个 BOOL 型变量。由它返回是否已经被连接。
(7)、void DSStream_ConnectPin(int iCardID, int pin)
对显示脚或录像脚进行渲染。除非显示脚或录像脚已经被DSStream_DisonnectPin断开,否则不应该调用此函数。正在录像时,此函数无效。
(8)、void DSStream_DisonnectPin(int iCardID, int pin)
断开对显示脚或录像脚的渲染。
(9)、HRESULT DSStream_EnumVideoCaptureDev(char szDevName[MAX_DEVICE_NUM][MAX_DEVICE_NAME_LEN], int *pDevNum);
枚举计算机上的视频捕捉卡,得到它们的名字和数量。
szDevName:
返回各个视频捕捉卡的名字。
pDevNum:
返回视频捕捉卡的数量。
2、设置视频窗口的属性:
(1)、HRESULT DSStream_SetOwnerWnd(int iCardID, HWND hParentWnd)
设置视频显示窗口的父窗口,视频图像将在这个窗口中显示。
hParentWnd:
父窗口的句柄。
(2)、HRESULT DSStream_GetOwnerWnd(int iCardID, HWND* phParentWnd)
得到当前视频显示窗口的父窗口的句柄。
phPraentWnd:
返回父窗口的句柄。
(3)、HRESULT DSStream_SetWindowPos(int iCardID, RECT rc)
设置视频图像在父窗口中的位置。如果所设位置的宽、高与视频图像实际的宽、高不等,视频图像将被缩放。视频图像的实际宽、高可通过调用DSStream_GetVideoInfo得到。
rc:
视频图像在父窗口中的位置。
(4)、HRESULT DSStream_GetWindowPos(int iCardID, RECT* prc)
得到视频窗口在父窗口中的位置。
prc:
返回视频窗口在父窗口中的位置。
(5)、HRESULT DSStream_SetMessageDrain(int iCardID, HWND hWnd)
设置后,视频显示窗口的键盘和鼠标消息将发往窗口 hWnd。通常,与父窗口为同一