package com.netsdk.demo.customize.configuration; import com.netsdk.demo.util.CaseMenu; import com.netsdk.lib.NetSDKLib; import com.netsdk.lib.ToolKits; import com.netsdk.lib.structure.CFG_PTZ_ALL_AUTOMOVE_INFO; import com.netsdk.lib.structure.CFG_PTZ_AUTOMOVE_INFO; import com.netsdk.lib.structure.CFG_PTZ_PER_AUTOMOVE_INFO; import com.netsdk.lib.utils.Initialization; import com.sun.jna.Memory; import com.sun.jna.Pointer; /** * @创建人 291189 * @创建时间 2021/5/28 * @描述 */ public class PtzAutoMovementConfig extends Initialization { int channa=2; /** * 云台定时动作配置 */ public void setPtzAutoMovementConfig(){ String cfgCmdPtzAutoMovement = NetSDKLib.CFG_CMD_PTZ_AUTO_MOVEMENT; CFG_PTZ_AUTOMOVE_INFO cfgPtzAutomoveInfo=new CFG_PTZ_AUTOMOVE_INFO(); cfgPtzAutomoveInfo. pstPTZAutoConfig=new Memory(new CFG_PTZ_ALL_AUTOMOVE_INFO().size()); boolean isScuess = ToolKits.GetDevConfig(loginHandle, channa,cfgCmdPtzAutoMovement , cfgPtzAutomoveInfo); if (!isScuess) { System.err.println("Get PtzAutoMovementConfig Failed!" + ToolKits.getErrorCode()); return; } int nReturnPTZNum = cfgPtzAutomoveInfo.nReturnPTZNum; System.out.println("设备返回的云台个数:"+nReturnPTZNum); //云台的配置信息 Pointer pstPTZAutoConfig = cfgPtzAutomoveInfo.pstPTZAutoConfig; //pointer 对应的结构体 CFG_PTZ_ALL_AUTOMOVE_INFO cfgInfo=new CFG_PTZ_ALL_AUTOMOVE_INFO(); ToolKits.GetPointerData(pstPTZAutoConfig,cfgInfo);//pointer 转结构体 int nCfgNum = cfgInfo.nCfgNum; System.out.println("获取到的配置个数:"+nCfgNum); //配置信息 CFG_PTZ_PER_AUTOMOVE_INFO[] stPTZPerInfo = cfgInfo.stPTZPerInfo; for(int i=0;i