如何 简单实现海康相机预置位跳转、设置、清除功能???
前提:知道相机预置位码 、相机通道
预备条件:先进行海康相机登录 ,获取登陆令牌
跳转代码实现:
int lUserID =登陆令牌;
//参数:登录令牌,通道号,预置位跳转,跳转的预置位码
boolean gotoPreset = hcNetSDK.NET_DVR_PTZPreset_Other(lUserID, 相机通道号, HCNetSDK.GOTO_PRESET,预置位码);
if (!gotoPreset) {
System.out.println("获取设备预置位跳转设备参数失败,错误码:" + hcNetSDK.NET_DVR_GetLastError());
return AjaxResult.error(hcNetSDK.NET_DVR_GetErrorMsg(new IntByReference(hcNetSDK.NET_DVR_GetLastError())));
} else {
System.out.println("海康-成功跳转到预置位!");
}
清除代码实现:
int lUserID = 令牌;
//参数:登录令牌,通道号,预置位跳转,跳转的预置位码
boolean gotoPreset = hcNetSDK.NET_DVR_PTZPreset_Other(lUserID, 通道, HCNetSDK.CLE_PRESET, 预置位码);
if (!gotoPreset) {
System.out.println("获取设备预置位清除设备参数失败,错误码:" + hcNetSDK.NET_DVR_GetLastError());
return AjaxResult.error(hcNetSDK.NET_DVR_GetErrorMsg(new IntByReference(hcNetSDK.NET_DVR_GetLastError())));
} else {
System.out.println("海康-成功清除该预置位!");
}
设置代码实现:
int lUserID = 登陆令牌;
boolean setPreset = hcNetSDK.NET_DVR_PTZPreset_Other(lUserID, 通道号, HCNetSDK.SET_PRESET,预置位码);
if (!setPreset) {
System.out.println("海康-预置位设置失败,错误码:" + hcNetSDK.NET_DVR_GetLastError());
return AjaxResult.error(hcNetSDK.NET_DVR_GetErrorMsg(new IntByReference(hcNetSDK.NET_DVR_GetLastError())));
} else {
System.out.println("海康-成功设置预置位!");
}
总结:预置位的跳转、控制、清除 主要是对相机sdk接口:
boolean NET_DVR_PTZPreset_Other(int lUserID, int lChannel, int dwPTZPresetCmd, int dwPresetIndex);
dwPTZPresetCmd 传的参数值不同 ,从而实现相关功能!
# 感谢观看! 希望对您有用!!!