|
|
|
|
@ -2,7 +2,9 @@ package com.zhehekeji.web.lib;
|
|
|
|
|
|
|
|
|
|
import com.sun.jna.Pointer;
|
|
|
|
|
import com.sun.jna.ptr.IntByReference;
|
|
|
|
|
import com.zhehekeji.core.util.Assert;
|
|
|
|
|
import com.zhehekeji.web.lib.common.ErrorCode;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.util.UUID;
|
|
|
|
|
@ -11,6 +13,7 @@ import java.util.UUID;
|
|
|
|
|
* 云台控制接口实现
|
|
|
|
|
* 主要有 :八个方向控制、变倍、变焦、光圈功能
|
|
|
|
|
*/
|
|
|
|
|
@Slf4j
|
|
|
|
|
public class PtzControlModule {
|
|
|
|
|
|
|
|
|
|
private static CallBack.Mp4ReceiveCB mp4ReceiveCB = new CallBack.Mp4ReceiveCB();
|
|
|
|
|
@ -256,6 +259,39 @@ public class PtzControlModule {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置预置点
|
|
|
|
|
* @param ioId 预置点ID,这里直接拿数据库自动的ID,这样不会重复
|
|
|
|
|
* @param name 预置点的名称
|
|
|
|
|
* @param cameraId 球机ID,来获取登录句柄
|
|
|
|
|
*/
|
|
|
|
|
public static void ptz(Integer ioId,String name,Integer cameraId){
|
|
|
|
|
int dwzCommand = NetSDKLib.NET_PTZ_ControlType.NET_PTZ_POINT_SET_CONTROL;
|
|
|
|
|
int nPressetIndex = ioId;
|
|
|
|
|
Boolean ok = ptzControler(dwzCommand,0,nPressetIndex,0,0,ToolKits.GetGBKStringToPointer(name),CameraConnMap.getConnId(cameraId));
|
|
|
|
|
Assert.isTrue(ok,"设置失败");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static Boolean ptzControler(int dwPTZCOmmand, int lParam1, int lParam2, int lParam3, int dwStop, Pointer pointer, NetSDKLib.LLong loginId){
|
|
|
|
|
return LoginModule.netsdk.CLIENT_DHPTZControlEx2(loginId,0,dwPTZCOmmand,lParam1,lParam2,lParam3,dwStop,pointer);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 转至 预置点
|
|
|
|
|
* @param ioId
|
|
|
|
|
* @param cameraId
|
|
|
|
|
*/
|
|
|
|
|
public static void toPtz(Integer ioId,Integer cameraId){
|
|
|
|
|
int dwPTZCommand = NetSDKLib.NET_PTZ_ControlType.NET_PTZ_POINT_MOVE_CONTROL;
|
|
|
|
|
|
|
|
|
|
int nPresetIndex = ioId;
|
|
|
|
|
|
|
|
|
|
Boolean ok = ptzControler(dwPTZCommand, 0, nPresetIndex, 0, 0, null,CameraConnMap.getConnId(cameraId));
|
|
|
|
|
if(!ok ){
|
|
|
|
|
log.error("转至预置点 失败 cameraId:{},ioId:{}",cameraId,ioId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|