獲取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).