📄 dvrsdk.h
字号:
DWORD dwCardIDCount );
// 显示函数 - 设置Logo内容(如场景说明等)
BOOL WINAPI HxnDVR_SetLogoText ( DWORD dwCardID, LPCTSTR szLogoText );
// 显示函数 - 显示或隐藏Logo
void WINAPI HxnDVR_ShowLogo ( DWORD dwCardID, BOOL bShow, int x, int y );
// 显示函数 - 显示或隐藏时间
void WINAPI HxnDVR_ShowTime ( DWORD dwCardID, BOOL bShow, int x, int y );
// 显示函数 - 显示或隐藏日期
void WINAPI HxnDVR_ShowDate ( DWORD dwCardID, BOOL bShow, int x, int y );
// 显示函数 - 画质显示增强模式, 选择范围(0,1,...14)
BOOL WINAPI HxnDVR_ShowInfocus ( DWORD dwCardID, int iMode );
// 显示函数 - 图像卜莱兹显示模式, 选择范围(0,1,...14)
BOOL WINAPI HxnDVR_ShowInBlaze ( DWORD dwCardID, int iMode );
// 显示函数 - 显示或不显示视频边框区域
void WINAPI HxnDVR_DisplaySideForVideoScreen ( DWORD dwCardID, DWORD Color, BOOL isShow );
// 显示函数 - 设置视频显示帧率
BOOL WINAPI HxnDVR_SetDisplayFrame ( DWORD dwCardID, int iFrame );
// 录像函数 - 设置要录制的文件名称和捕捉模式, 其中 dwMode 参考捕捉模式定义
BOOL WINAPI HxnDVR_SetCaptureFile ( DWORD dwCardID, char *filename, DWORD dwMode );
// 录像函数 - 开始捕捉流或文件
BOOL WINAPI HxnDVR_StartCapture ( DWORD dwCardID );
// 录像函数 - 停止捕捉流或文件
void WINAPI HxnDVR_StopCapture ( DWORD dwCardID );
// 录像函数 - 判断指定卡是否正在进行捕捉
BOOL WINAPI HxnDVR_IsVideoCapture ( DWORD dwCardID );
// 录像函数 - 设置 MPEG4 压缩流的录制参数和捕捉模式属性
void WINAPI HxnDVR_SetMPEG4Property ( DWORD dwCardID, RecordMPEGPara * mpgPara, MPEG4Mode dwMode);
// 录像函数 - 获取 MPEG4 压缩流的录制参数和捕捉模式属性
void WINAPI HxnDVR_GetMPEG4Property ( DWORD dwCardID, RecordMPEGPara * mpgPara, MPEG4Mode * dwMode );
// 录像函数 - 获取系统支持的可用视频压缩引擎及可用数量
BOOL WINAPI HxnDVR_EnumVidCompressor ( VidCompressorInfo * pInfo, int * piVidCompNum );
// 录像函数 - 指定录像时使用的视频压缩引擎
BOOL WINAPI HxnDVR_SetVidCompressor ( LPCTSTR szCompName );
// 录像函数 - 获取当前使用的视频压缩引擎
BOOL WINAPI HxnDVR_GetCurrentVidCompressor ( LPSTR pszCompName );
// 录像函数 - 获取系统支持的可用音频压缩引擎及可用数量
BOOL WINAPI HxnDVR_EnumAudCompressor ( AudCompressorInfo * pInfo, int * piAudCompNum );
// 录像函数 - 指定录像时使用的音频压缩引擎
BOOL WINAPI HxnDVR_SetAudCompressor ( LPCTSTR szCompName );
// 录像函数 - 获取当前使用的音频压缩引擎
BOOL WINAPI HxnDVR_GetCurrentAudCompressor ( LPSTR pszCompName );
// 录像函数 - 设置视频压缩的质量范围 (0 - 100)
BOOL WINAPI HxnDVR_SetVidCompressorQuality ( int iQuality );
// 录像函数 - 获取视频压缩的质量
int WINAPI HxnDVR_GetVidCompressorQuality ( );
// 录像函数 - 设置成快照大小一半尺寸进行录像 (对 640 X 480 尺寸有效)
BOOL WINAPI HxnDVR_SetHalfSizeForVideo ( BOOL ishalf );
// 抓图函数 - 抓拍 BMP 图片
BOOL WINAPI HxnDVR_SaveToBmpFile ( DWORD dwCardID, char * filename );
// 抓图函数 - 抓拍 JPG 图片
BOOL WINAPI HxnDVR_SaveToJpgFile ( DWORD dwCardID, char * filename, DWORD dwQuality );
// 抓图函数 - 获取图像 DIB 点阵
BOOL WINAPI HxnDVR_GetCurrentDib ( DWORD dwCardID, BYTE * pDestBuf, RECT * prc );
// 抓图函数 - 将图像存入剪贴板
BOOL WINAPI HxnDVR_CopyToClipboard ( DWORD dwCardID );
// 回调函数 - 设置未压缩 RGB24 格式视频流回调
//获取DIB数据流
extern "C" {
typedef void (__stdcall *ForRGB24VideoCallBack) (DWORD dwCardID, const BYTE* pDIBHead, const BYTE* pDIBits, LPVOID pParam);
}
void WINAPI HxnDVR_SetCallBackForRGB24VideoBuffer(int dwCardID, ForRGB24VideoCallBack proc, LPVOID pParam);
// 回调函数 - 设置未压缩 YUY2 格式视频流回调
typedef void (CALLBACK *ForVideoCallBack) ( DWORD dwCardID, BYTE * pbuff, DWORD dwSize );
void WINAPI HxnDVR_SetCallBackForVideoBuffer ( DWORD dwCardID, ForVideoCallBack ppCall );
// 回调函数 - 设置MPEG4 压缩视频流回调
typedef void (CALLBACK *ForMpegCallBack) ( DWORD dwCardID, BYTE * pbuff, DWORD dwSize, BOOL isKeyFrm );
void WINAPI HxnDVR_SetCallBackForMPEG4VideoBuffer ( DWORD dwCardID, ForMpegCallBack ppCall );
// 回调函数 - 设置音频流回调
typedef void (CALLBACK *ForAudioCallBack) ( DWORD dwCardID, BYTE*pbuf, DWORD dwSize );
void WINAPI HxnDVR_SetCallBackForAudioBuffer ( DWORD dwCardID, ForAudioCallBack pAuCall );
//===========================
// 动态监测函数
//===========================
#define MOTION_DETECT_RECT_NUM_WIDTH (16)
#define MOTION_DETECT_RECT_NUM_HEIGHT (12)
// 动态监测回调函数
typedef void (WINAPI * MotionDetectCallback) ( DWORD dwCardID, BYTE * pucIsChange, PVOID pContext );
// 定义动态监测返回消息 wParam = 卡号,lParam = 变化值
#define VM_SENSOR_OUTPUT (WM_USER + 0x2300)
typedef struct tagMOTIONPARAM
{
DWORD dwAlarmMode; // 0:Callback, 1:Message
MotionDetectCallback pAlarmCallbackFunc; // 设置回调函数
PVOID pAlarmCallbackContext; // 由用户定义的回调时识别数据结构指针
HWND hAlarmWnd; // 报警时接受消息窗口句柄
DWORD dwAlarmMessageID; // 自定义报警消息常量,WPARAM: card id, LPARAM: pucIsChange[][]
BYTE ucThreshold_Y; // 亮度阈值 (0 ~ 255)
BYTE ucThreshold_UV; // 色度阈值 (0 ~ 255)
// 0:该区域不检测, 1:灵敏度最高, 12:灵敏度最低, >12:不检测
BYTE ucPrecision[MOTION_DETECT_RECT_NUM_HEIGHT][MOTION_DETECT_RECT_NUM_WIDTH];
} MOTIONPARAM;
// 动态监测函数 - 启动动态监测
BOOL WINAPI HxnDVR_StartMotionDetect ( DWORD dwCardID );
// 动态监测函数 - 停止动态监测
void WINAPI HxnDVR_StopMotionDetect ( DWORD dwCardID );
// 动态监测函数 - 设定动态监测参数
BOOL WINAPI HxnDVR_SetMotionDetectParam ( DWORD dwCardID, MOTIONPARAM MotionParam );
// 动态监测函数 - 获取当前动态监测参数
void WINAPI HxnDVR_GetMotionDetectParam ( DWORD dwCardID, MOTIONPARAM * pParam );
// 动态监测函数 - 获取当前是否启动动态监测
BOOL WINAPI HxnDVR_IsStartMotionDetect ( DWORD dwCardID);
// 动态监测函数 - 是否显示当前监测参数网格
void WINAPI HxnDVR_DisplayMotionGrid ( DWORD dwCardID, BOOL isShow );
// 动态监测函数 - 是否显示当前监测变化网格
BOOL WINAPI HxnDVR_DisplayCheckMotionGrid ( DWORD dwCardID, BYTE * lparam );
// 动态监测函数 - 设置当前动态监测参数(按坐标点设定)
BOOL WINAPI HxnDVR_SetMotionDetectArea ( DWORD dwCardID, POINT point, BOOL isDetect, BYTE ucPrecision = 3 );
// 串口通讯函数 -通讯事件消息定义及参数说明
#define WM_COMM_BREAK_DETECTED WM_USER+1 // EV_BREAK A break was detected on input.
// 其中 (WPARAM) 0, (LPARAM) portId
#define WM_COMM_CTS_DETECTED WM_USER+2 // EV_CTS The CTS (clear-to-send) signal changed state.
// 其中 (WPARAM) 0, (LPARAM) portId
#define WM_COMM_DSR_DETECTED WM_USER+3 // EV_DSR The DSR (data-set-ready) signal changed state.
#define WM_COMM_ERR_DETECTED WM_USER+4 // EV_ERR A line-status error occurred. Line-status errors are CE_FRAME, CE_OVERRUN, and CE_RXPARITY.
// 其中 (WPARAM) 0, (LPARAM) portId
#define WM_COMM_RING_DETECTED WM_USER+5 // EV_RING A ring indicator was detected.
// 其中 (WPARAM) 0, (LPARAM) portId
#define WM_COMM_RLSD_DETECTED WM_USER+6 // EV_RLSD The RLSD (receive-line-signal-detect) signal changed state.
#define WM_COMM_RXCHAR WM_USER+7 // EV_RXCHAR A character was received and placed in the input buffer.
// 其中 (WPARAM) RXBuff, (LPARAM) portId
#define WM_COMM_RXFLAG_DETECTED WM_USER+8 // EV_RXFLAG The event character was received and placed in the input buffer.
// 其中 (WPARAM) 0, (LPARAM) portId
#define WM_COMM_TXEMPTY_DETECTED WM_USER+9 // EV_TXEMPTY The last character in the output buffer was sent.
// 通讯事件设置 < 具体请参见 WinBase.h 中定义 >
// 将需要的消息事件进行或运算如:DWORD dwCommEvents = EV_RXCHAR | EV_CTS | ... 等
// 串口通讯函数 - 初始化并配置串口
BOOL WINAPI HxnDVR_COMPortInit ( HWND pPortOwner, // 设置接收消息传窗口
UINT portId = 1, // 串口号 (1..4)
UINT baud = 9600, // 波特率 baudrate
char parity = 'N', // 奇偶位 parity
UINT databits = 8, // 数据位 databits
UINT stopbits = 1, // 停止位 stopbits
DWORD dwCommEvents = EV_RXCHAR | EV_CTS, // 通讯事件设置 EV_RXCHAR, EV_CTS 等
UINT writebuffersize = 512); // 通讯缓冲大小 size to the writebuffer
// 串口通讯函数 - 获取当前串口DCB配置信息
DCB WINAPI HxnDVR_COMPortGetDCB ( UINT portId );
// 串口通讯函数 - 获取当前通讯事件设置
DWORD WINAPI HxnDVR_COMPortGetCommEvents ( UINT portId );
// 串口通讯函数 - 获取当前通讯缓冲大小 size to the writebuffer
DWORD WINAPI HxnDVR_COMPortGetWriteBufferSize ( UINT portId );
// 串口通讯函数 - 开始通讯
BOOL WINAPI HxnDVR_COMPortStart ( UINT portId );
// 串口通讯函数 - 停止通讯
BOOL WINAPI HxnDVR_COMPortStop ( UINT portId );
// 串口通讯函数 - 发送指定的通讯字节和字节数
void WINAPI HxnDVR_COMPortSend ( UINT portId, BYTE * SendString, int iNum);
// 串口通讯函数 - 卸载指定串口号的串口通讯资源
void WINAPI HxnDVR_COMPortUnInit ( UINT portId );
// 音频专用函数 - 选择音频输出到声卡的通道号
BOOL WINAPI HxnDVR_SetAudioToSoundCard ( DWORD dwCardID );
// 音频专用函数 - 允许音频通过声卡输出
void WINAPI HxnDVR_EnableAudioToSoundCard ( BOOL m_isAudioOut );
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -