获取PTZ参数
/* 获取PTZ快球位置参数
* 获取水平角度,垂直角度,变倍角度
* */
IntByReference intByReference = new IntByReference(0);
//创建PTZPOS参数对象
HCNetSDK.NET_DVR_PTZPOS net_dvr_ptzpos = new HCNetSDK.NET_DVR_PTZPOS();
Pointer pointer = net_dvr_ptzpos.getPointer();
//执行获取参数
if (!sdk.NET_DVR_GetDVRConfig(cameraInfo.getKey(), HCNetSDK.NET_DVR_GET_PTZPOS, new NativeLong(0), pointer, net_dvr_ptzpos.size(), intByReference)) {
System.out.println("获取DVR参数PTZ参数失败,错误码为: " + sdk.NET_DVR_GetLastError());
sdk.NET_DVR_StopRealPlay(key);
sdk.NET_DVR_Logout(cameraInfo.getUserId());
sdk.NET_DVR_Cleanup();
return;
}
//把数据写入net_dvr_ptzpos对象中 下面才可以获取到参数
net_dvr_ptzpos.read();
System.out.println("PTZ垂直参数为: " + net_dvr_ptzpos.wTiltPos);
System.out.println("PTZ水平参数为: " + net_dvr_ptzpos.wPanPos);
System.out.println("PTZ变倍参数为: " + net_dvr_ptzpos.wZoomPos);
- 这里获取的参数为十六进制的数字,如果想转化成角度,先把十六进制转化成十进制,十进制在除以10就得到对应的角度,如获取的水平参数P的值是0x1104,对应十进制是450,那么对应的角度就是45°。
- 我的产品型号是E系列网络高清智能球,x轴范围(0°-360°),y轴范围(0°-90°),变倍范围(1-23).