| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | //添加到流媒体 |
| | | private void addVtdu(ArdCameras camera) { |
| | | try { |
| | |
| | | * @创建时间 2023/1/17 16:36 |
| | | * @修改人和其它信息 |
| | | */ |
| | | @Override |
| | | public Map<String, Object> getPtz(CameraCmd cmd) { |
| | | public Map<String, Object> getPtz1(CameraCmd cmd) { |
| | | String cameraId = cmd.getCameraId(); |
| | | Integer channelNum = cmd.getChanNo(); |
| | | if (!GlobalVariable.loginMap.containsKey(cameraId)) { |
| | |
| | | log.error("控制失败,请稍后重试" + code); |
| | | return new HashMap<>(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @描述 获取高精度ptz信息 |
| | | * @参数 [userId, chanNo] |
| | | * @返回值 boolean |
| | | * @创建人 刘苏义 |
| | | * @创建时间 2023/1/17 16:36 |
| | | * @修改人和其它信息 |
| | | */ |
| | | @Override |
| | | public Map<String, Object> getPtz(CameraCmd cmd) { |
| | | Map<String, Object> ptzMap = new HashMap<>(); |
| | | try { |
| | | String cameraId = cmd.getCameraId(); |
| | | Integer chanNo = cmd.getChanNo(); |
| | | if (!GlobalVariable.loginMap.containsKey(cameraId)) { |
| | | return new HashMap<>(); |
| | | } |
| | | IntByReference pchannel = new IntByReference(chanNo); |
| | | Pointer pChannelNum = pchannel.getPointer(); |
| | | Integer lUserID = (Integer) GlobalVariable.loginMap.get(cameraId); |
| | | HCNetSDK.NET_DVR_STD_CONFIG lpConfigParam6696 = new HCNetSDK.NET_DVR_STD_CONFIG(); |
| | | HCNetSDK.NET_DVR_PTZABSOLUTEEX_CFG lpPTZAbsoluteEX_cfg = new HCNetSDK.NET_DVR_PTZABSOLUTEEX_CFG(); |
| | | lpConfigParam6696.lpCondBuffer = pChannelNum; |
| | | lpConfigParam6696.dwCondSize = 4; |
| | | lpConfigParam6696.lpInBuffer = null; |
| | | lpConfigParam6696.dwInSize = 0; |
| | | lpConfigParam6696.lpOutBuffer = lpPTZAbsoluteEX_cfg.getPointer(); |
| | | lpConfigParam6696.dwOutSize = lpPTZAbsoluteEX_cfg.size(); |
| | | lpConfigParam6696.write(); |
| | | boolean res = hCNetSDK.NET_DVR_GetSTDConfig(lUserID, HCNetSDK.NET_DVR_GET_PTZABSOLUTEEX, lpConfigParam6696); |
| | | if (!res) { |
| | | log.error("获取高精度PTZ绝对位置配置失败,错误号:" + hCNetSDK.NET_DVR_GetLastError()); |
| | | } else { |
| | | lpPTZAbsoluteEX_cfg.read(); |
| | | //log.debug("P:" + lpPTZAbsoluteEX_cfg.struPTZCtrl.fPan + " T:" + lpPTZAbsoluteEX_cfg.struPTZCtrl.fTilt + " Z:" + lpPTZAbsoluteEX_cfg.struPTZCtrl.fZoom |
| | | // + " 聚焦参数:" + lpPTZAbsoluteEX_cfg.struPTZCtrl.dwFocus + " 聚焦范围:" + lpPTZAbsoluteEX_cfg.dwFocalLen + " 水平转动速度:" + lpPTZAbsoluteEX_cfg.fHorizontalSpeed |
| | | // + " 垂直转动速度:" + lpPTZAbsoluteEX_cfg.fVerticalSpeed + " 镜头变倍配置类型:" + lpPTZAbsoluteEX_cfg.byZoomType); |
| | | float p = lpPTZAbsoluteEX_cfg.struPTZCtrl.fPan; |
| | | float fTilt = lpPTZAbsoluteEX_cfg.struPTZCtrl.fTilt; |
| | | float t = fTilt < 0 ? fTilt + 360 : fTilt; |
| | | float z = lpPTZAbsoluteEX_cfg.struPTZCtrl.fZoom; |
| | | ptzMap.put("p", p); |
| | | ptzMap.put("t", t); |
| | | ptzMap.put("z", z); |
| | | } |
| | | } catch (Exception ex) { |
| | | log.error("获取高精度PTZ绝对位置异常:" + ex.getMessage()); |
| | | } |
| | | return ptzMap; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | return bool; |
| | | |
| | | }catch (Exception ex) |
| | | { |
| | | } catch (Exception ex) { |
| | | log.error("设置高精度PTZ参数异常",ex); |
| | | return false; |
| | | } |