1、海康威视 ActiveX 控件接口说明V2.3 版本(20100611)控件版本更新说明:1. 版本号改为 2.3.9.12. 增加接口:BMPCapturePicV23、JPEGCapturePicV23、StartRecordV233. 支持第三方 IPC的添加20100115更新:1. 增加添加数字通道时获取第三方 IPC协议的接口2. 增加 GetServerIPByIPServer 接口通过 IP-SERVER 模式获取 IP 地址接口20100405更新:1. GetServerInfo接口中增加获取零通道个数的节点2. 增加零通道相关接口,开始零通道预览、停止零通道预览、零通道预
2、览画面翻页20100510更新:1 GetIPCConfig 和 SetDigitChannel 接口增加是否启用快速添加节点。用于95NVR2 增加通过 SADP获取在线 IPC信息列表接口:GetIPCInfoBySadp3 增加修改 SADP获取的在线 IPC信息接口:SetIPCameraInfo方法:1.注册1.1 注册long Login(LPCTSTR lpServerIP, long lPort, LPCTSTR lpUserName, LPCTSTR lpPassword)功能:注册用户到硬盘录像机参数说明:lpServerIP:硬盘录像机的 IP 地址lPort:硬盘录像机
3、端口号lpUserName:登陆的用户名lpPassword:登陆的密码返回值:lUserID 提供给其他接口使用。-1 表示注册失败。1.2 设置 UserIDBOOL SetUserID(long lUserID)功能:设置 UserID,如果注册成功,可以通过该接口传入 UserID.参数说明:lUserID:要传入的 UserID 值返回值:TRUE 表示成功,FALSE 表示失败。2.注销2.1 注销BOOL Logout()功能:从硬盘录像机上注销某个用户返回值:TRUE 表示成功,FALSE 表示失败。2.2 释放 OCXBOOL ClearOCX()功能:停止一切操作,例如录像
4、、预览等操作返回值:TRUE 表示成功,FALSE 表示失败。3.解析 IP地址3.1 利用普通域名解析 IP地址BSTR GetServerIP(LPCTSTR lpURL)功能:域名方式登陆时解析所连接硬盘录像机的 IP参数说明:lpURL:域名地址返回值:返回解析到的硬盘录像机的 IP 地址,返回空表示失败。3.2 利用 IP-SERVER模式获取 IP地址BSTR GetServerIPByIPServer (LPCTSTR lpDNSIP, LPCTSTR lpServerName, LPCTSTR lpSerialNumber)功能:从 IP-Server 服务器上获取 IP 地址
5、,序列号和设备名称不能同时为空。参数说明:lpDNSIP: DNS IP 地址lpServerName: 设备名称lpSerialNumber:序列号返回值:返回解析到的硬盘录像机的 IP 地址,返回空表示失败4.获取硬盘录像机的信息BSTR GetServerInfo()功能:获取硬盘录像机的信息,注册成功后才有效返回值:以 XML 形式记录硬盘录像机信息的一个字符串。形式:byChanNum /模拟通道个数byDVRType /类型byDiskNum /硬盘数bySerialNumber /序列号byAlarmInPortNum /模拟通道报警输入个数byAlarmOutPortNum /
6、模拟通道报警输出个数byStartChan /起始通道号byAudioChanNum/语音通道个数byMaxDigitChannelNum/最大数字通道插槽数byZeroChanNum/零通道个数5.预览5.1 开始预览BOOL StartRealPlay(long lChannelNum ,long lProtocolType, long lStreamType) 功能:开始预览(如果调用了 SetPlayWndType 接口,预览画面就按照设置的比例显示。如果没有,当前预览通道是 HD720p 或者 HD900p 的分辨率,预览画面自动变成 16:9 的比例;如果获取不到分辨率,预览画面大
7、小就是当前控件大小;其他分辨率时,预览画面为 4:3 的比例)参数说明:lChannelNum:播放通道号, 0 代表通道 1,1 代表通道 2lProtocolType:协议类型, 0 TCP, 1 - UDPlStreamType: 码流类型, 0 表示主码流, 1 表示子码流返回值:TRUE 表示成功,FALSE 表示失败。5.2 停止预览BOOL StopRealPlay()功能:停止预览返回值:TRUE 表示成功,FALSE 表示失败。5.3 设置播放器帧缓冲区的个数BOOL SetRealPlayBufNumber(long lBufNumber)功能:设置播放器帧缓冲区的个数,在
8、预览时才有效参数说明:lBufNumber:设置播放器帧缓冲区最大的帧数,取值为 1-50。缓冲区越大, 图象越流畅;缓冲区越小,实时性越好。若是复合流建议最 小值设置成 6。返回值:TRUE 表示成功,FALSE 表示失败。5.4 设置预览时丢 B帧个数BOOL RealPlayThrowBFrame(long lThrowBType)功能:设置解码时丢弃 B 帧的个数,在预览时才有效参数说明:lThrowBType:丢 B 帧个数,0 - 不丢,1 丢一个, 2 丢 2 个返回值:TRUE 表示成功,FALSE 表示失败。5.5 动态产生一个关键帧BOOL MakeKeyFrame(lon
9、g lChannelNum)功能:网络预览时动态产生一个关键帧参数说明:lChannelNum:通道号返回值:TRUE 表示成功,FALSE 表示失败。5.6 开始零通道预览BOOL StartZeroRealPlay(long lZeroChannelNum, long lProtocolType, long lStreamType)功能:开始零通道预览(画面比例为 4:3,暂时不支持子码流预览,零通道不能控制云台,视频参数调节)参数说明:lZeroChannelNum: 播放零通道号, 0 - 代表通道 1,1 - 代表通道 2lProtocolType:协议类型, 0 TCP, 1 -
10、UDPlStreamType: 码流类型, 0 表示主码流, 1 表示子码流返回值:TRUE 表示成功,FALSE 表示失败。5.7 停止零通道预览BOOL StopZeroRealPlay()功能:停止零通道预览返回值:TRUE 表示成功,FALSE 表示失败。5.7 零通道预览画面翻页BOOL ZeroTurnOver(long lZeroChannelNum, BOOL bNextPreview)功能:零通道预览画面翻页参数说明:lZeroChannelNum 零通道号bNextPreview 翻页, TRUE - 下一页, FALSE - 上一页返回值:TRUE 表示成功,FALSE
11、表示失败。6.抓图6.1 抓 BMP图BOOL BMPCapturePicture(LPCTSTR lpSavePath, BOOL bShowSaveFile)功能:抓 BMP 图,在预览时才有效参数说明: lpSavePath:设置保存图片的路径。默认为“C:OCXBMPCaptureFiles“ ,图片保存在写入路径的 BMPCapture 文件夹中bShowSaveFile:抓图成功后是否弹出保存图片文件的文件夹返回值:TRUE 表示成功,FALSE 表示失败。6.2 抓 JPEG图BOOL JPEGCapturePicture(long lChannelNum, short iPic
12、Size, short iPicQuality, LPCTSTR lpSavePath, BOOL bShowSaveFile)功能:抓 JPEG 图,不需要预览。当图像压缩分辨率为 VGA 时,支持0=CIF, 1=QCIF, 2=4CIF 抓图,当分辨率为 3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA,7=XVGA, 8=HD900p 仅支持当前分辨率的抓图参数说明: lChannelNum:通道号。1 - 代表通道 1,2 代表通道 2iPicSize:分辨率 0=CIF, 1=QCIF, 2=4CIF 3=UX
13、GA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGAiPicQuality:图片质量 0-最好 1-较好 2-一般lpSavePath:设置保存图片的路径。默认为 “C:OCXJPEGCaptureFiles“。图片保存在写入路径的 JPEGCapture 文件夹中。bShowSaveFile:抓图成功后是否弹出保存图片文件的文件夹返回值:TRUE 表示成功,FALSE 表示失败。6.3 按传入文件名抓 BMP图BOOL BMPCapturePicV23(LPCTSTR lpSavePath, BOOL bShowSaveFile,
14、LPCTSTR lpSaveFileName)功能:抓 BMP 图,在预览时才有效参数说明: lpSavePath:设置保存图片的路径。默认为“C:OCXBMPCaptureFiles“ ,图片保存在写入路径的 BMPCapture 文件夹中bShowSaveFile:抓图成功后是否弹出保存图片文件的文件夹lpSaveFileName:保存文件的名称,默认为 “IP_通道号_时间.bmp“返回值:TRUE 表示成功,FALSE 表示失败。6.4 按传入文件名抓 JPEG图BOOL JPEGCapturePicV23(long lChannelNum, short iPicSize, short
15、 iPicQuality, LPCTSTR lpSavePath, BOOL bShowSaveFile, LPCTSTR lpSaveFileName)功能:抓 JPEG 图,不需要预览。当图像压缩分辨率为 VGA 时,支持0=CIF, 1=QCIF, 2=4CIF 抓图,当分辨率为 3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA,7=XVGA, 8=HD900p 仅支持当前分辨率的抓图参数说明: lChannelNum:通道号。1 - 代表通道 1,2 代表通道 2iPicSize:分辨率 0=CIF, 1=QCIF
16、, 2=4CIF 3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGAiPicQuality:图片质量 0-最好 1-较好 2-一般lpSavePath:设置保存图片的路径。默认为 “C:OCXJPEGCaptureFiles“。图片保存在写入路径的 JPEGCapture 文件夹中。bShowSaveFile:抓图成功后是否弹出保存图片文件的文件夹lpSaveFileName:保存图片的文件名,默认为“IP_通道号_时间.jpeg“返回值:TRUE 表示成功,FALSE 表示失败。7.对讲7.1 开始对讲BOOL Start
17、Talk(long lTalkChanNum)功能:开始对讲参数说明: lTalkChanNum:对讲通道返回值:TRUE 表示成功,FALSE 表示失败。7.2 停止对讲BOOL StopTalk()功能:停止对讲返回值:TRUE 表示成功,FALSE 表示失败。7.3 设置语音对讲声音BOOL SetVoiceComClientVolume(long lVolume)功能:设置语音对讲PC端的音量参数说明: lVolume:设置的音量,取值为 0 10返回值:TRUE 表示成功,FALSE 表示失败。8.云台控制8.1 云台控制开始BOOL PTZCtrlStart(long lCtrlT
18、ype,long lSpeed)功能:云台开始控制命令,在预览时才有效参数说明: lCtrlType:为云台动作:0 - 云台向上,1 - 云台向下,2 - 云台向左,3 - 云台向右, 4 - 焦距缩进,5 - 焦距拉远,6 - 焦点近,7 - 焦点远,8 - 光圈小,9 - 光圈大,10 自动, 11 灯光, 12 雨刷,13 - 云台左上, 14 - 云台右上, 15 - 云台左下, 16 - 云台右下。lSpeed:云台速度,范围为 1 7。 如果值为 0,则按照无带速接口控制云台。返回值:TRUE 表示成功,FALSE 表示失败。8.2 云台控制停止BOOL PTZCtrlStop(
19、long lCtrlType,long lSpeed)功能:云台停止控制命令,在预览时才有效参数说明: lCtrlType: 为云台动作: 0 - 云台向上,1 - 云台向下,2 - 云台向左,3 - 云台向右, 4 - 焦距缩进,5 - 焦距拉远,6 - 焦点近,7 - 焦点远,8 - 光圈小, 9 - 光圈大, 10 自动, 11 灯光, 12 雨刷,13 - 云台左上, 14 - 云台右上, 15 - 云台左下, 16 - 云台右下。lSpeed:云台速度,范围为 1 7。 如果值为 0,则按照无带速接口控制云台。返回值:TRUE 表示成功,FALSE 表示失败。8.3 设置预置点BOO
20、L PTZCtrlSetPreset(long lPresetNumber)功能:设置云台预置位,需要预览参数说明: lPresetNumber:云台预置位号,最多支持 256 个。返回值:TRUE 表示成功,FALSE 表示失败。8.4 调用预置点BOOL PTZCtrlGotoPreset(long lPresetNumber)功能:调用云台预置位,需要预览参数说明: lPresetNumber:云台预置位号,最多支持 256 个。返回值:TRUE 表示成功,FALSE 表示失败。9.视频参数9.1 获取视频参数BSTR GetVideoEffect()功能:获取视频参数,需要预览 返回值
21、:以 XML 形式记录视频参数的一个字符串,返回空表示失败形式:byBright /亮度 ( 取值为 1 10 )byContrast /对比度 ( 取值为 1- 10 )bySaturation /饱和度 ( 取值为 1- 10 )byHue /色调 ( 取值为 1 - 10 )9.2 设置视频参数BOOL SetVideoEffect(long lBrightValue, long lContrastValue, long lSaturationValue, long lHueValue)功能:设置视频参数,需要预览参数说明: lBrightValue:亮度 ( 取值为 1 10 )lCo
22、ntrastValue: 对比度 ( 取值为 1- 10 )lSaturationValue:饱和度 ( 取值为 1- 10 )lHueValue: 色调 ( 取值为 1 - 10 )返回值:TRUE 表示成功,FALSE 表示失败。10.声音控制10.1 设置声音模式BOOL SetAudioMode(long lSoundMode)功能:设置声音播放模式,需要在预览前设置参数说明:lSoundMode: 打开声音模式。 1 独占模式 , 2 共享模式返回值:TRUE 表示成功,FALSE 表示失败10.2 打开声音BOOL OpenSound(long lSoundMode)功能:打开声音
23、,需要预览参数说明:lSoundMode: 打开声音模式。 1 独占模式 , 2 共享模式返回值:TRUE 表示成功,FALSE 表示失败。10.3 关闭声音BOOL CloseSound(long lSoundMode)功能:关闭声音,需要预览参数说明: lSoundMode: 关闭声音模式。 1 独占模式, 2 共享模式返回值:TRUE 表示成功,FALSE 表示失败。10.4 调节音量BOOL SetVolume(long lVolume)功能:调节音量参数说明:lVolume:设置的音量,取值为 0 9返回值:TRUE 表示成功,FALSE 表示失败。11.录像11.1 开始录像BOO
24、L StartRecord(LPCTSTR lpSavePath)功能:开始录像,在预览时才有效参数说明: lpSavePath:设置保存录像文件的路径。默认为“ C:OCXRecordFiles”。录像文件保存在写入路径的当前日期下。例如:C:OCXRecordFiles2009-07-13返回值:TRUE 表示成功,FALSE 表示失败。11.2 停止录像BOOL StopRecord(BOOL bShowSaveFile)功能:停止录像, 在预览时才有效参数说明:bShowSaveFile 停止录像后是否弹出保存录像文件的文件夹返回值:TRUE 表示成功,FALSE 表示失败。11.3 开始远程录像BOOL StartRemoteRecord(long lChannelNum)功能:开始远程录像参数说明: lChannelNum:录像通道号 ,0 代表通道 1返回值:TRUE 表示成功,FALSE 表示失败。11.4 停止远程录像BOOL StopRemoteRecord(long lChannelNum)功能:停止远程录像