|
[WebBVCU.ocx]
clsid:62FD2F32-BC30-4EE7-A63C-340B7933A110
version=1,0,0,1
/* 接口说明 */
接口调用顺序:Login -> GetPUList -> xxxx -> Logout;
/**
* 登录CMS服务器 最终结果会在SessionEvent事件中返回
*
* @param sIP 登录服务器的IP地址
* @param iPort 登录的端口
* @param sName 用户账号
* @param sPasswd 账号密码
*
* @return LIBBVCU_API BVCU_Result 常见为:0:成功 1:已成功 负数:失败
*/
LONG Login(LPCTSTR sIP, LONG iPort, LPCTSTR sName, LPCTSTR sPasswd);
/**
* 获得登录服务器相关信息
*
* @return 服务器信息字符串,json格式:({id:'服务器ID',domain:'服务器域名',name:'服务器名',code:'代码名称',version:'版本'})
*/
BSTR GetSessionInfo();
/**
* 退出登录 最终结果会在SessionEvent事件中返回
*
* @return LIBBVCU_API BVCU_Result 常见为:0:成功 1:已成功 负数:失败
*/
LONG Logout(void);
/**
* 发送GetPUList命令 最终结果会在OnPUStatus事件中返回
*
* @return LIBBVCU_API BVCU_Result 常见为:0:成功 1:已成功 负数:失败
*/
LONG GetPUList(void);
/**
* 打开一路通道 最终结果会在DialogEvent事件中返回
*
* @param puId 设备ID号
* @param iChannelIndex 设备通道号(包含TSP通道)
* @param iAVStreamDir 媒体方向,见BVCU_MEDIADIR_* 常用:2:只传视频 8:只传音频 10:音视频同传 48: 数据传输(TSP,GPS)
* @param hWnd 播放窗口句柄(TSP,GPS通道时填0)
* @param iPlayBackVolume 播放音量
* @param iCaptureVolume 采集音量
* @return 返回创建的会话句柄,用于后续操作。 0: 失败
*/
LONG OpenDialog(BSTR puId, LONG iChannelIndex, LONG iAVStreamDir, LONG hWnd, LONG iPlayBackVolume, LONG iCaptureVolume);
/**
* 关闭一路通道 最终结果会在DialogEvent事件中返回
*
* @param hDialog OpenDialog返回的会话句柄
*
* @return LIBBVCU_API BVCU_Result 常见为:0:成功 1:已成功 负数:失败
*/
LONG CloseDialog(LONG hDialog);
/**
* 向通道发送数据(TSP)
*
* @param hDialog OpenDialog返回的会话句柄
* @param sData 发送的数据负载( 16进制字符串(<2048),会被转换为二进制数据后发给设备 )
* @param iDataLen 发送的数据长度(辅助值,可以不填,以16进制字符串转换后实际转换成功数据为准)
*
* @return LIBBVCU_API BVCU_Result 常见为:0:成功 1:已成功 负数:失败
*/
LONG SendDlgData(LONG hDialog, BSTR sData, LONG iDataLen);
/**
*本地截图,在视频预览的时候截取某一帧图像,目前仅支持JPG格式
*
*@param hDialog OpenDialog返回的会话句柄
*@param szFileName 完整的截图文件名,包括路径名和文件本身名称
*@param Quality JPG压缩质量,取值范围1~100,数值越大压缩后的图像质量越好,但文*件会越大。建议质量不小于80
*
*return LIBBVCU_API BVCU_Result, 成功:0,失败:-1
*/
LONG SavePicture(LONG hDialog, LPCTSTR szFileName, LONG Quality);
/**
*本地录像,在视频预览的时候截取一定时长的录像
*@param hDialog OpenDialog返回的会话句柄
*@param folder 完整的录像文件名,包括路径名和文件本身名称
*@param FileLenInSeconds 录像时长,大于0表示开始录像;如果传入的时长为0,则表示*停止录像
*
*return LIBBVCU_API BVCU_Result, 成功:0,失败:-1
*/
LONG SaveVideo(LONG hDialog, LPCTSTR folder, LONG FileLenInSeconds);
/**
* 云台操作
*
* @param hDialog OpenDialog返回的会话句柄
* @param iCtrlType 云台控制操作动作:见BVCU_PTZ_COMMAND_*,
常用:0:向上 1:向下 2:向左 3:向右 4:左上 5:右上 6:左下 7:右下
8:倍数放大 9:倍数缩小 10:焦距调远 11:焦距调近 12:光圈放大 13:光圈缩小
* @param bStop 开始/结束 动作。 0: 开始 1:结束。
* @param iData 对应iCtrlType的操作参数,如:当iCtrlType为云台转动操作时,该值表示转动速度[1~15]。
*
* @return LIBBVCU_API BVCU_Result 常见为:0:成功 1:已成功 负数:失败 -1:hDialog不存在, -2: 该通道不支持云台操作, -3:不支持的iCtrlType
*/
LONG SendPTZCtrl(LONG hDialog, LONG iCtrlType, LONG bStop, LONG iData);
/**
* 通知BVCU某个窗口大小发生变化了,如果不通知,播放的视频将暂停。
* @param hwnd 窗口句柄
* @return LIBBVCU_API BVCU_Result 常见为:0:成功 1:已成功 负数:失败
*/
LONG OnHwndSize(LONG hwnd);
/* 事件说明 */
/**
* SessionEvent事件 登录连接事件,用于登录状态变化通知
*
* @param iEventType 事件类型,见BVCU_EVENT_SESSION_* 常见:1:session open 2:session close
* @param iErrorCode 事件结果,见BVCU_Result 常见为:0:成功 1:已成功 负数:失败
* @param pParam 事件说明
*
* @return LIBBVCU_API BVCU_Result 常见为:0:成功 1:已成功 负数:失败
*/
LONG SessionEvent(LONG iEventType, LONG iErrorCode, BSTR pParam);
/**
* OnPUStatus事件 设备在线状态变化通知 和 GetPUList命令的回复
*
* @param puId 设备ID号
* @param puName 设备名称号
* @param iStatus 设备在线状态。0:不在线,1:在线
* @param pChannels 设备通道情况,json格式:[{index:通道号, name:'通道名', dir:支持媒体方向, ptz:云台号},{,,,}]
* @param bFinsh 是否结束,0:还有设备,1:接收设备列表结束。
*
* @return LIBBVCU_API BVCU_Result 常见为:0:成功 1:已成功 负数:失败
*/
LONG OnPUStatus(BSTR puId, BSTR puName, LONG iStatus, BSTR pChannels, LONG bFinsh);
/**
* DialogEvent事件 通道打开状态变化事件
*
* @param iEventType 事件类型,见BVCU_EVENT_DIALOG_* 常见:1:dialog open 2:dialog close
* @param iErrorCode 事件结果,见BVCU_Result 常见为:0:成功 1:已成功 负数:失败
* @param sPUID 设备ID号
* @param iChannelIndex 设备通道号
* @param iAVStreamDir 媒体方向,见BVCU_MEDIADIR_* 常用:2:只传视频 8:只传音频 10:音视频同传
*
* @return LIBBVCU_API BVCU_Result 常见为:0:成功 1:已成功 负数:失败
*/
LONG DialogEvent(LONG iEventType, LONG iErrorCode, BSTR sPUID, LONG iChannelIndex, LONG iAVDir);
/**
* Dialog收到数据 (TSP,GPS)
*
* @param hDialog OpenDialog返回的会话句柄
* @param sData TSP 数据: 收到数据的16进制字符串(收到二进制数据转换而来 )
GPS 数据: json格式:
({time:'2016-08-12 11:40:00',lng:117.1977653,lat:31.8530112,height:1000,speed:50,angle:30.56})
注意:经纬度和方向的单位是“度”,高度的单位是米,速度的单位是米/小时。
* @param iDataLen 收到的数据长度
*
* @return LIBBVCU_API BVCU_Result 常见为:0:成功 1:已成功 负数:失败
*/
LONG RecvDlgData(LONG hDialog, BSTR sData, LONG iDataLen);
/** 接口
*
* 获取Nru列表
* [return] 命令执行结果: 参看BVCU_Result
*
* 查询结果,通过事件响应OnNruItemStatus通知,详情参考事件OnNruItemStatus的说明
* <script for="WebBVCU" event="OnNruItemStatus(id,name,iStatus,storageMediaCount,onlineStatus)" language="javascript">
* onGetNrulList(id, name, iStatus, storageMediaCount, onlineStatus);
* </script>
*/
LONG GetNruList();
/** 接口
*
* 查询记录
* [puID] 设备ID
* [channelIndex] 通道号
* [mode] 查询模式,0: 从平台查询,1: 从设备查询
* [fileType] 文件类型, 参考
& BVCU_STORAGE_FILE_TYPE_ALL = 0, // 不限定文件类型
& BVCU_STORAGE_FILE_TYPE_RECORD = 1, // 录像文件
& BVCU_STORAGE_FILE_TYPE_CAPTURE = 2, // 图片文件
& BVCU_STORAGE_FILE_TYPE_FIRMWARE= 3, // 固件文件
* [startTime] 查询区间的开始时间
* [endTime] 查询区间的结束时间
& 时间的格式: YYYY-MM-DD&HH:mm:ss, 如"2014-08-07&12:00:00"
* [return] 命令执行结果: 参看BVCU_Result
*
* 查询结果,通过事件响应OnQueryNruRecord通知,详情参考事件OnQueryNruRecord的说明
* <script for="WebBVCU" event="OnQueryNruRecord(resultCode, puid, channelIndex, mode ,ftpFileName, fileSize, currentRecordIndex, totalRecordCount)" language="javascript">
* OnQueryNruRecord(resultCode, puid, channelIndex, mode, ftpFileName,fileSize, currentRecordIndex, totalRecordCount);
* </script>
*/
LONG QueryNruRecord(LPCTSTR puID, LONG channelIndex, LONG mode, LONG fileType, LPCTSTR startTime, LPCTSTR endTime);
/** 接口
*
* 下载文件, 注意,路径名称为绝对路径
* [puID] 设备ID
* [channelIndex] 通道index
* [mode] 模式,0: 平台,1: 设备
* [ftpFileFullName] 服务器端文件名称, 这个名称, 从this->QueryRecord()查询获得
* [localFileFullName] 保存在本地的名称, 如果为NULL或长度为0, 则与ftpFileFullName名称相同,存放位置为C:\\
* [return] 命令执行结果: 参看BVCU_Result
*
* 查询结果,通过事件响应OnTransferEvent通知,详情参考事件OnTransferEvent的说明
* <script for="WebBVCU" event="OnTransferEvent(resultCode, puid, channelIndex, mode ,downFileName, finishSize)" language="javascript">
* OnTransferEvent(resultCode, puid, channelIndex, mode, downFileName, finishSize);
* </script>
*/
LONG DownNruRecord(LPCTSTR puID, LONG channelIndex, LONG mode, LPCTSTR ftpFileFullName, LPCTSTR localFileFullName);
/** 接口
* 抓拍
*
* [puID] 设备ID
* [channelIndex] 通道index
* [mode] 模式,0: 平台,1: 设备, 默认值0
* [cycleCount] 抓怕周期,默认值1
* [return] 命令执行结果: 参看BVCU_Result
*/
LONG Snapshot(LPCTSTR puID, LONG channelIndex, LONG mode, LONG cycleCount);
/** 接口
* 获得Pu设备时间
*
* [puId] 设备ID
* [return] 命令执行结果: 参看BVCU_Result
*
* 查询结果,通过事件响应OnGetPuTime获得,详情参考事件OnGetPuTime的说明
* <script for="WebBVCU" event="OnGetPuTime(puNowTime)" language="javascript">
* OnGetPuTime(puNowTime);
* </script>
*/
LONG GetPuTime(LPCTSTR puId);
/** 接口
* 显示图片
*
* [imgPath] 图片的绝对路径
*/
LONG ShowImage(LPCTSTR imgPath);
/** 事件
*
* 响应获得NRU列表
* [id] NRU项目名称,如NRU_0001(平台)
* [name] 名称
* [storageMediaCount] 存储器个数
* [onlineStatus] 在线状态
* [return] 暂时无意义
*
* javascript注册事件监听方式
* <script for="WebBVCU" event="OnNruItemStatus(id,name,iStatus,storageMediaCount,onlineStatus)" language="javascript">
* onGetNrulList(id, name, iStatus, storageMediaCount, onlineStatus);//onGetNrulList:为响应的函数名称
* </script>
*/
LONG OnNruItemStatus(LPCTSTR id, LPCTSTR name, LONG storageMediaCount, LONG onlineStatus);
/** 事件
*
* 响应查询记录
* [resultCode] 查询结果码,参看BVCU_Result
* [puID] 查询的PU设备ID
* [channelIndex] 查询的PU设备的通道号
* [ftpFileName] Ftp端的文件名称,全路径
* [fileSize] 文件的大小,单位KB
* [currentRecordIndex] 当前接收的文件索引
* [totalRecordCount] 接收文件的总数量
*
* 注意:
* 查询文件数量过多,会分多次查询返回
*
* javascript注册事件监听方式
* <script for="WebBVCU" event="OnQueryNruRecord(resultCode, puid, channelIndex, mode ,ftpFileName, fileSize, currentRecordIndex, totalRecordCount)" language="javascript">
* OnQueryNruRecord(resultCode, puid, channelIndex, mode, ftpFileName,fileSize, currentRecordIndex, totalRecordCount);
* </script>
*/
LONG OnQueryNruRecord(LONG resultCode, LPCTSTR puID, LONG channelIndex, LONG mode, LPCTSTR ftpFileName, LONG fileSize, LONG currentRecordIndex, LONG totalRecordCount);
/** 事件
*
* 传输事件
* [resultCode] 传输结果码,参看BVCU_Result
* [puID] 传输的PU设备ID
* [channelIndex] 传输的PU设备的通道号
* [mode] 模式,0: 平台,1: 设备
* [downFileName] 下载的文件名称, 本地保存的文件名称
* [finishSize] 已经下载的大小,单位KB
* [return] 暂时无意义
*
* javascript注册事件监听方式
* <script for="WebBVCU" event="OnTransferEvent(resultCode, puid, channelIndex, mode ,downFileName, finishSize)" language="javascript">
* OnTransferEvent(resultCode, puid, channelIndex, mode, downFileName, finishSize);
* </script>
*/
LONG OnTransferEvent(LONG resultCode, LPCTSTR puID, LONG channelIndex, LONG mode, LPCTSTR downFileName, LONG finishSize);
/** 事件
* 获得Pu设备时间
* [puTime] ({year:%d,month:%d,day:%d,hour:%d,minute:%d,second:%d}),
& 使用:
& var obj = eval(puTime);
& alert(obj.year + '-' + obj.month + '-' + obj.day + ' ' + obj.hour + ':' + obj.minute + ':' + obj.second);
*
* 注册事件:
* <script for="WebBVCU" event="OnGetPuTime(puNowTime)" language="javascript">
* OnGetPuTime(puNowTime);
* </script>
*/
void OnGetPuTime(LPCTSTR puTime);
[WebPlayWnd.ocx]
clsid:CDE6C639-4BA8-4A09-81EB-DCE76A61FE98
version=1,0,0,1
/* 接口说明 */
/**
* 获得窗口句柄
* @return 窗口句柄
*/
LONG GetWMHwnd(void);
/* 事件说明 */
/**
* 窗口发生事件
* @param hwnd 窗口句柄.
* @param iEventType 事件类型. 0:窗口大小变化(pParam为空) 1:鼠标单击消息(pParam为空)
* @param pParam 事件负载参数,见iEventType说明。
*/
LONG OnHwndEvent(LONG hwnd, LONG iEventType, BSTR pParam); |
|