package com.iailab.netsdk.lib; import com.iailab.netsdk.lib.NetSDKLib.LLong; import com.iailab.netsdk.lib.enumeration.*; import com.iailab.netsdk.lib.structure.*; import com.sun.jna.*; import com.sun.jna.ptr.IntByReference; import java.io.UnsupportedEncodingException; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * NetSDK JNA接口封装 */ public interface NetSDKLib extends Library { NetSDKLib NETSDK_INSTANCE = Native.load(LibraryLoad.getLoadLibrary("dhnetsdk"), NetSDKLib.class); NetSDKLib CONFIG_INSTANCE = Native.load(LibraryLoad.getLoadLibrary("dhconfigsdk"), NetSDKLib.class); //NetSDKLib CONFIG_JNI = (NetSDKLib)Native.loadLibrary(util.getLoadLibrary("JNI1.dll"), INetSDK.class); class LLong extends IntegerType { private static final long serialVersionUID = 1L; /** Size of a native long, in bytes. */ public static int size; static { size = Native.LONG_SIZE; if (Utils.getOsPrefix().equalsIgnoreCase("linux-amd64") || Utils.getOsPrefix().equalsIgnoreCase("win32-amd64") || Utils.getOsPrefix().equalsIgnoreCase("mac-64")) { size = 8; } else if (Utils.getOsPrefix().equalsIgnoreCase("linux-i386") || Utils.getOsPrefix().equalsIgnoreCase("win32-x86")) { size = 4; } } /** Create a zero-valued LLong. */ public LLong() { this(0); } /** Create a LLong with the given value. */ public LLong(long value) { super(size, value); } } public static class SdkStructure extends Structure { @Override protected List getFieldOrder(){ List fieldOrderList = new ArrayList(); for (Class cls = getClass(); !cls.equals(SdkStructure.class); cls = cls.getSuperclass()) { Field[] fields = cls.getDeclaredFields(); int modifiers; for (Field field : fields) { modifiers = field.getModifiers(); if (Modifier.isStatic(modifiers) || !Modifier.isPublic(modifiers)) { continue; } fieldOrderList.add(field.getName()); } } // System.out.println(fieldOrderList); return fieldOrderList; } @Override public int fieldOffset(String name){ return super.fieldOffset(name); } } /************************************************************************ ** 常量定义 ***********************************************************************/ public static final int POINTERSIZE = new PointerSize().size(); // JNA指针长度 public static final int MAX_INSIDEOBJECT_NUM = 32; // 最大包裹内物品个数 public static final int NET_SERIALNO_LEN = 48; // 设备序列号字符长度 public static final int NET_CFG_Max_VideoColor = 24; // 每个通道最大视频输入颜色配置数量 public static final int NET_CFG_Custom_Title_Len = 1024; // 自定义标题名称长度(扩充到1024) public static final int NET_CFG_Custom_TitleType_Len = 32; // 自定义标题类型长度 public static final int NET_CFG_Max_Video_Widget_Cover = 16; // 编码区域覆盖最大数量 public static final int NET_CFG_Max_Video_Widget_Custom_Title = 8; // 编码物件自定义标题最大数量 public static final int NET_CFG_Max_Video_Widget_Sensor_Info = 2; // 编码物件叠加传感器信息的最大数目 public static final int NET_CFG_Max_Description_Num = 4; // 叠加区域描述信息的最大个数 public static final int NET_GATEWAY_MAX_SIM_NUM =8; // 网关SIM卡最大个数 // 错误类型代号,对应CLIENT_GetLastError接口的返回值, 十进制 // CLIENT_StartListenEx报警事件 public static final int NET_ALARM_ALARM_EX = 0x2101; // 外部报警,数据字节数与设备报警通道个数相同,每个字节表示一个报警通道的报警状态,1为有报警,0为无报警。 public static final int NET_MOTION_ALARM_EX = 0x2102; // 动态检测报警,数据字节数与设备视频通道个数相同,每个字节表示一个视频通道的动态检测报警状态,1为有报警,0为无报警。 public static final int NET_VIDEOLOST_ALARM_EX = 0x2103; // 视频丢失报警,数据字节数与设备视频通道个数相同,每个字节表示一个视频通道的视频丢失报警状态,1为有报警,0为无报警。 public static final int NET_SHELTER_ALARM_EX = 0x2104; // 视频遮挡报警,数据字节数与设备视频通道个数相同,每个字节表示一个视频通道的遮挡(黑屏)报警状态,1为有报警,0为无报警。 public static final int NET_DISKFULL_ALARM_EX = 0x2106; // 硬盘满报警,数据为1个字节,1为有硬盘满报警,0为无报警。 public static final int NET_DISKERROR_ALARM_EX = 0x2107; // 坏硬盘报警,数据为32个字节,每个字节表示一个硬盘的故障报警状态,1为有报警,0为无报警。 public static final int NET_TRAF_CONGESTION_ALARM_EX = 0x211A; // 交通阻塞报警(车辆出现异常停止或者排队)(对应结构体 ALARM_TRAF_CONGESTION_INFO) public static final int NET_ALARM_ACC_POWEROFF = 0x211E; // ACC断电报警,数据为 DWORD 0:ACC通电 1:ACC断电 public static final int NET_ALARM_3GFLOW_EXCEED = 0x211F; // 3G流量超出阈值报警(对应结构体 DHDEV_3GFLOW_EXCEED_STATE_INFO) public static final int NET_PTZ_LOCATION_EX = 0x2123; // 云台定位信息(对应结构体 DH_PTZ_LOCATION_INFO) public static final int NET_ALARM_ENCLOSURE = 0x2126; // 电子围栏报警(对应结构体 ALARM_ENCLOSURE_INFO) public static final int NET_ALARM_RAID_STATE = 0x2128; // RAID异常报警(对应结构体 ALARM_RAID_INFO) public static final int NET_ALARM_TRAFFIC_FLUX_STAT = 0x212E; // 交通流量统计报警(对应结构体ALARM_TRAFFIC_FLUX_LANE_INFO) public static final int NET_ALARM_FRONTDISCONNECT = 0x2132; // 前端IPC断网报警(对应结构体 ALARM_FRONTDISCONNET_INFO) public static final int NET_ALARM_BATTERYLOWPOWER = 0x2134; // 电池电量低报警(对应结构体 ALARM_BATTERYLOWPOWER_INFO) public static final int NET_ALARM_TEMPERATURE = 0x2135; // 温度异常报警(对应结构体 ALARM_TEMPERATURE_INFO) public static final int NET_ALARM_STORAGE_LOW_SPACE = 0x2145; // 存储容量不足事件(对应 ALARM_STORAGE_LOW_SPACE_INFO) public static final int NET_ALARM_FAN_SPEED = 0x2162; // 风扇转速异常事件(对应 ALARM_FAN_SPEED) public static final int NET_ALARM_STORAGE_FAILURE_EX = 0x2163; // 存储错误报警(对应结构体 ALARM_STORAGE_FAILURE_EX) public static final int NET_ALARM_TALKING_INVITE = 0x2171; // 设备请求对方发起对讲事件(对应结构体 ALARM_TALKING_INVITE_INFO) public static final int NET_ALARM_ALARM_EX2 = 0x2175; // 本地报警事件(对应结构体ALARM_ALARM_INFO_EX2,对NET_ALARM_ALARM_EX升级) public static final int NET_EVENT_LEFT_DETECTION = 0x218a; // 物品遗留事件( 对应结构体 ALARM_EVENT_LEFT_INFO ) public static final int NET_ALARM_IPC = 0x218c; // IPC报警,IPC通过DVR或NVR上报的本地报警(对应结构体 ALARM_IPC_INFO) public static final int NET_EVENT_TAKENAWAYDETECTION = 0x218d; // 物品搬移事件(对应结构体 ALARM_TAKENAWAY_DETECTION_INFO) public static final int NET_EVENT_VIDEOABNORMALDETECTION = 0x218e; // 视频异常事件(对应ALARM_VIDEOABNORMAL_DETECTION_INFO) public static final int NET_ALARM_MOVEDETECTION = 0x2193; // 移动事件(对应ALARM_MOVE_DETECTION_INFO) public static final int NET_ALARM_WANDERDETECTION = 0x2194; // 徘徊事件(对应ALARM_WANDERDETECTION_INFO) public static final int NET_ALARM_KEYPAD_TAMPER = 0x2199; // 键盘防拆报警/恢复(对应ALARM_KEYPAD_TAMPER_INFO) public static final int NET_ALARM_USER_PASS_CONFIRM = 0x21A2; // 用户通过闸机进入或离开事件(对应结构体 NET_ALARM_USER_PASS_CONFIRM_INFO) public static final int NET_ALARM_REID_CLUSTER_STATE = 0x21A5; // 聚档状态事件(对应结构体 NET_ALARM_REID_CLUSTER_STATE_INFO) public static final int NET_CONFIG_RESULT_EVENT_EX = 0x3000; // 修改配置的返回码;返回结构见 DEV_SET_RESULT public static final int NET_ALARM_GYROABNORMALATTITUDE = 0x3011; // 车辆的紧急制动、侧翻等状态导致的姿态异常进行报警(对应 ALARM_GYROABNORMALATTITUDE_INFO) public static final int NET_START_LISTEN_FINISH_EVENT = 0x300c; // 订阅事件接口完成异步通知事件, 信息为 START_LISTEN_FINISH_RESULT_INFO public static final int NET_ALARM_STORAGE_NOT_EXIST = 0x3167; // 存储组不存在事件(对应结构体 ALARM_STORAGE_NOT_EXIST_INFO) public static final int NET_ALARM_SCADA_DEV_ALARM = 0x31a2; // 检测采集设备报警事件(对应结构体 ALARM_SCADA_DEV_INFO) public static final int NET_ALARM_PARKING_CARD = 0x31a4; // 停车刷卡事件(对应结构体 ALARM_PARKING_CARD) public static final int NET_ALARM_VEHICLE_ACC = 0x31a6; // 车辆ACC报警事件(对应结构体 ALARM_VEHICLE_ACC_INFO) public static final int NET_ALARM_HEATIMG_TEMPER = 0x31aa; // 热成像测温点温度异常报警事件(对应结构体 ALARM_HEATIMG_TEMPER_INFO) public static final int NET_ALARM_NEW_FILE = 0x31b3; // 新文件事件(对应 ALARM_NEW_FILE_INFO) public static final int NET_ALARM_HUMAM_NUMBER_STATISTIC = 0x31cc; // 人数量/客流量统计事件 (对应结构体 ALARM_HUMAN_NUMBER_STATISTIC_INFO) public static final int NET_ALARM_IP_CONFLICT = 0x3170; // IP冲突事件(对应结构体 ALARM_IP_CONFLICT_INFO) public static final int NET_ALARM_ARMMODE_CHANGE_EVENT = 0x3175; // 布撤防状态变化事件(对应结构体 ALARM_ARMMODE_CHANGE_INFO) public static final int NET_ALARM_ACCESS_CTL_NOT_CLOSE = 0x3177; // 门禁未关事件(对应结构体 ALARM_ACCESS_CTL_NOT_CLOSE_INFO) public static final int NET_ALARM_ACCESS_CTL_BREAK_IN = 0x3178; // 闯入事件(对应结构体 ALARM_ACCESS_CTL_BREAK_IN_INFO) public static final int NET_ALARM_ACCESS_CTL_EVENT = 0x3181; // 门禁事件(对应结构体 ALARM_ACCESS_CTL_EVENT_INFO) public static final int NET_URGENCY_ALARM_EX2 = 0x3182; // 紧急报警EX2(对 NET_URGENCY_ALARM_EX 的升级,对应结构体 ALARM_URGENCY_ALARM_EX2, 人为触发的紧急事件, 一般处理是联动外部通讯功能请求帮助 public static final int NET_ALARM_ACCESS_CTL_STATUS = 0x3185; // 门禁状态事件(对应结构体 ALARM_ACCESS_CTL_STATUS_INFO) public static final int NET_ALARM_ALARMCLEAR = 0x3187; // 消警事件(对应结构体 ALARM_ALARMCLEAR_INFO ) public static final int NET_ALARM_TALKING_HANGUP = 0x3189; // 设备主动挂断对讲事件(对应结构体ALARM_TALKING_HANGUP_INFO) public static final int NET_ALARM_RCEMERGENCY_CALL = 0x318b; // 紧急呼叫报警事件(对应结构体 ALARM_RCEMERGENCY_CALL_INFO) public static final int NET_ALARM_FINGER_PRINT = 0x318d; // 获取信息事件(对应结构体 ALARM_CAPTURE_FINGER_PRINT_INFO) public static final int NET_ALARM_LOGIN_FAILIUR = 0x3194; // 登陆失败事件(对应结构体ALARM_LOGIN_FAILIUR_INFO) public static final int NET_ALARM_MODULE_LOST = 0x3195; // 扩展模块掉线事件(对应结构体 ALARM_MODULE_LOST_INFO) public static final int NET_ALARM_ENCLOSURE_ALARM = 0x319B; // 电子围栏事件(对应结构体 ALARM_ENCLOSURE_ALARM_INFO) public static final int NET_ALARM_BUS_SHARP_ACCELERATE = 0x31ae; // 车辆急加速事件(对应结构体 ALARM_BUS_SHARP_ACCELERATE_INFO) public static final int NET_ALARM_BUS_SHARP_DECELERATE = 0x31af; // 车辆急减速事件(对应结构体 ALARM_BUS_SHARP_DECELERATE_INFO) public static final int NET_ALARM_ACCESS_CARD_OPERATE = 0x31b0; // 门禁卡数据操作事件(对应结构体ALARM_ACCESS_CARD_OPERATE_INFO) public static final int NET_ALARM_FIREWARNING = 0x31b5; // 热成像着火点事件 (对应结构体 ALARM_FIREWARNING_INFO) public static final int NET_ALARM_WIFI_SEARCH = 0x31c7; // 获取到周围环境中WIFI设备上报事件(对应结构体 ALARM_WIFI_SEARCH_INFO) public static final int NET_ALARM_WIFI_SEARCH_EX = 0x8000; // 获取到周围环境中WIFI设备上报事件(对应结构体 ALARM_WIFI_SEARCH_INFO_EX) public static final int NET_ALARM_HOTSPOT_WARNING = 0X31d8; // 热成像热点异常报警(对应结构体 ALARM_HOTSPOT_WARNING_INFO) public static final int NET_ALARM_COLDSPOT_WARNING = 0X31d9; // 热成像冷点异常报警(对应结构体 ALARM_COLDSPOT_WARNING_INFO) public static final int NET_ALARM_FIREWARNING_INFO = 0X31da; // 热成像火情事件信息上报(对应结构体 ALARM_FIREWARNING_INFO_DETAIL) public static final int NET_ALARM_RADAR_HIGH_SPEED = 0x31df; // 雷达监测超速报警事件 智能楼宇专用 (对应结构体 ALARM_RADAR_HIGH_SPEED_INFO) public static final int NET_ALARM_RAID_STATE_EX = 0x31fc; // RAID异常报警(对应结构体 ALARM_RAID_INFO_EX) public static final int NET_ALARM_STORAGE_IPC_FAILURE = 0x31fd; // IPC的存储介质故障事件(IPC SD卡异常)(对应结构体 ALARM_STORAGE_IPC_FAILURE_INFO) public static final int NET_ALARM_POLLING_ALARM = 0x31e0; // 设备巡检报警事件 智能楼宇专用 (对应结构体 ALARM_POLLING_ALARM_INFO) public static final int NET_ALARM_TRAFFICSTROBESTATE = 0x31e2; // 道闸栏状态事件(对应结构体 ALARM_TRAFFICSTROBESTATE_INFO) public static final int NET_ALARM_WIFI_VIRTUALINFO_SEARCH = 0x31ef; // WIFI虚拟身份上报事件(对应结构体 ALARM_WIFI_VIRTUALINFO_SEARCH_INFO) public static final int NET_ALARM_USER_LOCK_EVENT = 0x31f9; // 用户锁定报警事件(对应结构体 ALARM_USER_LOCK_EVENT_INFO) public static final int NET_ALARM_GPS_NOT_ALIGNED = 0x321d; // GPS未定位报警(对应结构体 ALARM_GPS_NOT_ALIGNED_INFO) public static final int NET_ALARM_TRAFFIC_VEHICLE_POSITION = 0x323c; // 车辆位置事件(对应的结构体 ALARM_TRAFFIC_VEHICLE_POSITION) public static final int NET_ALARM_VIDEOBLIND = 0x323e; // 视频遮挡事件(对应结构体 ALARM_VIDEO_BLIND_INFO) public static final int NET_ALARM_AUDIO_ANOMALY = 0x2178; // 音频异常事件(对应结构体ALARM_AUDIO_ANOMALY) public static final int NET_ALARM_DRIVER_NOTCONFIRM = 0x323f; // 司机未按确认按钮报警事件(对应结构体 ALARM_DRIVER_NOTCONFIRM_INFO) public static final int NET_ALARM_FACEINFO_COLLECT = 0x3240; // 人脸信息录入事件(对应 ALARM_FACEINFO_COLLECT_INFO) public static final int NET_ALARM_HIGH_SPEED = 0x3241; // 车辆超速报警事件(对应 ALARM_HIGH_SPEED_INFO ) public static final int NET_ALARM_VIDEO_LOSS = 0x3242; // 视频丢失事件(对应 ALARM_VIDEO_LOSS_INFO ) public static final int NET_ALARM_DOWNLOAD_REMOTE_FILE = 0x3301; // 下载远程文件事件(对应 ALARM_DOWNLOAD_REMOTE_FILE_INFO) public static final int NET_ALARM_TRAFFIC_LINKAGEALARM = 0x3353; // 各种违章事件联动报警输出事件(对应结构体 ALARM_TRAFFIC_LINKAGEALARM_INFO) public static final int NET_ALARM_LABELINFO = 0x3233; // IPC新增(2017.4),RFID标签信息采集事件(对应结构体 ALARM_LABELINFO) public static final int NET_ALARM_FLOATINGOBJECT_DETECTION = 0x3442; // 漂浮物检测事件(对应结构体 ALARM_FLOATINGOBJECT_DETECTION_INFO) public static final int NET_ALARM_WATER_LEVEL_DETECTION = 0x3443; // 水位检测事件(对应结构体 ALARM_WATER_LEVEL_DETECTION_INFO) public static final int NET_ALARM_TRAFFIC_JUNCTION = 0x3446; // 交通路口事件(对应结构体 ALARM_TAFFIC_JUNCTION_INFO) public static final int NET_EVENT_CROSSLINE_DETECTION = 0x2188; // 拌线入侵事件( 对应结构体 ALARM_EVENT_CROSSLINE_INFO ) public static final int NET_EVENT_CROSSREGION_DETECTION = 0x2189; // 区域入侵事件( 对应结构体 ALARM_EVENT_CROSSREGION_INFO ) public static final int NET_ALARM_POWERFAULT = 0x3172; // 电源故障事件(对应结构体ALARM_POWERFAULT_INFO) public static final int NET_ALARM_CHASSISINTRUDED = 0x3173; // 机箱入侵(防拆)报警事件(对应结构体ALARM_CHASSISINTRUDED_INFO) public static final int NET_ALARM_BYPASSMODE_CHANGE_EVENT = 0x3176; // 旁路状态变化事件(对应结构体ALARM_BYPASSMODE_CHANGE_INFO) public static final int NET_ALARM_ACCESS_CTL_REPEAT_ENTER = 0x3179; // 反复进入事件(对应结构体ALARM_ACCESS_CTL_REPEAT_ENTER_INFO) public static final int NET_ALARM_ACCESS_CTL_DURESS = 0x3180; // 胁迫卡刷卡事件(对应结构体ALARM_ACCESS_CTL_DURESS_INFO) public static final int NET_ALARM_INPUT_SOURCE_SIGNAL = 0x3183; // 报警输入源信号事件(只要有输入就会产生该事件, 不论防区当前的模式,无法屏蔽, 对应 ALARM_INPUT_SOURCE_SIGNAL_INFO ) public static final int NET_ALARM_OPENDOORGROUP = 0x318c; // 多人组合开门事件(对应结构体ALARM_OPEN_DOOR_GROUP_INFO) public static final int NET_ALARM_SUBSYSTEM_STATE_CHANGE = 0x318f; // 子系统状态改变事件(对应结构体ALARM_SUBSYSTEM_STATE_CHANGE_INFO) public static final int NET_ALARM_PSTN_BREAK_LINE = 0x3196; // PSTN掉线事件(对应结构体ALARM_PSTN_BREAK_LINE_INFO) public static final int NET_ALARM_DEFENCE_ARMMODE_CHANGE = 0x31d2; // 防区布撤防状态改变事件(对应结构体 ALARM_DEFENCE_ARMMODECHANGE_INFO) public static final int NET_ALARM_SUBSYSTEM_ARMMODE_CHANGE = 0x31d3; // 子系统布撤防状态改变事件(对应结构体 ALARM_SUBSYSTEM_ARMMODECHANGE_INFO) public static final int NET_ALARM_SENSOR_ABNORMAL = 0x31dc; // 探测器异常报警(对应结构体 ALARM_SENSOR_ABNORMAL_INFO) public static final int NET_ALARM_CROWD_DETECTION = 0x3305; // 人群密度检测事件(对应结构体 ALARM_CROWD_DETECTION_INFO) public static final int NET_ALARM_FACE_FEATURE_ABSTRACT = 0x3306; // 目标特征向量重建结果事件(对应结构体 ALARM_FACE_FEATURE_ABSTRACT_INFO) public static final int NET_ALARM_CITIZEN_PICTURE_COMPARE = 0x330d; // 人证比对事件(对应结构体 ALARM_CITIZEN_PICTURE_COMPARE_INFO) public static final int NET_ALARM_MAN_NUM_DETECTION = 0x3223; // 立体视觉区域内人数统计报警(对应结构体ALARM_MAN_NUM_INFO) public static final int NET_ALARM_ENGINE_FAILURE_STATUS = 0x344F; // 发动机故障状态上报(对应 ALARM_ENGINE_FAILURE_STATUS_INFO) public static final int NET_ALARM_ANATOMY_TEMP_DETECT = 0x3454; // 人体温智能检测事件(对应结构体 ALARM_ANATOMY_TEMP_DETECT_INFO) public static final int NET_ALARM_REGULATOR_ABNORMAL = 0x3455; // 标准黑体源异常报警事件(对应结构体 ALARM_REGULATOR_ABNORMAL_INFO) public static final int NET_ALARM_MINIINDOOR_RADAR_ALARM = 0x34A7; // Mini雷达报警事件(对应结构体 NET_ALARM_MINIINDOOR_RADAR_ALARM_INFO) public static final int NET_ALARM_QR_CODE_CHECK = 0x335a; // 二维码上报事件(对应结构体 ALARM_QR_CODE_CHECK_INFO) public static final int NET_ALARM_TRAFFIC_XINKONG = 0x335f; // 交通态势报警事件(对接结构体 ALARM_TRAFFIC_XINKONG_INFO) public static final int NET_ALARM_WIRELESSDEV_LOWPOWER = 0x31C8; // 获取无线设备低电量上报事件(对应结构体ALARM_WIRELESSDEV_LOWPOWER_INFO) public static final int NET_ALARM_INTELLI_MODULE_HIGH_TEMP = 0x34BB; // 智能模块温度异常事件(对应结构体 NET_ALARM_INTELLI_MODULE_HIGH_TEMP_INFO) public static final int NET_ALARM_INTELLI_MODULE_OFFLINE = 0x34BC; // 智能模块断线事件(对应结构体 NET_ALARM_INTELLI_MODULE_OFFLINE_INFO) public static final int NET_ALARM_RF_JAMMING = 0x34C0; // RF干扰事件(对应结构体 NET_ALARM_RF_JAMMING_INFO) public static final int NET_ALARM_ARMING_FAILURE = 0x34C1; // 布防失败事件(对应结构体 NET_ALARM_ARMING_FAILURE_INFO) public static final int NET_ALARM_USER_MODIFIED = 0x34C2; // 用户信息被修改(增加、删除、修改)事件(对应结构体 NET_ALARM_USER_MODIFIED_INFO) public static final int NET_ALARM_MANUAL_TEST = 0x34C3; // 手动测试事件(对应结构体 NET_ALARM_MANUAL_TEST_INFO) public static final int NET_ALARM_DEVICE_MODIFIED = 0x34C4; // 设备设息修改(增加、删除、修改)事件(对应结构体 NET_ALARM_DEVICE_MODIFIED_INFO) public static final int NET_ALARM_ATS_FAULT = 0x34C5; // 报警传输系统故障事件(对应结构体 NET_ALARM_ATS_FAULT_INFO) public static final int NET_ALARM_ARC_OFFLINE = 0x34C6; // 报警接收中心离线事件(对应结构体 NET_ALARM_ARC_OFFLINE_INFO) public static final int NET_ALARM_WIFI_FAILURE = 0x34C7; // wifi故障事件(对应结构体 NET_ALARM_WIFI_FAILURE_INFO) public static final int NET_ALARM_OVER_TEMPERATURE = 0x34C8; // 超温报警事件(对应结构体 NET_ALARM_OVER_TEMPERATURE_INFO) public static final int NET_ALARM_WIRELESSDEV_POWERLESS = 0x3498; // 探测器主电丢失事件 (对应结构体 ALARM_WIRELESSDEV_POWERLESS_INFO) public static final int NET_ALARM_KEYPAD_LOCK = 0x219E; // 键盘锁定事件(对应结构体 ALARM_KEYPAD_LOCK_INFO) public static final int NET_ALARM_BETWEENRULE_TEMP_DIFF = 0x31d6; // 热成像规则间温差异常报警(对应结构体 ALARM_BETWEENRULE_DIFFTEMPER_INFO) public static final int DH_ALARM_USERLOCK = 0x3300; // 用户锁定报警事件(对应 ALARM_USERLOCK_INFO) /* start 西欧报警主机事件,预留58个事件*/ public static final int NET_ALARM_AREAARM_MODECHANGE =0x330e; // 区域防区模式改变(对应结构体ALARM_AREAARM_MODECHANGE_INFO) public static final int NET_ALARM_AREAALARM =0x3310; // 区域报警(对应结构体ALARM_AREAALARM_INFO) /* end 西欧报警主机事件,预留58个事件 */ /* start 雷球联动事件,预留64个事件*/ public static final int NET_ALARM_RADAR_REGIONDETECTION = 0x3370; // 雷达区域检测事件(对应结构体 ALARM_RADAR_REGIONDETECTION_INFO) public static final int NET_ALARM_TRAFFIC_PARKING_TIMEOUT = 0x334C; // 停车时长超限事件(对应的结构体 ALARM_TRAFFIC_PARKING_TIMEOUT_INFO) public static final int NET_ALARM_TRAFFIC_SUSPICIOUSCAR = 0x31a7; // 嫌疑车辆上报事件(对应结构体 ALARM_TRAFFIC_SUSPICIOUSCAR_INFO) public static final int NET_ALARM_PARKING_LOT_STATUS_DETECTION = 0x3451; // 室外停车位状态检测事件 (对应结构体 ALARM_REGION_PARKING_TIMEOUT_INFO) public static final int NET_ALARM_REGION_PARKING_TIMEOUT = 0x3460; // 区间车位停车超时(对应结构体 ALARM_REGION_PARKING_TIMEOUT_INFO) public static final int NET_ALARM_REGION_PARKING_NO_ENTRY_RECORD = 0x3461; // 区间车位停车,检测到车辆驶出区域时没有匹配到入场信息(对应结构体 ALARM_REGION_PARKING_NO_ENTRY_RECORD_INFO) public static final int NET_ALARM_TRAFFIC_LIGHT_STATE = 0x3458; // 交通灯状态报警(对应 ALARM_TRAFFIC_LIGHT_STATE_INFO) public static final int NET_ALARM_VEHICLE_INOUT = 0x346A; // 车辆出入事件(对应结构体 ALARM_VEHICLE_INOUT_INFO) public static final int NET_ALARM_FIRE_DETECTION = 0x343D; // 火警事件(对于的结构体 ALARM_FIRE_DETECTION_INFO) public static final int NET_ALARM_WORKSUIT_FEATURE_ABSTRACT = 0x3481; // 工装特征向量建模结果上报事件(对应结构体ALARM_WORKSUIT_FEATURE_ABSTRACT_INFO) public static final int NET_ALARM_TRAFFIC_FLOW_QUEUE = 0x349C; // 交通路口排队事件(对应结构体 ALARM_TRAFFIC_FLOW_QUEUE_INFO) public static final int NET_ALARM_TRAFFIC_FLOW_JUNTION = 0x349D; // 交通路口过车事件(对应结构体 ALARM_TRAFFIC_FLOW_JUNTION_INFO) public static final int NET_ALARM_TRAFFIC_FLOW_VEHICLE_STOP =0x349E; // 交通路口停车事件(对应结构体 ALARM_TRAFFIC_FLOW_VEHICLE_STOP_INFO) public static final int NET_ALARM_TRAFFIC_FLOW_STAT = 0x349F; // 交通路口车道统计事件(对应结构体 ALARM_TRAFFIC_FLOW_STAT_INFO) public static final int NET_ALARM_TRAFFIC_FLOW_STAT_EX = 0x34A0; // 交通路口车道统计拓展事件(对应结构体 ALARM_TRAFFIC_FLOW_STAT_EX_INFO) public static final int NET_ALARM_DYNAMIC_PWDLOCK_UPLOAD_RANDOMCODE =0x34B5; // 密码锁上报随机码事件(对应结构体 NET_ALARM_DYNAMIC_LOCK_UPLOAD_RANDOMCODE_INFO) public static final int NET_ALARM_DYNAMIC_PWDLOCK_CLOSE = 0x34B7; // 密码锁闭锁事件(对应结构体 NET_ALARM_DYNAMIC_PWDLOCK_CLOSE_INFO) public static final int NET_UPLOAD_RCEMERGENCY_CALL =0x4023; // 紧急呼叫报警事件, 对应结构体 ALARM_RCEMERGENCY_CALL_INFO public static final int NET_ALARM_HUMIDITY_ALARM = 0x3490; /// 湿度报警事件(对应结构体 ALARM_HUMIDITY_ALARM_INFO) // 信号机事件 public static final int NET_ALARM_RTSC_PHASE_RUNING = 0x5001; // RTSC跑动暂停事件(对应ALARM_RTSC_PHASE_RUNNING_INFO) public static final int NET_ALARM_RTSC_LAMP_RUNING = 0x5002; // RTSC灯暂停事件(对应ALARM_RTSC_LAMP_RUNNING_INFO) public static final int NET_ALARM_RTSC_RUNING = 0x5003; // 信号机运行事件(对应ALARM_RTSC_RUNNING_INFO) public static final int NET_ALARM_RTSC_TRAFFIC = 0x5004; // 信号机交通信息事件(对应ALARM_RTSC_TRAFFIC_INFO) // 订阅Bus状态对应事件上报(CLIENT_AttachBusState) public static final int NET_ALARM_BUS_PASSENGER_CARD_CHECK = 0x0009; // 乘客刷卡事件(对应结构体 ALARM_PASSENGER_CARD_CHECK ) // 帧类型掩码定义 public static final int FRAME_TYPE_MOTION = 0x00000001; // 动检帧 // CLIENT_RealLoadPictureEx 智能抓图事件 public static final int EVENT_IVS_ALL = 0x00000001; // 订阅所有事件 public static final int EVENT_IVS_CROSSLINEDETECTION = 0x00000002; // 拌线入侵事件(对应 DEV_EVENT_CROSSLINE_INFO) public static final int EVENT_IVS_CROSSREGIONDETECTION = 0x00000003; // 区域入侵事件(对应 DEV_EVENT_CROSSREGION_INFO) public static final int EVENT_IVS_LEFTDETECTION = 0x00000005; // 物品遗留事件(对应 DEV_EVENT_LEFT_INFO) public static final int EVENT_IVS_STAYDETECTION = 0x00000006; // 停留事件(对应 DEV_EVENT_STAY_INFO) public static final int EVENT_IVS_WANDERDETECTION = 0x00000007; // 徘徊事件(对应 DEV_EVENT_WANDER_INFO) public static final int EVENT_IVS_PRESERVATION = 0x00000008; // 物品保全事件(对应 DEV_EVENT_PRESERVATION_INFO) public static final int EVENT_IVS_MOVEDETECTION = 0x00000009; // 移动事件(对应 DEV_EVENT_MOVE_INFO) public static final int EVENT_IVS_NUMBERSTAT = 0x00000010; // 数量统计事件(对应 DEV_EVENT_NUMBERSTAT_INFO) public static final int EVENT_IVS_RIOTERDETECTION = 0x0000000B; // 聚众事件(对应 DEV_EVENT_RIOTERL_INFO) public static final int EVENT_IVS_FIREDETECTION = 0x0000000C; // 火警事件(对应 DEV_EVENT_FIRE_INFO) public static final int EVENT_IVS_SMOKEDETECTION = 0x0000000D; // 烟雾报警事件(对应 DEV_EVENT_SMOKE_INFO) public static final int EVENT_IVS_FIGHTDETECTION = 0x0000000E; // 斗殴事件(对应 DEV_EVENT_FIGHT_INFO) public static final int EVENT_IVS_VIDEOABNORMALDETECTION = 0x00000013; // 视频异常事件(对应 DEV_EVENT_VIDEOABNORMALDETECTION_INFO) public static final int EVENT_IVS_TRAFFICACCIDENT = 0x00000016; /// 交通事故事件(对应 DEV_EVENT_TRAFFICACCIDENT_INFO) public static final int EVENT_IVS_TRAFFICJUNCTION = 0x00000017; // 交通路口事件----老规则(对应 DEV_EVENT_TRAFFICJUNCTION_INFO) public static final int EVENT_IVS_TRAFFICGATE = 0x00000018; // 交通卡口事件----老规则(对应 DEV_EVENT_TRAFFICGATE_INFO) public static final int EVENT_IVS_FACEDETECT = 0x0000001A; // 目标检测事件 (对应 DEV_EVENT_FACEDETECT_INFO)(智能规则对应 EVENT_IVS_FACEDETECT) public static final int EVENT_IVS_TRAFFICJAM = 0x0000001B; // 交通拥堵事件(对应 DEV_EVENT_TRAFFICJAM_INFO) public static final int EVENT_IVS_TRAFFIC_RUNREDLIGHT = 0x00000100; // 交通违章-闯红灯事件(对应 DEV_EVENT_TRAFFIC_RUNREDLIGHT_INFO) public static final int EVENT_IVS_TRAFFIC_OVERLINE = 0x00000101; // 交通违章-压车道线事件(对应 DEV_EVENT_TRAFFIC_OVERLINE_INFO) public static final int EVENT_IVS_TRAFFIC_RETROGRADE = 0x00000102; // 交通违章-逆行事件(对应 DEV_EVENT_TRAFFIC_RETROGRADE_INFO) public static final int EVENT_IVS_TRAFFIC_TURNLEFT = 0x00000103; // 交通违章-违章左转(对应 DEV_EVENT_TRAFFIC_TURNLEFT_INFO) public static final int EVENT_IVS_TRAFFIC_TURNRIGHT = 0x00000104; // 交通违章-违章右转(对应 DEV_EVENT_TRAFFIC_TURNRIGHT_INFO) public static final int EVENT_IVS_TRAFFIC_UTURN = 0x00000105; // 交通违章-违章掉头(对应 DEV_EVENT_TRAFFIC_UTURN_INFO) public static final int EVENT_IVS_TRAFFIC_OVERSPEED = 0x00000106; // 交通违章-超速(对应 DEV_EVENT_TRAFFIC_OVERSPEED_INFO) public static final int EVENT_IVS_TRAFFIC_UNDERSPEED = 0x00000107; // 交通违章-低速(对应 DEV_EVENT_TRAFFIC_UNDERSPEED_INFO) public static final int EVENT_IVS_TRAFFIC_PARKING = 0x00000108; // 交通违章-违章停车(对应 DEV_EVENT_TRAFFIC_PARKING_INFO) public static final int EVENT_IVS_TRAFFIC_WRONGROUTE = 0x00000109; // 交通违章-不按车道行驶(对应 DEV_EVENT_TRAFFIC_WRONGROUTE_INFO) public static final int EVENT_IVS_TRAFFIC_CROSSLANE = 0x0000010A; // 交通违章-违章变道(对应 DEV_EVENT_TRAFFIC_CROSSLANE_INFO) public static final int EVENT_IVS_TRAFFIC_OVERYELLOWLINE = 0x0000010B; // 交通违章-压黄线 (对应 DEV_EVENT_TRAFFIC_OVERYELLOWLINE_INFO) public static final int EVENT_IVS_TRAFFIC_YELLOWPLATEINLANE = 0x0000010E; // 交通违章-黄牌车占道事件(对应 DEV_EVENT_TRAFFIC_YELLOWPLATEINLANE_INFO) public static final int EVENT_IVS_TRAFFIC_PEDESTRAINPRIORITY = 0x0000010F; // 交通违章-斑马线行人优先事件(对应 DEV_EVENT_TRAFFIC_PEDESTRAINPRIORITY_INFO) public static final int EVENT_IVS_TRAFFIC_NOPASSING = 0x00000111; // 交通违章-禁止通行事件(对应 DEV_EVENT_TRAFFIC_NOPASSING_INFO) public static final int EVENT_IVS_ABNORMALRUNDETECTION = 0x00000112; // 异常奔跑事件(对应 DEV_EVENT_ABNORMALRUNDETECTION_INFO) public static final int EVENT_IVS_RETROGRADEDETECTION = 0x00000113; // 人员逆行事件(对应 DEV_EVENT_RETROGRADEDETECTION_INFO) public static final int EVENT_IVS_TAKENAWAYDETECTION = 0x00000115; // 物品搬移事件(对应 DEV_EVENT_TAKENAWAYDETECTION_INFO) public static final int EVENT_IVS_PARKINGDETECTION = 0x00000116; // 非法停车事件(对应 DEV_EVENT_PARKINGDETECTION_INFO) public static final int EVENT_IVS_FACERECOGNITION = 0x00000117; // 目标识别事件(对应 DEV_EVENT_FACERECOGNITION_INFO, (对应的智能规则配置 CFG_FACERECOGNITION_INFO) public static final int EVENT_IVS_TRAFFIC_MANUALSNAP = 0x00000118; // 交通手动抓拍事件(对应 DEV_EVENT_TRAFFIC_MANUALSNAP_INFO) public static final int EVENT_IVS_TRAFFIC_FLOWSTATE = 0x00000119; // 交通流量统计事件(对应 DEV_EVENT_TRAFFIC_FLOW_STATE) public static final int EVENT_IVS_TRAFFIC_VEHICLEINROUTE = 0x0000011B; // 有车占道事件(对应 DEV_EVENT_TRAFFIC_VEHICLEINROUTE_INFO) public static final int EVENT_ALARM_LOCALALARM = 0x0000011D; // 外部报警事件(对应 DEV_EVENT_ALARM_INFO) public static final int EVENT_IVS_PSRISEDETECTION = 0x0000011E; // 囚犯起身事件(对应 DEV_EVENT_PSRISEDETECTION_INFO) public static final int EVENT_IVS_TRAFFIC_TOLLGATE = 0x00000120; // 交通违章--卡口事件----新规则(对应 DEV_EVENT_TRAFFICJUNCTION_INFO) public static final int EVENT_IVS_TRAFFIC_VEHICLEINBUSROUTE = 0x00000124; // 交通违章--占用公交车道事件(对应 DEV_EVENT_TRAFFIC_VEHICLEINBUSROUTE_INFO) public static final int EVENT_IVS_TRAFFIC_BACKING = 0x00000125; // 交通违章--违章倒车事件(对应 DEV_EVENT_IVS_TRAFFIC_BACKING_INFO) public static final int EVENT_IVS_AUDIO_ABNORMALDETECTION = 0x00000126; // 声音异常检测(对应 DEV_EVENT_IVS_AUDIO_ABNORMALDETECTION_INFO) public static final int EVENT_IVS_TRAFFIC_RUNYELLOWLIGHT = 0x00000127; // 交通违章-闯黄灯事件(对应 DEV_EVENT_TRAFFIC_RUNYELLOWLIGHT_INFO) public static final int EVENT_IVS_CLIMBDETECTION = 0x00000128; // 攀高检测事件(对应 DEV_EVENT_IVS_CLIMB_INFO) public static final int EVENT_IVS_LEAVEDETECTION = 0x00000129; // 离岗检测事件(对应 DEV_EVENT_IVS_LEAVE_INFO) public static final int EVENT_IVS_TRAFFIC_PARKINGONYELLOWBOX = 0x0000012A; // 交通违章--黄网格线抓拍事件(对应 DEV_EVENT_TRAFFIC_PARKINGONYELLOWBOX_INFO) public static final int EVENT_IVS_TRAFFIC_PARKINGSPACEPARKING = 0x0000012B; // 车位有车事件(对应 DEV_EVENT_TRAFFIC_PARKINGSPACEPARKING_INFO ) public static final int EVENT_IVS_TRAFFIC_PARKINGSPACENOPARKING = 0x0000012C; // 车位无车事件(对应 DEV_EVENT_TRAFFIC_PARKINGSPACENOPARKING_INFO ) public static final int EVENT_IVS_TRAFFIC_PEDESTRAIN = 0x0000012D; // 交通行人事件(对应 DEV_EVENT_TRAFFIC_PEDESTRAIN_INFO) public static final int EVENT_IVS_TRAFFIC_THROW = 0x0000012E; // 交通抛洒物品事件(对应 DEV_EVENT_TRAFFIC_THROW_INFO) public static final int EVENT_IVS_TRAFFIC_PARKINGSPACEOVERLINE = 0x00000134; // 车位压线事件(对应 DEV_EVENT_TRAFFIC_PARKINGSPACEOVERLINE_INFO) public static final int EVENT_IVS_TRAFFIC_OVERSTOPLINE = 0X00000137; // 交通违章--压停止线事件(对应 DEV_EVENT_TRAFFIC_OVERSTOPLINE) public static final int EVENT_IVS_TRAFFIC_WITHOUT_SAFEBELT = 0x00000138; // 交通违章--交通未系安全带事件(对应 DEV_EVENT_TRAFFIC_WITHOUT_SAFEBELT) public static final int EVENT_IVS_TRAFFIC_DRIVER_SMOKING = 0x00000139; // 驾驶员抽烟事件(对应 DEV_EVENT_TRAFFIC_DRIVER_SMOKING) public static final int EVENT_IVS_TRAFFIC_DRIVER_CALLING = 0x0000013A; // 驾驶员打电话事件(对应 DEV_EVENT_TRAFFIC_DRIVER_CALLING) public static final int EVENT_IVS_TRAFFIC_PASSNOTINORDER = 0x0000013C; // 交通违章--未按规定依次通行(对应 DEV_EVENT_TRAFFIC_PASSNOTINORDER_INFO) public static final int EVENT_IVS_CROSSLINEDETECTION_EX = 0x00000151; // 警戒线扩展事件 public static final int EVENT_ALARM_VIDEOBLIND = 0x00000153; // 视频遮挡事件(对应 DEV_EVENT_ALARM_VIDEOBLIND) public static final int EVENT_IVS_TRAFFIC_JAM_FORBID_INTO = 0x00000163; // 交通违章--车辆拥堵禁入事件(对应 DEV_EVENT_ALARM_JAMFORBIDINTO_INFO) public static final int EVENT_IVS_TRAFFIC_FCC = 0x0000016B; // 加油站提枪、挂枪事件(对应 DEV_EVENT_TRAFFIC_FCC_INFO) public static final int EVENT_IVS_TUMBLE_DETECTION = 0x00000177; // 倒地报警事件(对应 DEV_EVENT_TUMBLE_DETECTION_INFO) public static final int EVENT_IVS_DISTANCE_DETECTION = 0x0000024A; // 异常间距事件 (对应 DEV_EVENT_DISTANCE_DETECTION_INFO) public static final int EVENT_IVS_ACCESS_CTL = 0x00000204; // 门禁事件 (对应 DEV_EVENT_ACCESS_CTL_INFO) public static final int EVENT_IVS_SNAPMANUAL = 0x00000205; // SnapManual事件(对应 DEV_EVENT_SNAPMANUAL) public static final int EVENT_IVS_TRAFFIC_ELETAGINFO = 0x00000206; // RFID电子车牌标签事件(对应 DEV_EVENT_TRAFFIC_ELETAGINFO_INFO) public static final int EVENT_IVS_TRAFFIC_TIREDPHYSIOLOGICAL = 0x00000207; // 生理疲劳驾驶事件(对应 DEV_EVENT_TIREDPHYSIOLOGICAL_INFO) public static final int EVENT_IVS_CITIZEN_PICTURE_COMPARE = 0x00000209; // 人证比对事件(对应 DEV_EVENT_CITIZEN_PICTURE_COMPARE_INFO ) public static final int EVENT_IVS_TRAFFIC_TIREDLOWERHEAD = 0x0000020A; // 开车低头报警事件(对应DEV_EVENT_TIREDLOWERHEAD_INFO) public static final int EVENT_IVS_TRAFFIC_DRIVERLOOKAROUND = 0x0000020B; // 开车左顾右盼报警事件(对应DEV_EVENT_DRIVERLOOKAROUND_INFO) public static final int EVENT_IVS_TRAFFIC_DRIVERLEAVEPOST = 0x0000020C; // 开车离岗报警事件(对应DEV_EVENT_DRIVERLEAVEPOST_INFO) public static final int EVENT_IVS_MAN_STAND_DETECTION = 0x0000020D; // 立体视觉站立事件(对应DEV_EVENT_MANSTAND_DETECTION_INFO) public static final int EVENT_IVS_MAN_NUM_DETECTION = 0x0000020E; // 立体视觉区域内人数统计事件(对应DEV_EVENT_MANNUM_DETECTION_INFO) public static final int EVENT_IVS_TRAFFIC_DRIVERYAWN = 0x00000210; // 开车打哈欠事件(对应DEV_EVENT_DRIVERYAWN_INFO) public static final int EVENT_IVS_HUMANTRAIT = 0x00000215; // 人体特征事件(对应 DEV_EVENT_HUMANTRAIT_INFO) public static final int EVENT_IVS_FACEANALYSIS = 0x00000217; // 人脸分析事件 (暂未有具体事件) public static final int EVENT_IVS_TRAFFIC_QUEUEJUMP = 0x0000021C; // 车辆加塞事件(对应 DEV_EVENT_TRAFFIC_QUEUEJUMP_INFO) public static final int EVENI_IVS_XRAY_DETECTION = 0x00000223; // X光检测事件 (对应 DEV_EVENT_XRAY_DETECTION_INFO) public static final int EVENT_IVS_HIGHSPEED = 0x0000022B; // 车辆超速报警事件(对应 DEV_EVENT_HIGHSPEED_INFO) public static final int EVENT_IVS_CROWDDETECTION = 0x0000022C; // 人群密度检测事件(对应结构体 DEV_EVENT_CROWD_DETECTION_INFO) public static final int EVENT_IVS_TRAFFIC_CARDISTANCESHORT = 0x0000022D; // 车间距过小报警事件(对应 DEV_EVENT_TRAFFIC_CARDISTANCESHORT_INFO) public static final int EVENT_IVS_PEDESTRIAN_JUNCTION = 0x00000230; // 行人卡口事件(对应 DEV_EVENT_PEDESTRIAN_JUNCTION_INFO) public static final int EVENT_IVS_VEHICLE_RECOGNITION = 0x00000231; // 车牌对比事件(对应 DEV_EVENT_VEHICLE_RECOGNITION_INFO) public static final int EVENT_IVS_BANNER_DETECTION = 0x0000023B; // 拉横幅事件(对应 DEV_EVENT_BANNER_DETECTION_INFO) public static final int EVENT_IVS_ELEVATOR_ABNORMAL = 0x0000023D; // 电动扶梯运行异常事件 (对应DEV_EVENT_ELEVATOR_ABNORMAL_INFO) public static final int EVENT_IVS_VEHICLEDETECT = 0x0000023F; // 机动车检测 (只用于规则配置,事件采用EVENT_IVS_TRAFFICJUNCTION) public static final int EVENT_IVSS_FACEATTRIBUTE = 0x00000243; // IVSS目标检测事件 (暂未有具体事件) public static final int EVENT_IVSS_FACECOMPARE = 0x00000244; // IVSS目标识别事件 (暂未有具体事件) public static final int EVENT_IVS_FIREWARNING = 0x00000245; // 火警事件(对应 DEV_EVENT_FIREWARNING_INFO) public static final int EVENT_IVS_SHOPPRESENCE = 0x00000246; // 商铺占道经营事件(对应 DEV_EVENT_SHOPPRESENCE_INFO) public static final int EVENT_IVS_FLOWBUSINESS = 0x0000024E; // 流动摊贩事件 (对应 DEV_EVENT_FLOWBUSINESS_INFO) public static final int EVENT_IVS_LANEDEPARTURE_WARNNING = 0X00000251; // 车道偏移预警(对应 DEV_EVENT_LANEDEPARTURE_WARNNING_INFO) public static final int EVENT_IVS_FORWARDCOLLISION_WARNNING = 0x00000252; // 前向碰撞预警(对应 DEV_EVENT_FORWARDCOLLISION_WARNNING_INFO) public static final int EVENT_IVS_FLOATINGOBJECT_DETECTION = 0x00000257; // 漂浮物检测事件 (对应 DEV_EVENT_FLOATINGOBJECT_DETECTION_INFO) public static final int EVENT_IVS_PHONECALL_DETECT = 0x0000025A; // 打电话检测事件(对应 DEV_EVENT_PHONECALL_DETECT_INFO) public static final int EVENT_IVS_SMOKING_DETECT = 0x0000025B; // 吸烟检测事件(对应 DEV_EVENT_SMOKING_DETECT_INFO) public static final int EVENT_IVS_RADAR_SPEED_LIMIT_ALARM = 0x0000025C; // 雷达限速报警事件(对应 DEV_EVENT_RADAR_SPEED_LIMIT_ALARM_INFO) public static final int EVENT_IVS_WATER_LEVEL_DETECTION = 0x0000025D; // 水位检测事件 (对应 DEV_EVENT_WATER_LEVEL_DETECTION_INFO) public static final int EVENT_IVS_CITY_MOTORPARKING = 0x0000024F; // 城市机动车违停事件 (对应 DEV_EVENT_CITY_MOTORPARKING_INFO) public static final int EVENT_IVS_CITY_NONMOTORPARKING = 0x00000250; // 城市机非动车违停事件 (对应 DEV_EVENT_CITY_NONMOTORPARKING_INFO) public static final int EVENT_IVS_HOLD_UMBRELLA = 0x0000025E; // 违规撑伞检测事件 (对应 DEV_EVENT_HOLD_UMBRELLA_INFO) public static final int EVENT_IVS_GARBAGE_EXPOSURE = 0x0000025F; // 垃圾暴露检测事件 (对应 DEV_EVENT_GARBAGE_EXPOSURE_INFO) public static final int EVENT_IVS_DUSTBIN_OVER_FLOW = 0x00000260; // 垃圾桶满溢检测事件 (对应 DEV_EVENT_DUSTBIN_OVER_FLOW_INFO) public static final int EVENT_IVS_DOOR_FRONT_DIRTY = 0x00000261; // 门前脏乱检测事件 (对应 DEV_EVENT_DOOR_FRONT_DIRTY_INFO) public static final int EVENT_IVS_QUEUESTAY_DETECTION = 0X00000262; // 排队滞留时间报警事件 (对应 DEV_EVENT_QUEUESTAY_DETECTION_INFO) public static final int EVENT_IVS_QUEUENUM_DETECTION = 0X00000263; // 排队人数异常报警事件(对应 DEV_EVENT_QUEUENUM_DETECTION_INFO) public static final int EVENT_IVS_GENERATEGRAPH_DETECTION = 0X00000264; // 生成图规则事件(对应 DEV_EVENT_GENERATEGRAPH_DETECTION_INFO) public static final int EVENT_IVS_TRAFFIC_PARKING_MANUAL = 0x00000265; // 交通违章-手动取证(对应 DEV_EVENT_TRAFFIC_PARKING_MANUAL_INFO) public static final int EVENT_IVS_HELMET_DETECTION = 0x00000266; // 安全帽检测事件(对应 DEV_EVENT_HELMET_DETECTION_INFO) public static final int EVENT_IVS_DEPOSIT_DETECTION = 0x00000267; // 包裹堆积程度检测事件(对应 DEV_EVENT_DEPOSIT_DETECTION_INFO) public static final int EVENT_IVS_HOTSPOT_WARNING = 0x00000268; // 热点异常报警事件(对应 DEV_EVENT_HOTSPOT_WARNING_INFO) public static final int EVENT_IVS_WEIGHING_PLATFORM_DETECTION = 0x00000269; // 称重平台检测事件(对应 DEV_EVENT_WEIGHING_PLATFORM_DETECTION_INFO) public static final int EVENT_IVS_CLASSROOM_BEHAVIOR = 0x0000026A; // 课堂行为分析事件(对应 DEV_EVENT_CLASSROOM_BEHAVIOR_INFO) public static final int EVENT_IVS_VEHICLE_DISTANCE_NEAR = 0x0000026B; // 安全驾驶车距过近报警事件(对应 DEV_EVENT_VEHICLE_DISTANCE_NEAR_INFO) public static final int EVENT_IVS_TRAFFIC_DRIVER_ABNORMAL = 0x0000026C; // 驾驶员异常报警事件(对应 DEV_EVENT_TRAFFIC_DRIVER_ABNORMAL_INFO) public static final int EVENT_IVS_WORKCLOTHES_DETECT = 0x0000026E; // 工装(安全帽/工作服等)检测事件(对应 DEV_EVENT_WORKCLOTHES_DETECT_INFO) public static final int EVENT_IVS_SECURITYGATE_PERSONALARM = 0x0000026F; // 安检门人员报警事件(对应 DEV_EVENT_SECURITYGATE_PERSONALARM_INFO) public static final int EVENT_IVS_STAY_ALONE_DETECTION = 0x00000270; // 单人独处事件(对应 DEV_EVENT_STAY_ALONE_DETECTION_INFO) public static final int EVENT_IVS_TRAFFIC_ROAD_CONSTRUCTION = 0x00000272; // 交通道路施工检测事件(对应 DEV_EVENT_TRAFFIC_ROAD_CONSTRUCTION_INFO) public static final int EVENT_IVS_WORKSTATDETECTION = 0x00000274; // 作业统计事件(对应 DEV_EVENT_WORKSTATDETECTION_INFO) public static final int EVENT_IVS_INTELLI_SHELF = 0x00000277; // 智能补货事件(对应 DEV_EVENT_INTELLI_SHELF_INFO) public static final int EVENT_IVS_CAR_DRIVING_IN_OUT = 0x0000027B; // 车辆驶入驶出状态事件(对应 DEV_EVENT_CAR_DRIVING_IN_OUT_INFO) public static final int EVENT_IVS_VIOLENT_THROW_DETECTION = 0x0000027D; // 暴力抛物检测(对应 DEV_EVENT_VIOLENT_THROW_DETECTION_INFO) public static final int EVENT_IVS_GASSTATION_VEHICLE_DETECT = 0x00000283; // 加油站车辆检测事件 (对应 DEV_EVENT_GASSTATION_VEHICLE_DETECT_INFO) public static final int EVENT_IVS_HIGH_TOSS_DETECT = 0x0000028D; // 高空抛物检测(对应DEV_EVENT_HIGH_TOSS_DETECT_INFO) public static final int EVENT_IVS_BREED_DETECTION = 0x00000289; // 智慧养殖检测事件 (对应 DEV_EVENT_BREED_DETECTION_INFO) public static final int EVENT_IVS_PARKING_LOT_STATUS_DETECTION = 0x00000297; // 室外停车位状态检测 (对应 DEV_EVENT_PARKING_LOT_STATUS_DETECTION_INFO) public static final int EVENT_IVS_SMART_KITCHEN_CLOTHES_DETECTION=0x0000029D; // 智慧厨房穿着检测事件(对不戴口罩、厨师帽以及颜色不符合规定的厨师服进行报警)(对应 DEV_EVENT_SMART_KITCHEN_CLOTHES_DETECTION_INFO) public static final int EVENT_IVS_ANATOMY_TEMP_DETECT = 0x00000303; // 人体温智能检测事件(对应 DEV_EVENT_ANATOMY_TEMP_DETECT_INFO) public static final int EVENT_IVS_FOG_DETECTION = 0x00000308; // 起雾检测事件(对应 DEV_EVENT_FOG_DETECTION) public static final int EVENT_IVS_TRAFFIC_VEHICLE_BC = 0x00000309; // 飙车事件(对应 DEV_EVENT_TRAFFIC_VEHICLE_BC ) public static final int EVENT_IVS_WATER_STAGE_MONITOR = 0x0000030D; // 水位监测事件 public static final int EVENT_IVS_NONMOTOR_ENTRYING = 0x0000030C; // 非机动车进入电梯(对应 DEV_EVENT_NONMOTOR_ENTRYING_INFO) public static final int EVENT_IVS_TRAFFIC_ROAD_ALERT = 0x0000030E; // 道路安全预警(对应 DEV_EVENT_TRAFFIC_ROAD_ALERT_INFO) public static final int EVENT_IVS_BREAK_RULE_BUILDING_DETECTION= 0x0000030F; // 违章建筑检测事件(对应 DEV_EVENT_BREAK_RULE_BUILDIING_DETECTION_INFO) public static final int EVENT_IVS_TRAFFIC_CAR_MEASUREMENT =0x00000320; // 交通卡口测量(车辆长、宽、高度、重量等)事件 (对应 DEV_EVENT_TRAFFIC_CAR_MEASUREMENT_INFO) public static final int EVENT_IVS_CAR_DRIVING_IN = 0x00000330; // 车辆驶入事件(对应 DEV_EVENT_CAR_DRIVING_IN_INFO) public static final int EVENT_IVS_CAR_DRIVING_OUT = 0x00000331; // 车辆驶出事件(对应 DEV_EVENT_CAR_DRIVING_OUT_INFO) public static final int EVENT_IVS_TRUCKNOTCLEAN_FOR_PRMA = 0x0000033A; // 工程车未清洗 对应 DEV_EVENT_TRUCKNOTCLEAN_FOR_PRMA_INFO public static final int EVENT_IVS_DRIVE_ACTION_ANAYLSE = 0x00000342; // 驾驶行为分析 (只用于规则配置) public static final int EVENT_IVS_TRAFFIC_PARKINGSPACE_MANUALSNAP = 0x00000346; // 路侧停车位手动抓图 (对应 DEV_EVENT_PARKINGSPACE_MANUALSNAP_INFO ) public static final int EVENT_IVS_CONVEYER_BELT_BULK = 0x00000351; // 传送带大块异物检测事件(对应DEV_EVENT_CONVEYER_BELT_BULK_INFO ) public static final int EVENT_IVS_CONVEYER_BELT_NONLOAD = 0x00000352; // 传送带空载检测事件(对应DEV_EVENT_CONVEYER_BELT_NONLOAD_INFO ) public static final int EVENT_IVS_CONVEYER_BELT_RUNOFF = 0x00000353; // 传送带跑偏检测事件(对应 DEV_EVENT_CONVEYER_BELT_RUNOFF_INFO ) public static final int EVENT_IVS_OBJECT_REMOVAL_DETECTION = 0x0000036A; // 物品拿取检测事件(对应DEV_EVENT_OBJECT_REMOVAL_DETECTION_INFO) public static final int EVENT_IVS_WATERCOLOR_DETECTION = 0x00000363; // 水体颜色事件(对应 DEV_EVENT_WATERCOLOR_DETECTION_INFO) public static final int EVENT_IVS_SEWAGE_DETECTION = 0x00000362; // 排污检测事件(对应 DEV_EVENT_SEWAGE_DETECTION_INFO) public static final int EVENT_IVS_OBJECT_PLACEMENT_DETECTION = 0x00000369; // 物品放置检测事件(对应DEV_EVENT_OBJECT_PLACEMENT_DETECTION_INFO) public static final int EVENT_IVS_DIALRECOGNITION = 0x00000371; // 仪表检测事件(对应DEV_EVENT_DIALRECOGNITION_INFO) public static final int EVENT_IVS_ELECTRICFAULT_DETECT = 0x00000372; // 仪表类缺陷检测事件(对应DEV_EVENT_ELECTRICFAULTDETECT_INFO) public static final int EVENT_IVS_TRASH_WITHOUT_COVER_DETECTION = 0x00000373; // 垃圾桶未盖盖子检测事件(对应DEV_EVENT_TRASH_WITHOUT_COVER_DETECTION_INFO) public static final int EVENT_IVS_TRAFFIC_PARKING_BACKING = 0x0000037C; // 出入口倒车驶离事件(对应DEV_EVENT_TRAFFIC_PARKING_BACKING_INFO) public static final int EVENT_IVS_BARELAND_DETECTION = 0x00000380; // 裸土检测事件(DEV_EVENT_BARELAND_DETECTION_INFO) public static final int EVENT_IVS_CONSUMPTION_EVENT = 0x00000381; // 消费事件(对应 DEV_EVENT_CONSUMPTION_EVENT_INFO) public static final int EVENT_IVS_XRAY_UNPACKING_CHECK = 0x00000384; // X光开包检查事件(对应DEV_EVENT_XRAY_UPACKING_CHECK_INFO) public static final int EVENT_IVS_TRAFFIC_CHANGE_LANE_CONTINUES = 0x00000387; //机动车连续变道违法事件(对应 DEV_EVENT_TRAFFIC_CHANGE_LANE_CONTINUES_INFO) public static final int EVENT_IVS_FISHING_DETECTION = 0x00000390; // 钓鱼检测事件(对应 DEV_EVENT_FISHING_DETECTION_INFO ) public static final int EVENT_IVS_ROAD_CONDITIONS_DETECTION =0x0000039A; // 路面检测事件(对应DEV_EVENT_ROAD_CONDITIONS_DETECTION_INFO) public static final int EVENT_IVS_VIDEO_NORMAL_DETECTION =0x00000365; // 视频正常事件,在视频诊断检测周期结束时,将未报错的诊断项上报正常事件 DEV_EVENT_VIDEO_NORMAL_DETECTION_INFO public static final int EVENT_IVS_OPEN_INTELLI =0x0000039D; // 开放智能事件(对应 DEV_EVENT_OPEN_INTELLI_INFO) public static final int EVENT_IVS_TRAFFIC_SERPENTINE_CHANGE_LANE =0x0000040F; // 蛇形变道事件(对应 DEV_EVENT_TRAFFIC_SERPENTINE_CHANGE_LANE_INFO) public static final int EVENT_IVS_TRAFFIC_SPEED_DROP_SHARPLY = 0x00000404; // 车辆速度剧减事件(对应 DEV_EVENT_TRAFFIC_SPEED_DROP_SHARPLY_INFO) public static final int EVENT_IVS_TRAFFIC_OVERTAKE_ONRIGHT = 0x0000040A; // 右侧超车事件(对应 DEV_EVENT_TRAFFIC_OVERTAKE_ONRIGHT_INFO) public static final int EVENT_IVS_TRAFFIC_TRUCK_OCCUPIED = 0x0000040B; // 大车占道事件(对应 DEV_EVENT_TRAFFIC_TRUCK_OCCUPIED_INFO) public static final int EVENT_IVS_REMOTE_APPROVAL_ALARM =0x00000438; // 金融远程审批事件(对应 NET_DEV_EVENT_REMOTE_APPROVAL_ALARM_INFO) public static final int EVENT_IVS_ANTI_COUNTERFEIT =0x00000439; // 防造假检测事件(对应 NET_DEV_EVENT_ANTI_COUNTERFEIT_INFO) public static final int EVENT_IVS_USERMANAGER_FOR_TWSDK =0x00000441; // 用户信息上报事件(对应 NET_DEV_EVENT_USERMANAGER_FOR_TWSDK_INFO) public static final int EVENT_IVS_POSITION_SNAP =0x00000447; // 按位置抓图事件(对应 NET_DEV_EVENT_POSITION_SNAP_INFO) public static final int EVENT_IVS_CIGARETTE_CASE_DETECTION =0x00000450; // 烟盒检测事件(对应 NET_DEV_EVENT_CIGARETTE_CASE_DETECTION_INFO) public static final int EVENT_IVS_TRAFFIC_ACCELERATION_RAPID =0x00000457; // 急加速事件(对应 NET_DEV_EVENT_TRAFFIC_ACCELERATION_RAPID_INFO) public static final int EVENT_IVS_TRAFFIC_TURN_SHARP =0x00000458; // 急转弯事件(对应 NET_DEV_EVENT_TRAFFIC_TURN_SHARP_INFO) public static final int EVENT_IVS_COLLISION_CONFLICT =0x0000045B; // 碰撞冲突事件(对应 NET_DEV_EVENT_COLLISION_CONFLICT_INFO) public static final int EVENT_IVS_SAME_OBJECT_SEARCH_DETECT =0x00000472; // 按图索骥物品检测事件(对应 NET_DEV_EVENT_SAME_OBJECT_SEARCH_DETECT_INFO) public static final int EVENT_IVS_SAME_OBJECT_SEARCH_COUNT =0x00000480; // 按图索骥物品计数事件(对应 NET_DEV_EVENT_SAME_OBJECT_SEARCH_COUNT_INFO) public static final int EVENT_IVS_GRANARY_TRANS_ACTION_DETECTION =0x00000484; // 粮面异动检测事件上报(对应 NET_DEV_EVENT_GRANARY_TRANS_ACTION_DETECTION_INFO) public static final int EVENT_IVS_REGION_PROPORTION_DETECTION =0x00000485; // 区域占比检测事件(对应 NET_DEV_EVENT_REGION_PROPORTION_DETECTION_INFO) // CLIENT_GetNewDevConfig / CLIENT_SetNewDevConfig 配置项 public static final String CFG_CMD_MOTIONDETECT = "MotionDetect"; // 动态检测报警配置(对应 CFG_MOTION_INFO) public static final String CFG_CMD_VIDEOWIDGET = "VideoWidget"; // 视频编码物件配置(对应 NET_CFG_VideoWidget ) public static final String CFG_CMD_ANALYSEGLOBAL = "VideoAnalyseGlobal"; // 视频分析全局配置(对应 CFG_ANALYSEGLOBAL_INFO) public static final String CFG_CMD_ANALYSEMODULE = "VideoAnalyseModule"; // 物体的检测模块配置(对应 CFG_ANALYSEMODULES_INFO) public static final String CFG_CMD_ANALYSERULE = "VideoAnalyseRule"; // 视频分析规则配置(对应 CFG_ANALYSERULES_INFO) public static final String CFG_CMD_VIDEOINOPTIONS = "VideoInOptions"; // 视频输入前端选项(对应CFG_VIDEO_IN_OPTIONS) public static final String CFG_CMD_RTSP = "RTSP"; // RTSP的配置( 对应 CFG_RTSP_INFO_IN和CFG_RTSP_INFO_OUT ) public static final String CFG_CMD_RAINBRUSHMODE = "RainBrushMode"; // 雨刷模式相关配置(对应CFG_RAINBRUSHMODE_INFO数组) public static final String CFG_CMD_RAINBRUSH = "RainBrush"; // 雨刷配置(对应CFG_RAINBRUSH_INFO) public static final String CFG_CMD_ENCODE = "Encode"; // 图像通道属性配置(对应CFG_ENCODE_INFO) public static final String CFG_CMD_VIDEOIN_FOCUS = "VideoInFocus"; // 聚焦设置(对应 CFG_VIDEO_IN_FOCUS) public static final String CFG_CMD_VIDEO_IN_ZOOM = "VideoInZoom"; // 云台通道变倍配置(对应CFG_VIDEO_IN_ZOOM) public static final String CFG_CMD_REMOTEDEVICE = "RemoteDevice"; // 远程设备信息(对应 AV_CFG_RemoteDevice 数组, 通道无关) public static final String CFG_CMD_ANALYSESOURCE = "VideoAnalyseSource"; // 视频分析资源配置(对应 CFG_ANALYSESOURCE_INFO) public static final String CFG_CMD_TRAFFICGLOBAL = "TrafficGlobal"; // 智能交通全局配置(CFG_TRAFFICGLOBAL_INFO) public static final String CFG_CMD_RECORDMODE = "RecordMode"; // 录像模式(对应 AV_CFG_RecordMode ) public static final String CFG_CMD_ALARMLAMP = "AlarmLamp"; // 警灯配置(对应 CFG_ALARMLAMP_INFO) public static final String CFG_CMD_ALARMOUT = "AlarmOut"; // 报警输出通道配置(对应 CFG_ALARMOUT_INFO ) public static final String CFG_CMD_INTELLECTIVETRAFFIC = "TrafficSnapshot"; // 智能交通抓拍(对应 CFG_TRAFFICSNAPSHOT_INFO ) public static final String CFG_CMD_TRAFFICSNAPSHOT_MULTI = "TrafficSnapshotNew" ; // 智能交通抓拍( CFG_TRAFFICSNAPSHOT_NEW_INFO ) public static final String CFG_CMD_NTP = "NTP"; // 时间同步服务器(对应 CFG_NTP_INFO ) public static final String CFG_CMD_ALARMINPUT = "Alarm"; // 外部输入报警配置(对应 CFG_ALARMIN_INFO) public static final String CFG_CMD_DVRIP = "DVRIP"; // 网络协议配置(对应 CFG_DVRIP_INFO) public static final String CFG_CMD_NETWORK = "Network"; // 网络配置(对应 CFG_NETWORK_INFO) public static final String CFG_CMD_NASEX = "NAS"; // 网络存储服务器配置, 多服务器(对应 CFG_NAS_INFO_EX) public static final String CFG_CMD_MONITORWALL = "MonitorWall"; // 电视墙配置(对应 AV_CFG_MonitorWall 数组, 通道无关) public static final String CFG_CMD_RTMP = "RTMP"; // RTMP配置(对应 CFG_RTMP_INFO) public static final String CFG_CMD_ACCESS_EVENT = "AccessControl"; // 门禁事件配置(对应 CFG_ACCESS_EVENT_INFO 数组) public static final String CFG_CMD_ACCESSTIMESCHEDULE = "AccessTimeSchedule"; // 门禁刷卡时间段(对应 CFG_ACCESS_TIMESCHEDULE_INFO) public static final String CFG_CMD_DEV_GENERRAL = "General"; // 普通配置 (对应 CFG_DEV_DISPOSITION_INFO) public static final String CFG_CMD_VIDEODIAGNOSIS_PROFILE = "VideoDiagnosisProfile";// 视频诊断参数表(CFG_VIDEODIAGNOSIS_PROFILE) public static final String CFG_CMD_VIDEODIAGNOSIS_TASK = "VideoDiagnosisTask"; // 视频诊断任务表(CFG_VIDEODIAGNOSIS_TASK) public static final String CFG_CMD_VIDEODIAGNOSIS_TASK_ONE = "VideoDiagnosisTask.x"; // 视频诊断任务表(CFG_VIDEODIAGNOSIS_TASK) public static final String CFG_CMD_VIDEODIAGNOSIS_PROJECT = "VideoDiagnosisProject";// 视频诊断计划表(CFG_VIDEODIAGNOSIS_PROJECT) public static final String CFG_CMD_GUIDESCREEN = "GuideScreen"; // 诱导屏系统配置(CFG_GUIDESCREEN_INFO) public static final String CFG_CMD_THERMO_GRAPHY = "ThermographyOptions"; // 热成像摄像头属性配置(CFG_THERMOGRAPHY_INFO) public static final String CFG_CMD_THERMOMETRY_RULE = "ThermometryRule"; // 热成像测温规则配置(对应 CFG_RADIOMETRY_RULE_INFO) public static final String CFG_CMD_TEMP_STATISTICS = "TemperatureStatistics"; // 温度统计配置(CFG_TEMP_STATISTICS_INFO) public static final String CFG_CMD_THERMOMETRY = "HeatImagingThermometry";// 热成像测温全局配置(CFG_THERMOMETRY_INFO) public static final String CFG_CMD_DEVRECORDGROUP = "DevRecordGroup"; // 通道录像组状态(对应 CFG_DEVRECORDGROUP_INFO) public static final String CFG_CMD_STORAGEGROUP = "StorageGroup"; // 存储组信息(对应 AV_CFG_StorageGroup数组, 通道无关) public static final String CFG_CMD_PTZTOUR = "PtzTour"; // 云台巡航路径配置(对应 CFG_PTZTOUR_INFO) public static final String CFG_CMD_PTZ_PRESET = "PtzPreset"; // 云台预置点配置(对应结构 PTZ_PRESET_INFO) public static final String CFG_CMD_VIDEOIN = "VideoIn"; // 输入通道配置(对应 CFG_VIDEO_IN_INFO) public static final String CFG_CMD_CHANNELTITLE = "ChannelTitle"; // 通道名称(对应 AV_CFG_ChannelName) public static final String CFG_CMD_WIFI_SEARCH = "AroudWifiSearch"; // 设备通过Wifi模块扫描周围无线设备配置(CFG_WIFI_SEARCH_INFO) public static final String CFG_CMD_RECORD = "Record"; // 定时录像配置(对应 CFG_RECORD_INFO) public static final String CFG_CMD_SCADA_DEV = "SCADADev"; // 检测采集设备配置(CFG_SCADA_DEV_INFO) public static final String CFG_CMD_ALARM_SHIELD_RULE = "AlarmShieldRule"; // 告警屏蔽规则( CFG_ALARM_SHIELD_RULE_INFO) public static final String CFG_CMD_JUDICATURE = "Judicature"; // 刻录配置(对应 CFG_JUDICATURE_INFO) public static final String CFG_CMD_PTZ = "Ptz"; // 云台配置(对应 CFG_PTZ_INFO) public static final String CFG_CMD_PTZ_AUTO_MOVEMENT = "PtzAutoMovement"; //云台定时动作配置(对应 CFG_PTZ_AUTOMOVE_INFO) public static final String CFG_CMD_OPEN_DOOR_GROUP = "OpenDoorGroup"; // 多人多开门方式组合配置(CFG_OPEN_DOOR_GROUP_INFO) public static final String CFG_CMD_PARKING_SPACE_LIGHT_GROUP= "ParkingSpaceLightGroup";// 车位指示灯本机配置(对应 CFG_PARKING_SPACE_LIGHT_GROUP_INFO_ALL) public static final String CFG_CMD_LIGHT = "Light"; // 灯光设备配置 (对应结构体 CFG_LIGHT_INFO) public static final String CFG_CMD_LIGHTING = "Lighting"; // 灯光设置(CFG_LIGHTING_INFO) public static final String CFG_CMD_COMPOSE_CHANNEL = "ComposeChannel"; // 合成通道配置(对应 CFG_COMPOSE_CHANNEL) public static final String CFG_CMD_PICINPIC = "PicInPic"; // 审讯画中画(对应 CFG_PICINPIC_INFO)改为数组方式,兼容以前单个配置,根据长度区分 public static final String CFG_CMD_IDLEMOTION_INFO = "IdleMotion"; // 空闲动作配置(CFG_IDLE_MOTION_INFO) public static final String CFG_CMD_INFRARED_CONFIG = "InfraredSet"; // 红外功能配置 (对应 CFG_INFRARED_INFO, 手持设备使用) public static final String CFG_CMD_REGULATOR_DETECT ="RegulatorDetect"; // 标准黑体源异常报警,对应结构体 CFG_REGULATOR_DETECT_INFO. 热成像通道有效 public static final String CFG_CMD_RECORD_STORAGEPOINT_EX ="RecordStoragePoint"; // 录像存储点映射配置扩展 (对应 CFG_RECORDTOSTORAGEPOINT_EX_INFO) /** * 扬声器播放能力(CFG_CAP_SPEAK) */ public static final String CFG_CAP_CMD_SPEAK = "speak.getCaps"; // CLIENT_FileTransmit接口传输文件类型 public static final int NET_DEV_BLACKWHITETRANS_START = 0x0003; // 开始发送禁止/允许名单(对应结构体 NETDEV_BLACKWHITE_LIST_INFO) public static final int NET_DEV_BLACKWHITETRANS_SEND = 0x0004; // 发送禁止/允许名单 public static final int NET_DEV_BLACKWHITETRANS_STOP = 0x0005; // 停止发送禁止/允许名单 // 配置类型,对应CLIENT_GetDevConfig和CLIENT_SetDevConfig接口 public static final int NET_DEV_DEVICECFG = 0x0001; // 设备属性配置 public static final int NET_DEV_VIDEO_OSD_CFG = 0x0023; // 视频OSD叠加配置(对应结构体 NET_DVR_VIDEOOSD_CFG) public static final int NET_DEV_NETCFG_EX = 0x005b; // 网络扩展配置(对应结构体 NETDEV_NET_CFG_EX ) public static final int NET_DEV_TIMECFG = 0x0008; // DVR时间配置 public static final int NET_DEV_AUTOMTCFG = 0x000A; // 自动维护配置(对应结构体NETDEV_AUTOMT_CFG) public static final int NET_DEV_ENCLOSURE_CFG = 0x0066; // 电子围栏配置(对应结构体 NETDEV_ENCLOSURE_CFG) public static final int NET_DEV_ENCLOSURE_VERSION_CFG = 0x0067; // 电子围栏版本号配置(对应结构体 NETDEV_ENCLOSURE_VERSION_CFG) public static final int NET_DEV_ENCODER_CFG = 0x0040; // 数字通道的前端编码器信息(混合DVR使用,结构体DEV_ENCODER_CFG) public static final int NET_EM_CFG_RADIO_REGULATOR = 11102; // 人体测温标准黑体配置, 对应结构体 NET_CFG_RADIO_REGULATOR,通道号不能为-1 // 命令类型, 对应 CLIENT_QueryNewSystemInfo 接口 public static final String CFG_CAP_CMD_DEVICE_STATE = "trafficSnap.getDeviceStatus"; // 获取设备状态信息 (对应 CFG_CAP_TRAFFIC_DEVICE_STATUS) public static final String CFG_CAP_CMD_RECORDFINDER = "RecordFinder.getCaps"; // 获取查询记录能力集, (对应结构体 CFG_CAP_RECORDFINDER_INFO) public static final String CFG_CMD_VIDEODIAGNOSIS_GETSTATE = "videoDiagnosisServer.getState"; // 获取视频诊断进行状态(CFG_VIDEODIAGNOSIS_STATE_INFO) public static final String CFG_CAP_CMD_PTZ_ENABLE = "ptz.factory.instance"; // 获取云台支持信息(CFG_CAP_PTZ_ENABLEINFO) // 远程配置结构体相关常量 public static final int NET_MAX_MAIL_ADDR_LEN = 128; // 邮件发(收)地址最大长度 public static final int NET_MAX_MAIL_SUBJECT_LEN = 64; // 邮件主题最大长度 public static final int NET_MAX_IPADDR_LEN = 16; // IP地址字符串长度 public static final int NET_MAX_IPADDR_LEN_EX = 40; // 扩展IP地址字符串长度, 支持IPV6 public static final int NET_USER_NAME_LEN_EX = 32; // 用户名长度,用于新平台扩展 public static final int NET_USER_PSW_LEN_EX = 32; // 用户密码长度,用于新平台扩展 public static final int NET_MAX_DEV_ID_LEN = 48; // 机器编号最大长度 public static final int NET_MAX_HOST_NAMELEN = 64; // 主机名长度, public static final int NET_MAX_HOST_PSWLEN = 32; // 密码长度 public static final int NET_MAX_ETHERNET_NUM = 2; // 以太网口最大个数 public static final int NET_MAX_ETHERNET_NUM_EX = 10; // 扩展以太网口最大个数 public static final int NET_DEV_CLASS_LEN = 16; // 设备类型字符串(如"IPC")长度 public static final int NET_N_WEEKS = 7; // 一周的天数 public static final int NET_N_TSECT = 6; // 通用时间段个数 public static final int NET_N_REC_TSECT = 6; // 录像时间段个数 public static final int NET_N_COL_TSECT = 2; // 颜色时间段个数 public static final int NET_N_ENCODE_AUX = 3; // 扩展码流个数 public static final int NET_N_TALK = 1; // 最多对讲通道个数 public static final int NET_N_COVERS = 1; // 遮挡区域个数 public static final int NET_N_CHANNEL = 16; // 最大通道个数 public static final int NET_N_ALARM_TSECT = 2; // 报警提示时间段个数 public static final int NET_MAX_ALARMOUT_NUM = 16; // 报警输出口个数上限 public static final int NET_MAX_AUDIO_IN_NUM = 16; // 音频输入口个数上限 public static final int NET_MAX_VIDEO_IN_NUM = 16; // 视频输入口个数上限 public static final int NET_MAX_ALARM_IN_NUM = 16; // 报警输入口个数上限 public static final int NET_MAX_DISK_NUM = 16; // 硬盘个数上限,暂定为16 public static final int NET_MAX_DECODER_NUM = 16; // 解码器(485)个数上限 public static final int NET_MAX_232FUNCS = 10; // 232串口功能个数上限 public static final int NET_MAX_232_NUM = 2; // 232串口个数上限 public static final int NET_MAX_232_NUM_EX = 16; // 扩展串口配置个数上限 public static final int NET_MAX_DECPRO_LIST_SIZE = 100; // 解码器协议列表个数上限 public static final int NET_FTP_MAXDIRLEN = 240; // FTP文件目录最大长度 public static final int NET_MATRIX_MAXOUT = 16; // 矩阵输出口最大个数 public static final int NET_TOUR_GROUP_NUM = 6; // 矩阵输出组最大个数 public static final int NET_MAX_DDNS_NUM = 10; // 设备支持的ddns服务器最大个数 public static final int NET_MAX_SERVER_TYPE_LEN = 32; // ddns服务器类型,最大字符串长度 public static final int NET_MAX_DOMAIN_NAME_LEN = 256; // ddns域名,最大字符串长度 public static final int NET_MAX_DDNS_ALIAS_LEN = 32; // ddns服务器别名,最大字符串长度 public static final int NET_MAX_DEFAULT_DOMAIN_LEN = 60; // ddns默认域名,最大字符串长度 public static final int NET_MOTION_ROW = 32; // 动态检测区域的行数 public static final int NET_MOTION_COL = 32; // 动态检测区域的列数 public static final int NET_STATIC_ROW = 32; // 静态检测区域的行数 public static final int NET_STATIC_COL = 32; // 静态检测区域的列数 public static final int NET_FTP_USERNAME_LEN = 64; // FTP配置,用户名最大长度 public static final int NET_FTP_PASSWORD_LEN = 64; // FTP配置,密码最大长度 public static final int NET_TIME_SECTION = 2; // FTP配置,每天时间段个数 public static final int NET_FTP_MAX_PATH = 240; // FTP配置,文件路径名最大长度 public static final int NET_FTP_MAX_SUB_PATH = 128; // FTP配置,文件路径名最大长度 public static final int NET_INTERVIDEO_UCOM_CHANID = 32; // 平台接入配置,U网通通道ID public static final int NET_INTERVIDEO_UCOM_DEVID = 32; // 平台接入配置,U网通设备ID public static final int NET_INTERVIDEO_UCOM_REGPSW = 16; // 平台接入配置,U网通注册密码 public static final int NET_INTERVIDEO_UCOM_USERNAME = 32; // 平台接入配置,U网通用户名 public static final int NET_INTERVIDEO_UCOM_USERPSW = 32; // 平台接入配置,U网通密码 public static final int NET_INTERVIDEO_NSS_IP = 32; // 平台接入配置,力维IP public static final int NET_INTERVIDEO_NSS_SERIAL = 32; // 平台接入配置,力维serial public static final int NET_INTERVIDEO_NSS_USER = 32; // 平台接入配置,力维user public static final int NET_INTERVIDEO_NSS_PWD = 50; // 平台接入配置,力维password public static final int NET_MAX_VIDEO_COVER_NUM = 16; // 遮挡区域最大个数 public static final int NET_MAX_WATERMAKE_DATA = 4096; // 水印图片数据最大长度 public static final int NET_MAX_WATERMAKE_LETTER = 128; // 水印文字最大长度 public static final int NET_MAX_WLANDEVICE_NUM = 10; // 最多搜索出的无线设备个数 public static final int NET_MAX_WLANDEVICE_NUM_EX = 32; // 最多搜索出的无线设备个数 public static final int NET_MAX_ALARM_NAME = 64; // 地址长度 public static final int NET_MAX_REGISTER_SERVER_NUM = 10; // 主动注册服务器个数 public static final int NET_SNIFFER_FRAMEID_NUM = 6; // 6个FRAME ID 选项 public static final int NET_SNIFFER_CONTENT_NUM = 4; // 每个FRAME对应的4个抓包内容 public static final int NET_SNIFFER_CONTENT_NUM_EX = 8; // 每个FRAME对应的8个抓包内容 public static final int NET_SNIFFER_PROTOCOL_SIZE = 20; // 协议名字长度 public static final int NET_MAX_PROTOCOL_NAME_LENGTH = 20; public static final int NET_SNIFFER_GROUP_NUM = 4; // 4组抓包设置 public static final int NET_ALARM_OCCUR_TIME_LEN = 40; // 新的报警上传时间的长度 public static final int NET_VIDEO_OSD_NAME_NUM = 64; // 叠加的名称长度,目前支持32个英文,16个中文 public static final int NET_VIDEO_CUSTOM_OSD_NUM = 8; // 支持的自定义叠加的数目,不包含时间和通道 public static final int NET_VIDEO_CUSTOM_OSD_NUM_EX = 256; // 支持的自定义叠加的数目,不包含时间和通道 public static final int NET_CONTROL_AUTO_REGISTER_NUM = 100; // 支持定向主动注册服务器的个数 public static final int NET_MMS_RECEIVER_NUM = 100; // 支持短信接收者的个数 public static final int NET_MMS_SMSACTIVATION_NUM = 100; // 支持短信发送者的个数 public static final int NET_MMS_DIALINACTIVATION_NUM = 100; // 支持拨号发送者的个数 public static final int NET_MAX_ALARM_IN_NUM_EX = 32; // 报警输入口个数上限 public static final int NET_MAX_IPADDR_OR_DOMAIN_LEN = 64; // IP地址字符串长度 public static final int NET_MAX_CALLID = 32; // 呼叫ID public static final int DH_MAX_OBJECT_NUM = 32; // 最大object个数 public static final int NET_MAX_OBJECT_NUM = 32; // 最大object个数 public static final int NET_MAX_FENCE_LINE_NUM = 2; // 围栏最大曲线数 public static final int MAX_SMART_VALUE_NUM = 30; // 最多的smart信息个数 public static final int NET_INTERVIDEO_AMP_DEVICESERIAL = 48; // 平台接入配置,天地阳光 设备序列号字符串长度 public static final int NET_INTERVIDEO_AMP_DEVICENAME = 16; // 平台接入配置,天地阳光 设备名称字符串长度 public static final int NET_INTERVIDEO_AMP_USER = 32; // 平台接入配置,天地阳光 注册用户名字符串长度 public static final int NET_INTERVIDEO_AMP_PWD = 32; // 平台接入配置,天地阳光 注册密码字符串长度 public static final int MAX_SUBMODULE_NUM = 32; // 最多子模块信息个数 public static final int NET_MAX_CARWAY_NUM = 8; // 交通抓拍,最大车道数 public static final int NET_MAX_SNAP_SIGNAL_NUM = 3; // 一个车道的最大抓拍张数 public static final int NET_MAX_CARD_NUM = 128; // 卡号的最大个数 public static final int NET_MAX_CARDINFO_LEN = 32; // 每条卡号最长字符数 public static final int NET_MAX_CONTROLER_NUM = 64; // 最大支持控制器数目 public static final int NET_MAX_LIGHT_NUM = 32; // 最多控制灯组数 public static final int NET_MAX_SNMP_COMMON_LEN = 64; // snmp 读写数据长度 public static final int NET_MAX_DDNS_STATE_LEN = 128; // DDNS 状态信息长度 public static final int NET_MAX_PHONE_NO_LEN = 16; // 电话号码长度 public static final int NET_MAX_MSGTYPE_LEN = 32; // 导航类型或短信息类型长度 public static final int NET_MAX_MSG_LEN = 256; // 导航和短信息长度 public static final int NET_MAX_GRAB_INTERVAL_NUM = 4; // 多张图片抓拍个数 public static final int NET_MAX_FLASH_NUM = 5; // 最多支持闪光灯个数 public static final int NET_MAX_ISCSI_PATH_NUM = 64; // ISCSI远程目录最大数量 public static final int NET_MAX_WIRELESS_CHN_NUM = 256; // 无线路由最大信道数 public static final int NET_PROTOCOL3_BASE = 100; // 三代协议版本基数 public static final int NET_PROTOCOL3_SUPPORT = 11; // 只支持3代协议 public static final int NET_MAX_STAFF_NUM = 20; // 浓缩视频配置信息中标尺数上限 public static final int NET_MAX_CALIBRATEBOX_NUM = 10; // 浓缩视频配置信息中标定区域数上限 public static final int NET_MAX_EXCLUDEREGION_NUM = 10; // 浓缩视频配置信息中排除区域数上限 public static final int NET_MAX_POLYLINE_NUM = 20; // 浓缩视频配置信息中标尺线数 public static final int NET_MAX_COLOR_NUM = 16; // 最大颜色数目 public static final int MAX_OBJFILTER_NUM = 16; // 最大过滤种类个数 public static final int NET_MAX_SYNOPSIS_STATE_NAME = 64; // 视频浓缩状态字符串长度 public static final int NET_MAX_SYNOPSIS_QUERY_FILE_COUNT = 10; // 视频浓缩相关原始文件按照路径查找时文件个数上限 public static final int NET_MAX_SSID_LEN = 36; // SSID长度 public static final int NET_MAX_APPIN_LEN = 16; // PIN码长度 public static final int NET_NETINTERFACE_NAME_LEN = 260; // 网口名称长度 public static final int NET_NETINTERFACE_TYPE_LEN = 260; // 网络类型长度 public static final int NET_MAX_CONNECT_STATUS_LEN = 260; // 连接状态字符串长度 public static final int NET_MAX_MODE_LEN = 64; // 3G支持的网络模式长度 public static final int NET_MAX_MODE_NUM = 64; // 3G支持的网络模式个数 public static final int NET_MAX_COMPRESSION_TYPES_NUM = 16; // 视频编码格式最多种类个数 public static final int NET_MAX_CAPTURE_SIZE_NUM = 64; // 视频分辨率个数 public static final int NET_NODE_NAME_LEN = 64; // 组织结构节点名称长度 public static final int MAX_CALIBPOINTS_NUM = 256; // 支持最大标定点数 public static final int NET_MAX_ATTR_NUM = 32; // 显示单元属性最大数量 public static final int NET_MAX_CLOUDCONNECT_STATE_LEN = 128; // 云注册连接状态信息长度 public static final int NET_MAX_IPADDR_EX_LEN = 128; // 扩展IP地址最大长度 public static final int MAX_EVENT_NAME = 128; // 最长事件名 public static final int NET_MAX_ETH_NAME = 64; // 最大网卡名 public static final int NET_N_SCHEDULE_TSECT = 8; // 时间表元素个数 public static final int NET_MAX_URL_NUM = 8; // URL最大个数 public static final int NET_MAX_LOWER_MITRIX_NUM = 16; // 最大下位矩阵数 public static final int NET_MAX_BURN_CHANNEL_NUM = 32; // 最大刻录通道数 public static final int NET_MAX_NET_STRORAGE_BLOCK_NUM = 64; // 最大远程存储区块数量 public static final int NET_MAX_CASE_PERSON_NUM = 32; // 案件人员最大数量 public static final int NET_MAX_MULTIPLAYBACK_CHANNEL_NUM = 64; // 最大多通道预览回放通道数 public static final int NET_MAX_MULTIPLAYBACK_SPLIT_NUM = 32; // 最大多通道预览回放分割模式数 public static final int NET_MAX_AUDIO_ENCODE_TYPE = 64; // 最大语音编码类型个数 public static final int MAX_CARD_RECORD_FIELD_NUM = 16; // 卡号录像最大域数量 public static final int NET_BATTERY_NUM_MAX = 16; // 最大电池数量 public static final int NET_POWER_NUM_MAX = 16; // 最大电源数量 public static final int NET_MAX_AUDIO_PATH = 260; // 最大音频文件路长度 public static final int NET_MAX_DOORNAME_LEN = 128; // 最大门禁名称长度 public static final int NET_MAX_CARDPWD_LEN = 64; // 最大门禁名称长度 public static final int NET_MAX_FISHEYE_MOUNTMODE_NUM = 4; // 最大鱼眼安装模式个数 public static final int NET_MAX_FISHEYE_CALIBRATEMODE_NUM = 16; // 最大鱼眼矫正模式个数 public static final int NET_MAX_FISHEYE_EPTZCMD_NUM = 64; // 最大鱼眼电子云台操作个数 public static final int POINT_NUM_IN_PAIR = 2; // 标定点对中的点数量 public static final int MAX_POINT_PAIR_NUM = 128; // 标定点最大数量 public static final int CHANNEL_NUM_IN_POINT_GROUP = 2; // 标定点中的视频通道数 public static final int MAX_POINT_GROUP_NUM = 32; // 标定点组最大数量, 每两个通道进行拼接需要一组标定点 public static final int MAX_LANE_INFO_NUM = 32; // 最大车道信息数 public static final int MAX_LANE_DIRECTION_NUM = 8; // 车道方向总数 public static final int NET_MAX_MONITORWALL_NUM = 32; // 电视墙最大数量 public static final int NET_MAX_OPTIONAL_URL_NUM = 8; // 备用url最大数量 public static final int NET_MAX_CAMERA_CHANNEL_NUM = 1024; // 最大摄像机通道数 public static final int MAX_FILE_SUMMARY_NUM = 32; // 最大文件摘要数 public static final int MAX_AUDIO_ENCODE_NUM = 64; // 最大支持音频编码个数 public static final int MAX_FLASH_LIGHT_NUM = 8; // 最大支持的爆闪灯(闪光灯)个数 public static final int MAX_STROBOSCOPIC_LIGHT_NUM = 8; // 最大支持的频闪灯个数 public static final int MAX_MOSAIC_NUM = 8; // 最大支持的马赛克数量 public static final int MAX_MOSAIC_CHANNEL_NUM = 256; // 支持马赛克叠加的最多通道数量 public static final int MAX_FIREWARNING_INFO_NUM = 4; // 最大热成像着火点报警信息个数 public static final int MAX_AXLE_NUM = 8; // 最大车轴数量 public static final int MAX_ACCESSDOOR_NUM = 128; // 最大门数量 public static final int MAX_SIMILARITY_COUNT = 1024; // 最大人脸对比库阈值个数 public static final int MAX_FEATURESTATE_NUM = 4; // 最大人脸组建模状态个数 public static final int NET_MAX_BULLET_HOLES = 10; // 最大的弹孔数 public static final int MAX_NTP_SERVER = 4; // 最大备用NTP服务器地址 public static final int MAX_PLATE_NUM = 64; // 每张图片中包含的最大车牌个数 public static final int MAX_PREVIEW_CHANNEL_NUM = 64; // 最大导播预览的通道数量 public static final int MAX_ADDRESS_LEN = 256; // 最大的地址长度 public static final int MAX_DNS_SERVER_NUM = 2; // DNS最大数量 public static final int MAX_NETWORK_INTERFACE_NUM = 32; // 最大网卡数量 public static final int MAX_EVENT_RESTORE_UUID = 36; // 事件重传uuid数组大小 public static final int MAX_EVENT_RESTORE_CODE_NUM = 8; // 最大事件重传类型个数 public static final int MAX_EVENT_RESOTER_CODE_TYPE = 32; // 事件重传类型数组大小 public static final int MAX_SNAP_TYPE = 3; // 抓图类型数量 public static final int MAX_MAINFORMAT_NUM = 4; // 最大支持主码流类型数量 public static final int CUSTOM_TITLE_LEN = 1024; // 自定义标题名称长度(扩充到1024) public static final int MAX_CUSTOM_TITLE_NUM = 8; // 编码物件自定义标题最大数量 public static final int FORMAT_TYPE_LEN = 16; // 编码类型名最大长度 public static final int MAX_CHANNEL_NAME_LEN = 256; // 通道名称最大长度 public static final int MAX_VIRTUALINFO_DOMAIN_LEN = 64; // 虚拟身份上网域名长度 public static final int MAX_VIRTUALINFO_TITLE_LEN = 64; // 虚拟身份上网标题长度 public static final int MAX_VIRTUALINFO_USERNAME_LEN = 32; // 虚拟身份用户名长度 public static final int MAX_VIRTUALINFO_PASSWORD_LEN = 32; // 虚拟身份密码长度 public static final int MAX_VIRTUALINFO_PHONENUM_LEN = 12; // 虚拟身份手机号长度 public static final int MAX_VIRTUALINFO_IMEI_LEN = 16; // 虚拟身份国际移动设备标识长度 public static final int MAX_VIRTUALINFO_IMSI_LEN = 16; // 虚拟身份国际移动用户识别码长度 public static final int MAX_VIRTUALINFO_LATITUDE_LEN = 16; // 虚拟身份经度长度 public static final int MAX_VIRTUALINFO_LONGITUDE_LEN = 16; // 虚拟身份纬度长度 public static final int MAX_VIRTUALINFO_NUM = 1024; // 最大虚拟身份信息个数 public static final int MAX_SCREENTIME_COUNT = 8; // 诱导屏最大开关屏时间个数 public static final int MAX_PLAYDATES_COUNT = 32; // 最大日期个数 public static final int MAX_ELEMENTS_COUNT = 8; // 诱导屏窗口支持的最大元素个数 public static final int MAX_ELEMENTTEXT_LENGTH = 512; // 文本元素最大文本长度 public static final int MAX_NOTE_COUNT = 4; // 诱导屏窗口元素注释信息最大个数 public static final int MAX_PROGRAMMES_COUNT = 32; // 最多支持的节目个数 public static final int MAX_CALL_ID_LEN = 64; // 呼叫ID长度 public static final int MAX_GD_COUNT = 170; public static final int MAX_SUNTIME_COUNT = 12; // 日出日落时间个数 public static final int MAX_DOOR_TIME_SECTION = 4; // 门禁每天分时时间段最大个数 public static final int MAX_SCADA_POINT_LIST_INDEX = 8; // 最大SCADADev配置下标个数, 即最大通道 public static final int MAX_SCADA_YX_NUM = 128; // 最大遥信个数 public static final int MAX_SCADA_YC_NUM = 128; // 最大遥测个数 public static final int MAX_SCADA_POINT_INFO_NUM = 8; // 最大点表个数 public static final int MAX_NET_SCADA_CAPS_TYPE = 16; public static final int MAX_NET_SCADA_CAPS_NAME = 16; public static final int MAX_SCADA_ID_NUM = 1024; // 监测点位id的最大个数 public static final int MAX_SCADA_ID_OF_SENSOR_NUM = 128; // 最大检测点位ID个数 public static final int MAX_REMOTEDEVICEINFO_IPADDR_LEN = 128; // 远程设备IP地址最大长度 public static final int MAX_REMOTEDEVICEINFO_USERNAME_LEN = 128; // 远程设备用户名最大长度 public static final int MAX_REMOTEDEVICEINFO_USERPSW_LENGTH = 128; // 远程设备密码最大长度 public static final int MAX_MANUFACTURER_LEN = 32; // 最大的 MAC地址所属制造商长度 public static final int MAX_MACHISTORY_SSID_LEN = 24; // 最大的历史SSID长度 public static final int MAX_MACHISTORY_SSID_NUM = 5; // 历史SSID的最大个数 public static final int CFG_MAX_SN_LEN = 32; // 最大设备序列号长度 public static final int CFG_MAX_ACCESS_CONTROL_ADDRESS_LEN = 64; // 最大的地址长度 public static final int MAX_MACADDR_NUM = 8; // 最大物理地址个数 public static final int MAX_ADD_DEVICE_NUM = 16; // 最大添加设备个数 public static final int MAX_LINK_DEVICE_NUM = 1024; // 最大连接设备个数 public static final int MAX_DEVICE_CHANNEL_NUM = 1024; // 设备最大通道个数 public static final int NET_CFG_MAX_CTRLTYPE_NUM = 16; // 最大道闸控制方式 public static final int NET_MAX_ALL_SNAP_CAR_COUNT = 32; // 所有车开闸种类个数 public static final int NET_MAX_BURNING_DEV_NUM = 32; // 最大刻录设备个数 public static final int NET_BURNING_DEV_NAMELEN = 32; // 刻录设备名字最大长度 public static final int PTZ_PRESET_NAME_LEN = 64; // 云台预置点名称长度 public static final int NET_RADIOMETRY_DOFIND_MAX = 32; // 热成像温度统计最大个数 public static final int CFG_MAX_PTZTOUR_NUM = 64; // 巡航路径数量 public static final int CFG_MAX_PTZTOUR_PRESET_NUM = 64; // 巡航路径包含的预置点数量 public static final int MAX_PTZ_PRESET_NAME_LEN = 64; // 云台预置点名称长度 public static final int MAX_COMPANY_NAME_LEN = 200; // 单位名称最大长度 public static final int NET_MAX_PLAYAUDIO_COUNT = 16; // 最大播报内容数目 public static final int MAX_TARGET_OBJECT_NUM = 100; // 最大目标物体信息个数 public static final int MAX_CROWD_DETECTION_NAME_LEN = 128; // 最大人群密度检测事件名称长度 public static final int MAX_CROWD_LIST_NUM = 5; // 最大全局拥挤人群密度列表个数 public static final int MAX_REGION_LIST_NUM = 8; // 最大人数超限的报警区域ID列表个数 public static final int MAX_CROWD_RECT_LIST = 5; // 矩形描述信息的最大个数 public static final int RECT_POINT = 2; // 表示矩形的2个点(左上角与右下角) public static final int MAX_OBJECT_NUM = 32; // 最大物体个数 // 查询类型,对应CLIENT_QueryDevState接口 public static final int NET_DEVSTATE_COMM_ALARM = 0x0001; // 查询普通报警状态(包括外部报警,视频丢失,动态检测) public static final int NET_DEVSTATE_SHELTER_ALARM = 0x0002; // 查询遮挡报警状态 public static final int NET_DEVSTATE_RECORDING = 0x0003; // 查询录象状态 public static final int NET_DEVSTATE_DISK = 0x0004; // 查询硬盘信息 public static final int NET_DEVSTATE_RESOURCE = 0x0005; // 查询系统资源状态 public static final int NET_DEVSTATE_BITRATE = 0x0006; // 查询通道码流 public static final int NET_DEVSTATE_CONN = 0x0007; // 查询设备连接状态 public static final int NET_DEVSTATE_PROTOCAL_VER = 0x0008; // 查询网络协议版本号,pBuf = int* public static final int NET_DEVSTATE_TALK_ECTYPE = 0x0009; // 查询设备支持的语音对讲格式列表,见结构体NETDEV_TALKFORMAT_LIST public static final int NET_DEVSTATE_SD_CARD = 0x000A; // 查询SD卡信息(IPC类产品) public static final int NET_DEVSTATE_BURNING_DEV = 0x000B; // 查询刻录机信息,见结构体NET_BURNING_DEVINFO public static final int NET_DEVSTATE_BURNING_PROGRESS = 0x000C; // 查询刻录进度 public static final int NET_DEVSTATE_PLATFORM = 0x000D; // 查询设备支持的接入平台 public static final int NET_DEVSTATE_CAMERA = 0x000E; // 查询摄像头属性信息(IPC类产品),pBuf = NETDEV_CAMERA_INFO *,可以有多个结构体 public static final int NET_DEVSTATE_SOFTWARE = 0x000F; // 查询设备软件版本信息 NETDEV_VERSION_INFO public static final int NET_DEVSTATE_LANGUAGE = 0x0010; // 查询设备支持的语音种类 public static final int NET_DEVSTATE_DSP = 0x0011; // 查询DSP能力描述(对应结构体NET_DEV_DSP_ENCODECAP) public static final int NET_DEVSTATE_OEM = 0x0012; // 查询OEM信息 public static final int NET_DEVSTATE_NET = 0x0013; // 查询网络运行状态信息 public static final int NET_DEVSTATE_TYPE = 0x0014; // 查询设备类型 public static final int NET_DEVSTATE_SNAP = 0x0015; // 查询功能属性(IPC类产品) public static final int NET_DEVSTATE_RECORD_TIME = 0x0016; // 查询最早录像时间和最近录像时间 public static final int NET_DEVSTATE_NET_RSSI = 0x0017; // 查询无线网络信号强度,见结构体NETDEV_WIRELESS_RSS_INFO public static final int NET_DEVSTATE_BURNING_ATTACH = 0x0018; // 查询附件刻录选项 public static final int NET_DEVSTATE_BACKUP_DEV = 0x0019; // 查询备份设备列表 public static final int NET_DEVSTATE_BACKUP_DEV_INFO = 0x001a; // 查询备份设备详细信息 NETDEV_BACKUP_INFO public static final int NET_DEVSTATE_BACKUP_FEEDBACK = 0x001b; // 备份进度反馈 public static final int NET_DEVSTATE_ATM_QUERY_TRADE = 0x001c; // 查询ATM交易类型 public static final int NET_DEVSTATE_SIP = 0x001d; // 查询sip状态 public static final int NET_DEVSTATE_VICHILE_STATE = 0x001e; // 查询车载wifi状态 public static final int NET_DEVSTATE_TEST_EMAIL = 0x001f; // 查询邮件配置是否成功 public static final int NET_DEVSTATE_SMART_HARD_DISK = 0x0020; // 查询硬盘smart信息 ,(见结构体 DHDEV_SMART_HARDDISK) public static final int NET_DEVSTATE_TEST_SNAPPICTURE = 0x0021; // 查询抓图设置是否成功 public static final int NET_DEVSTATE_STATIC_ALARM = 0x0022; // 查询静态报警状态 public static final int NET_DEVSTATE_SUBMODULE_INFO = 0x0023; // 查询设备子模块信息 public static final int NET_DEVSTATE_DISKDAMAGE = 0x0024; // 查询硬盘坏道能力 public static final int NET_DEVSTATE_IPC = 0x0025; // 查询设备支持的IPC能力, 见结构体NET_DEV_IPC_INFO public static final int NET_DEVSTATE_ALARM_ARM_DISARM = 0x0026; // 查询报警布撤防状态 public static final int NET_DEVSTATE_ACC_POWEROFF_ALARM = 0x0027; // 查询ACC断电报警状态(返回一个DWORD, 1表示断电,0表示通电) public static final int NET_DEVSTATE_TEST_FTP_SERVER = 0x0028; // 测试FTP服务器连接 public static final int NET_DEVSTATE_3GFLOW_EXCEED = 0x0029; // 查询3G流量超出阈值状态,(见结构体 NETDEV_3GFLOW_EXCEED_STATE_INFO) public static final int NET_DEVSTATE_3GFLOW_INFO = 0x002a; // 查询3G网络流量信息,见结构体 NET_DEV_3GFLOW_INFO public static final int NET_DEVSTATE_VIHICLE_INFO_UPLOAD = 0x002b; // 车载自定义信息上传(见结构体 ALARM_VEHICLE_INFO_UPLOAD) public static final int NET_DEVSTATE_SPEED_LIMIT = 0x002c; // 查询限速报警状态(见结构体ALARM_SPEED_LIMIT) public static final int NET_DEVSTATE_DSP_EX = 0x002d; // 查询DSP扩展能力描述(对应结构体 NET_DEV_DSP_ENCODECAP_EX) public static final int NET_DEVSTATE_3GMODULE_INFO = 0x002e; // 查询3G模块信息(对应结构体NET_DEV_3GMODULE_INFO) public static final int NET_DEVSTATE_MULTI_DDNS = 0x002f; // 查询多DDNS状态信息(对应结构体NET_DEV_MULTI_DDNS_INFO) public static final int NET_DEVSTATE_CONFIG_URL = 0x0030; // 查询设备配置URL信息(对应结构体NET_DEV_URL_INFO) public static final int NET_DEVSTATE_HARDKEY = 0x0031; // 查询HardKey状态(对应结构体NETDEV_HARDKEY_STATE) public static final int NET_DEVSTATE_ISCSI_PATH = 0x0032; // 查询ISCSI路径列表(对应结构体NETDEV_ISCSI_PATHLIST) public static final int NET_DEVSTATE_DLPREVIEW_SLIPT_CAP = 0x0033; // 查询设备本地预览支持的分割模式(对应结构体DEVICE_LOCALPREVIEW_SLIPT_CAP) public static final int NET_DEVSTATE_WIFI_ROUTE_CAP = 0x0034; // 查询无线路由能力信息(对应结构体NETDEV_WIFI_ROUTE_CAP) public static final int NET_DEVSTATE_ONLINE = 0x0035; // 查询设备的在线状态(返回一个DWORD, 1表示在线, 0表示断线) public static final int NET_DEVSTATE_PTZ_LOCATION = 0x0036; // 查询云台状态信息(对应结构体 NET_PTZ_LOCATION_INFO) public static final int NET_DEVSTATE_MONITOR_INFO = 0x0037; // 画面监控辅助信息(对应结构体NETDEV_MONITOR_INFO) public static final int NET_DEVSTATE_SUBDEVICE = 0x0300; // 查询子设备(电源, 风扇等)状态(对应结构体CFG_DEVICESTATUS_INFO) public static final int NET_DEVSTATE_RAID_INFO = 0x0038; // 查询RAID状态(对应结构体ALARM_RAID_INFO) public static final int NET_DEVSTATE_TEST_DDNSDOMAIN = 0x0039; // 测试DDNS域名是否可用 public static final int NET_DEVSTATE_VIRTUALCAMERA = 0x003a; // 查询虚拟摄像头状态(对应 NETDEV_VIRTUALCAMERA_STATE_INFO) public static final int NET_DEVSTATE_TRAFFICWORKSTATE = 0x003b; // 获取设备工作视频/线圈模式状态等(对应NETDEV_TRAFFICWORKSTATE_INFO) public static final int NET_DEVSTATE_ALARM_CAMERA_MOVE = 0x003c; // 获取摄像机移位报警事件状态(对应ALARM_CAMERA_MOVE_INFO) public static final int NET_DEVSTATE_ALARM = 0x003e; // 获取外部报警状态(对应 NET_CLIENT_ALARM_STATE) public static final int NET_DEVSTATE_VIDEOLOST = 0x003f; // 获取视频丢失报警状态(对应 NET_CLIENT_VIDEOLOST_STATE) public static final int NET_DEVSTATE_MOTIONDETECT = 0x0040; // 获取动态监测报警状态(对应 NET_CLIENT_MOTIONDETECT_STATE) public static final int NET_DEVSTATE_DETAILEDMOTION = 0x0041; // 获取详细的动态监测报警状态(对应 NET_CLIENT_DETAILEDMOTION_STATE) public static final int NET_DEVSTATE_VEHICLE_INFO = 0x0042; // 获取车载自身各种硬件信息(对应 NETDEV_VEHICLE_INFO) public static final int NET_DEVSTATE_VIDEOBLIND = 0x0043; // 获取视频遮挡报警状态(对应 NET_CLIENT_VIDEOBLIND_STATE) public static final int NET_DEVSTATE_3GSTATE_INFO = 0x0044; // 查询3G模块相关信息(对应结构体NETDEV_VEHICLE_3GMODULE) public static final int NET_DEVSTATE_NETINTERFACE = 0x0045; // 查询网络接口信息(对应 NETDEV_NETINTERFACE_INFO) public static final int NET_DEVSTATE_PICINPIC_CHN = 0x0046; // 查询画中画通道号(对应DWORD数组) public static final int NET_DEVSTATE_COMPOSITE_CHN = 0x0047; // 查询融合屏通道信息(对应 NET_COMPOSITE_CHANNEL数组) public static final int NET_DEVSTATE_WHOLE_RECORDING = 0x0048; // 查询设备整体录像状态(对应BOOL), 只要有一个通道在录像,即为设备整体状态为录像 public static final int NET_DEVSTATE_WHOLE_ENCODING = 0x0049; // 查询设备整体编码状态(对应BOOL), 只要有一个通道在编码,即为设备整体状态为编码 public static final int NET_DEVSTATE_DISK_RECORDE_TIME = 0x004a; // 查询设备硬盘录像时间信息(pBuf = DEV_DISK_RECORD_TIME*,可以有多个结构体) public static final int NET_DEVSTATE_BURNER_DOOR = 0x004b; // 是否已弹出刻录机光驱门(对应结构体 NET_DEVSTATE_BURNERDOOR) public static final int NET_DEVSTATE_GET_DATA_CHECK = 0x004c; // 查询光盘数据校验进度(对应 NET_DEVSTATE_DATA_CHECK) public static final int NET_DEVSTATE_ALARM_IN_CHANNEL = 0x004f; // 查询报警输入通道信息(对应NET_ALARM_IN_CHANNEL数组) public static final int NET_DEVSTATE_ALARM_CHN_COUNT = 0x0050; // 查询报警通道数(对应NET_ALARM_CHANNEL_COUNT) public static final int NET_DEVSTATE_PTZ_VIEW_RANGE = 0x0051; // 查询云台可视域状态(对应 NET_OUT_PTZ_VIEW_RANGE_STATUS ) public static final int NET_DEVSTATE_DEV_CHN_COUNT = 0x0052; // 查询设备通道信息(对应NET_DEV_CHN_COUNT_INFO) public static final int NET_DEVSTATE_RTSP_URL = 0x0053; // 查询设备支持的RTSP URL列表,见结构体DEV_RTSPURL_LIST public static final int NET_DEVSTATE_LIMIT_LOGIN_TIME = 0x0054; // 查询设备登录的在线超时时间,返回一个BTYE,(单位:分钟) ,0表示不限制,非零正整数表示限制的分钟数 public static final int NET_DEVSTATE_GET_COMM_COUNT = 0x0055; // 获取串口数 见结构体NET_GET_COMM_COUNT public static final int NET_DEVSTATE_RECORDING_DETAIL = 0x0056; // 查询录象状态详细信息(pBuf = NET_RECORD_STATE_DETAIL*) public static final int NET_DEVSTATE_PTZ_PRESET_LIST = 0x0057; // 获取当前云台的预置点列表(对应结构NET_PTZ_PRESET_LIST) public static final int NET_DEVSTATE_EXTERNAL_DEVICE = 0x0058; // 外接设备信息(pBuf = NET_EXTERNAL_DEVICE*) public static final int NET_DEVSTATE_GET_UPGRADE_STATE = 0x0059; // 获取设备升级状态(对应结构 NETDEV_UPGRADE_STATE_INFO) public static final int NET_DEVSTATE_MULTIPLAYBACK_SPLIT_CAP = 0x005a; // 获取多通道预览分割能力( 对应结构体 NET_MULTIPLAYBACK_SPLIT_CAP ) public static final int NET_DEVSTATE_BURN_SESSION_NUM = 0x005b; // 获取刻录会话总数(pBuf = int*) public static final int NET_DEVSTATE_PROTECTIVE_CAPSULE = 0X005c; // 查询防护舱状态(对应结构体ALARM_PROTECTIVE_CAPSULE_INFO) public static final int NET_DEVSTATE_GET_DOORWORK_MODE = 0X005d; // 获取门锁控制模式( 对应 NET_GET_DOORWORK_MODE) public static final int NET_DEVSTATE_PTZ_ZOOM_INFO = 0x005e; // 查询云台获取光学变倍信息(对应 NET_OUT_PTZ_ZOOM_INFO ) public static final int NET_DEVSTATE_POWER_STATE = 0x0152; // 查询电源状态(对应结构体NET_POWER_STATUS) public static final int NET_DEVSTATE_ALL_ALARM_CHANNELS_STATE = 0x153; // 查询报警通道状态(对应结构体 NET_CLIENT_ALARM_CHANNELS_STATE) public static final int NET_DEVSTATE_ALARMKEYBOARD_COUNT = 0x0154; // 查询串口上连接的报警键盘数(对应结构体NET_ALARMKEYBOARD_COUNT) public static final int NET_DEVSTATE_EXALARMCHANNELS = 0x0155; // 查询扩展报警模块通道映射关系(对应结构体 NET_EXALARMCHANNELS) public static final int NET_DEVSTATE_GET_BYPASS = 0x0156; // 查询通道旁路状态(对应结构体 NET_DEVSTATE_GET_BYPASS) public static final int NET_DEVSTATE_ACTIVATEDDEFENCEAREA = 0x0157; // 获取激活的防区信息(对应结构体 NET_ACTIVATEDDEFENCEAREA) public static final int NET_DEVSTATE_DEV_RECORDSET = 0x0158; // 查询设备记录集信息(对应 NET_CTRL_RECORDSET_PARAM) public static final int NET_DEVSTATE_DOOR_STATE = 0x0159; // 查询门禁状态(对应NET_DOOR_STATUS_INFO) public static final int NET_DEVSTATE_ANALOGALARM_CHANNELS = 0x1560; // 模拟量报警输入通道映射关系(对应NET_ANALOGALARM_CHANNELS) public static final int NET_DEVSTATE_GET_SENSORLIST = 0x1561; // 获取设备支持的传感器列表(对应 NET_SENSOR_LIST) public static final int NET_DEVSTATE_ALARM_CHANNELS = 0x1562; // 查询开关量报警模块通道映射关系(对应结构体 NET_ALARM_CHANNELS) // 如果设备不支持查询扩展报警模块通道,可以用该功能查询扩展通道的逻辑通道号,并当做本地报警通道使用 public static final int NET_DEVSTATE_GET_ALARM_SUBSYSTEM_ACTIVATESTATUS = 0x1563; // 获取当前子系统启用状态( 对应 NET_GET_ALARM_SUBSYSTEM_ACTIVATE_STATUES) public static final int NET_DEVSTATE_AIRCONDITION_STATE = 0x1564; // 获取空调工作状态(对应 NET_GET_AIRCONDITION_STATE) public static final int NET_DEVSTATE_ALARMSUBSYSTEM_STATE = 0x1565; // 获取子系统状态(对应NET_ALARM_SUBSYSTEM_STATE) public static final int NET_DEVSTATE_ALARM_FAULT_STATE = 0x1566; // 获取故障状态(对应 NET_ALARM_FAULT_STATE_INFO) public static final int NET_DEVSTATE_DEFENCE_STATE = 0x1567; // 获取防区状态(对应 NET_DEFENCE_STATE_INFO, 和旁路状态变化事件、本地报警事件、报警信号源事件的状态描述有区别,不能混用,仅个别设备使用) public static final int NET_DEVSTATE_CLUSTER_STATE = 0x1568; // 获取集群状态(对应 NET_CLUSTER_STATE_INFO) public static final int NET_DEVSTATE_SCADA_POINT_LIST = 0x1569; // 获取点位表路径信息(对应 NET_SCADA_POINT_LIST_INFO) public static final int NET_DEVSTATE_SCADA_INFO = 0x156a; // 获取监测点位信息(对应 NET_SCADA_INFO) public static final int NET_DEVSTATE_SCADA_CAPS = 0X156b; // 获取SCADA能力集(对应 NET_SCADA_CAPS) public static final int NET_DEVSTATE_GET_CODEID_COUNT = 0x156c; // 获取对码成功的总条数(对应 NET_GET_CODEID_COUNT) public static final int NET_DEVSTATE_GET_CODEID_LIST = 0x156d; // 查询对码信息(对应 NET_GET_CODEID_LIST) public static final int NET_DEVSTATE_ANALOGALARM_DATA = 0x156e; // 查询模拟量通道数据(对应 NET_GET_ANALOGALARM_DATA) public static final int NET_DEVSTATE_VTP_CALLSTATE = 0x156f; // 获取视频电话呼叫状态(对应 NET_GET_VTP_CALLSTATE) public static final int NET_DEVSTATE_SCADA_INFO_BY_ID = 0x1570; // 通过设备、获取监测点位信息(对应 NET_SCADA_INFO_BY_ID) public static final int NET_DEVSTATE_SCADA_DEVICE_LIST = 0x1571; // 获取当前主机所接入的外部设备ID(对应 NET_SCADA_DEVICE_LIST) public static final int NET_DEVSTATE_DEV_RECORDSET_EX = 0x1572; // 查询设备记录集信息(带二进制数据)(对应NET_CTRL_RECORDSET_PARAM) public static final int NET_DEVSTATE_ACCESS_LOCK_VER = 0x1573; // 获取门锁软件版本号(对应 NET_ACCESS_LOCK_VER) public static final int NET_DEVSTATE_MONITORWALL_TVINFO = 0x1574; // 获取电视墙显示信息(对应 NET_CTRL_MONITORWALL_TVINFO) public static final int NET_DEVSTATE_GET_ALL_POS = 0x1575; // 获取所有用户可用Pos设备配置信息(对应 NET_POS_ALL_INFO) public static final int NET_DEVSTATE_GET_ROAD_LIST = 0x1576; // 获取城市及路段编码信息(对应 NET_ROAD_LIST_INFO) public static final int NET_DEVSTATE_GET_HEAT_MAP = 0x1577; // 获取热度统计信息(对应 NET_QUERY_HEAT_MAP) public static final int NET_DEVSTATE_GET_WORK_STATE = 0x1578; // 获取盒子工作状态信息(对应 NET_QUERY_WORK_STATE ) public static final int NET_DEVSTATE_GET_WIRESSLESS_STATE = 0x1579; // 获取无线设备状态信息(对应 NET_GET_WIRELESS_DEVICE_STATE) public static final int NET_DEVSTATE_GET_REDUNDANCE_POWER_INFO = 0x157a; // 获取冗余电源信息(对应 NET_GET_REDUNDANCE_POWER_INFO) public static final int NET_DEVSTATE_GET_ACCESSORY_INFO =0x157e; // 获取配件信息(对应 NET_GET_ACCESSORY_INFO) // 查询设备信息类型, 对应接口 CLIENT_QueryDevInfo // 设备信息类型,对应CLIENT_QueryDevInfo接口 public static final int NET_QUERY_DEV_STORAGE_NAMES = 0x01; // 查询设备的存储模块名列表 , pInBuf=NET_IN_STORAGE_DEV_NAMES *, pOutBuf=NET_OUT_STORAGE_DEV_NAMES * public static final int NET_QUERY_DEV_STORAGE_INFOS = 0x02; // 查询设备的存储模块信息列表, pInBuf=NET_IN_STORAGE_DEV_INFOS*, pOutBuf= NET_OUT_STORAGE_DEV_INFOS * public static final int NET_QUERY_RECENCY_JNNCTION_CAR_INFO = 0x03; // 查询最近的卡口车辆信息接口, pInBuf=NET_IN_GET_RECENCY_JUNCTION_CAR_INFO*, pOutBuf=NET_OUT_GET_RECENCY_JUNCTION_CAR_INFO* public static final int NET_QUERY_LANES_STATE = 0x04; // 查询车道信息,pInBuf = NET_IN_GET_LANES_STATE , pOutBuf = NET_OUT_GET_LANES_STATE public static final int NET_QUERY_DEV_FISHEYE_WININFO = 0x05; // 查询鱼眼窗口信息 , pInBuf= NET_IN_FISHEYE_WININFO*, pOutBuf=NET_OUT_FISHEYE_WININFO * public static final int NET_QUERY_DEV_REMOTE_DEVICE_INFO = 0x06;; // 查询远程设备信息 , pInBuf= NET_IN_GET_DEVICE_INFO*, pOutBuf= NET_OUT_GET_DEVICE_INFO * public static final int NET_QUERY_SYSTEM_INFO = 0x07; // 查询设备系统信息 , pInBuf= NET_IN_SYSTEM_INFO*, pOutBuf= NET_OUT_SYSTEM_INFO* public static final int NET_QUERY_REG_DEVICE_NET_INFO = 0x08; // 查询主动注册设备的网络连接 , pInBuf=NET_IN_REGDEV_NET_INFO * , pOutBuf=NET_OUT_REGDEV_NET_INFO * public static final int NET_QUERY_DEV_THERMO_GRAPHY_PRESET = 0x09; // 查询热成像预设信息 , pInBuf= NET_IN_THERMO_GET_PRESETINFO*, pOutBuf= NET_OUT_THERMO_GET_PRESETINFO * public static final int NET_QUERY_DEV_THERMO_GRAPHY_OPTREGION = 0x0a; // 查询热成像感兴趣区域信息,pInBuf= NET_IN_THERMO_GET_OPTREGION*, pOutBuf= NET_OUT_THERMO_GET_OPTREGION * public static final int NET_QUERY_DEV_THERMO_GRAPHY_EXTSYSINFO = 0x0b; // 查询热成像外部系统信息, pInBuf= NET_IN_THERMO_GET_EXTSYSINFO*, pOutBuf= NET_OUT_THERMO_GET_EXTSYSINFO * public static final int NET_QUERY_DEV_RADIOMETRY_POINT_TEMPER = 0x0c; // 查询测温点的参数值, pInBuf= NET_IN_RADIOMETRY_GETPOINTTEMPER*, pOutBuf= NET_OUT_RADIOMETRY_GETPOINTTEMPER * public static final int NET_QUERY_DEV_RADIOMETRY_TEMPER = 0x0d; // 查询测温项的参数值, pInBuf= NET_IN_RADIOMETRY_GETTEMPER*, pOutBuf= NET_OUT_RADIOMETRY_GETTEMPER * public static final int NET_QUERY_GET_CAMERA_STATE = 0x0e; // 获取摄像机状态, pInBuf= NET_IN_GET_CAMERA_STATEINFO*, pOutBuf= NET_OUT_GET_CAMERA_STATEINFO * public static final int NET_QUERY_GET_REMOTE_CHANNEL_AUDIO_ENCODE = 0x0f; // 获取远程通道音频编码方式, pInBuf= NET_IN_GET_REMOTE_CHANNEL_AUDIO_ENCODEINFO*, pOutBuf= NET_OUT_GET_REMOTE_CHANNEL_AUDIO_ENCODEINFO * public static final int NET_QUERY_GET_COMM_PORT_INFO = 0x10; // 获取设备串口信息, pInBuf=NET_IN_GET_COMM_PORT_INFO* , pOutBuf=NET_OUT_GET_COMM_PORT_INFO* public static final int NET_QUERY_GET_LINKCHANNELS = 0x11; // 查询某视频通道的关联通道列表,pInBuf=NET_IN_GET_LINKCHANNELS* , pOutBuf=NET_OUT_GET_LINKCHANNELS* public static final int NET_QUERY_GET_VIDEOOUTPUTCHANNELS = 0x12; // 获取解码通道数量统计信息, pInBuf=NET_IN_GET_VIDEOOUTPUTCHANNELS*, pOutBuf=NET_OUT_GET_VIDEOOUTPUTCHANNELS* public static final int NET_QUERY_GET_VIDEOINFO = 0x13; // 获取解码通道信息, pInBuf=NET_IN_GET_VIDEOINFO*, pOutBuf=NET_OUT_GET_VIDEOINFO* public static final int NET_QUERY_GET_ALLLINKCHANNELS = 0x14; // 查询全部视频关联通道列表,pInBuf=NET_IN_GET_ALLLINKCHANNELS* , pOutBuf=NET_OUT_GET_ALLLINKCHANNELS* public static final int NET_QUERY_VIDEOCHANNELSINFO = 0x15; // 查询视频通道信息,pInBuf=NET_IN_GET_VIDEOCHANNELSINFO* , pOutBuf=NET_OUT_GET_VIDEOCHANNELSINFO* public static final int NET_QUERY_TRAFFICRADAR_VERSION = 0x16; // 查询雷达设备版本,pInBuf=NET_IN_TRAFFICRADAR_VERSION* , pOutBuf=NET_OUT_TRAFFICRADAR_VERSION* public static final int NET_QUERY_WORKGROUP_NAMES = 0x17; // 查询所有的工作目录组名,pInBuf=NET_IN_WORKGROUP_NAMES* , pOutBuf=NET_OUT_WORKGROUP_NAMES* public static final int NET_QUERY_WORKGROUP_INFO = 0x18; // 查询工作组信息,pInBuf=NET_IN_WORKGROUP_INFO* , pOutBuf=NET_OUT_WORKGROUP_INFO* public static final int NET_QUERY_WLAN_ACCESSPOINT = 0x19; // 查询无线网络接入点信息,pInBuf=NET_IN_WLAN_ACCESSPOINT* , pOutBuf=NET_OUT_WLAN_ACCESSPOINT* public static final int NET_QUERY_GPS_INFO = 0x1a; // 查询设备GPS信息,pInBuf=NET_IN_DEV_GPS_INFO* , pOutBuf=NET_OUT_DEV_GPS_INFO* public static final int NET_QUERY_IVS_REMOTE_DEVICE_INFO = 0x1b; // 查询IVS的前端设备所关联的远程设备信息, pInBuf = NET_IN_IVS_REMOTE_DEV_INFO*, pOutBuf = NET_OUT_IVS_REMOTE_DEV_INFO* public static final int NET_QUERY_VIDEO_ENCODE_CAPS = 0x1e; // 获取视频编码能力集, pInBuf = NET_IN_VIDEO_ENCODE_CAPS*, pOutBuf = NET_OUT_VIDEO_ENCODE_CAPS* public static final int NET_ACCESSCONTROL_CAPS = 0x20; // 获取门禁能力, pInBuf = NET_IN_AC_CAPS*, pOutBuf = NET_OUT_AC_CAPS* public static final int NET_QUERY_HARDDISK_TEMPERATURE = 0x22; // 获取硬盘温度,pInBuf = NET_IN_HDD_TEMPERATURE*, pOutBuf = NET_OUT_HDD_TEMPERATURE* public static final int NET_QUERY_AUDIO_DECODE_CAPS = 0x25; // 获取音频解码能力集, pInBuf = NET_IN_AUDIO_DECODE_CAPS*, pOutBuf = NET_OUT_AUDIO_DECODE_CAPS* public static final int NET_QUERY_REMOTE_DEVICE_CAPS = 0x27; // 获取远程设备管理能力集, pInBuf = NET_IN_REMOTEDEVICE_CAP*, pOutBuf= NET_OUT_REMOTEDEVICE_CAP public static final int NET_QUERY_TRAFFIC_SNAP_RADAR = 0x28; // 获取智能交通雷达信息, pInfo = NET_IN_TRAFFIC_SNAP_RADAR_INFO*, pOutBuf = NET_OUT_TRAFFIC_SNAP_RADAR_INFO* public static final int NET_QUERY_TRAFFIC_SNAP_STROBE = 0x29; // 获取智能交通道闸信息, pInfo = NET_IN_TRAFFIC_SNAP_STROBE_INFO*, pOutBuf = NET_OUT_TRAFFIC_SNAP_STROBE_INFO* public static final int NET_QUERY_PTZ_CURRENT_FOV_VALUE = 0x36; // 获取镜头当前倍率下水平视场角参数,pInBuf = NET_IN_PTZ_CURRENT_FOV_VALUE*,pOutBuf = NET_OUT_PTZ_CURRENT_FOV_VALUE* public static final int NET_QUERY_DEV_IO_STATS = 0x37; // 获取所有存储设备的io信息参数,pInBuf = NET_IN_DEV_IO_STATS*,pOutBuf = NET_OUT_DEV_IO_STAT* public static final int NET_QUERY_PTZBASE_GET_HFOV_VALUE = 0x39; // 获取镜头不同倍率下水平视场角参数,pInBuf = NET_IN_PTZBASE_GET_HFOV_VALUE*,pOutBuf = NET_OUT_PTZBASE_GET_HFOV_VALUE* public static final int NET_QUERY_PTZBASE_GET_CENTER_GPS = 0x3a; // 获取中心位置GPS信息,pInBuf = NET_IN_PTZBASE_GET_CENTER_GPS*,pOutBuf = NET_OUT_PTZBASE_GET_CENTER_GPS* public static final int NET_QUERY_PTZBASE_GET_VFOV_VALUE = 0x3f; // 获取镜头不同倍率下垂直视场角参数,pInBuf = NET_IN_PTZBASE_GET_VFOV_VALUE*,pOutBuf = NET_OUT_PTZBASE_GET_VFOV_VALUE* // 设备能力类型, 对应CLIENT_GetDevCaps接口 public static final int NET_THERMO_GRAPHY_CAPS = 0x06; // 热成像摄像头属性能力,pInBuf=NET_IN_THERMO_GETCAPS*, pOutBuf=NET_OUT_THERMO_GETCAPS* public static final int NET_RADIOMETRY_CAPS = 0x07; // 热成像测温全局配置能力,pInBuf=NET_IN_RADIOMETRY_GETCAPS*, pOutBuf=NET_OUT_RADIOMETRY_GETCAPS* public static final int NET_QUERY_TRAFFIC_RADAR_GET_OBJECT = 0x35; // 获取雷达物体目标信息,pInBuf = NET_IN_TRAFFIC_RADAR_GET_OBJECT_INFO*,pOutBuf = NET_OUT_TRAFFIC_RADAR_GET_OBJECT_INFO* /////////////////////////////////// 矩阵 /////////////////////////////////////// public static final int NET_MATRIX_INTERFACE_LEN = 16; // 信号接口名称长度 public static final int NET_MATRIX_MAX_CARDS = 128; // 矩阵子卡最大数量 public static final int NET_SPLIT_PIP_BASE = 1000; // 分割模式画中画的基础值 public static final int NET_MAX_SPLIT_MODE_NUM = 64; // 最大分割模式数 public static final int NET_MATRIX_MAX_CHANNEL_IN = 1500; // 矩阵最大输入通道数 public static final int NET_MATRIX_MAX_CHANNEL_OUT = 256; // 矩阵最大输出通道数 public static final int NET_DEVICE_NAME_LEN = 64; // 设备名称长度 public static final int NET_MAX_CPU_NUM = 16; // 最大CPU数量 public static final int NET_MAX_FAN_NUM = 16; // 最大风扇数量 public static final int NET_MAX_POWER_NUM = 16; // 最大电源数量 public static final int NET_MAX_BATTERY_NUM = 16; // 最大电池数量 public static final int NET_MAX_RAID_DEVICE_NAME = 16; // RAID异常信息-RAID设备名称 public static final int NET_MAX_TEMPERATURE_NUM = 256; // 最大温度传感器数量 public static final int NET_MAX_ISCSI_NAME_LEN = 128; // ISCSI名称长度 public static final int NET_VERSION_LEN = 64; // 版本信息长度 public static final int NET_MAX_STORAGE_PARTITION_NUM = 32; // 存储分区最大数量 public static final int NET_STORAGE_MOUNT_LEN = 64; // 挂载点长度 public static final int NET_STORAGE_FILE_SYSTEM_LEN = 16; // 文件系统名称长度 public static final int NET_MAX_MEMBER_PER_RAID = 32; // RAID成员最大数量 public static final int NET_DEV_ID_LEN_EX = 128; // 设备ID最大长度 public static final int NET_MAX_BLOCK_NUM = 32; // 最大区块数量 public static final int NET_MAX_SPLIT_WINDOW = 128; // 最大分割窗口数量 public static final int NET_FILE_TYPE_LEN = 64; // 文件类型长度 public static final int NET_DEV_ID_LEN = 128; // 设备ID最大长度 public static final int NET_DEV_NAME_LEN = 128; // 设备名称最大长度 public static final int NET_TSCHE_DAY_NUM = 8; // 时间表第一维大小, 表示天数 public static final int NET_TSCHE_SEC_NUM = 6; // 时间表第二维大小, 表示时段数 public static final int NET_SPLIT_INPUT_NUM = 256; // 设备二级切换时第一级split支持的输入通道数 public static final String NET_DEVICE_ID_LOCAL = "Local"; // 本地设备ID public static final String NET_DEVICE_ID_REMOTE = "Remote"; // 远程设备ID public static final String NET_DEVICE_ID_UNIQUE = "Unique"; // 设备内统一编 public static final String NET_DIAGNOSIS_DITHER = "VideoDitherDetection"; // 视频抖动检测 对应结构体(NET_VIDEO_DITHER_DETECTIONRESULT) public static final String NET_DIAGNOSIS_STRIATION = "VideoStriationDetection"; // 视频条纹检测 对应结构体(NET_VIDEO_STRIATION_DETECTIONRESULT) public static final String NET_DIAGNOSIS_LOSS = "VideoLossDetection"; // 视频丢失检测 对应结构体(NET_VIDEO_LOSS_DETECTIONRESULT) public static final String NET_DIAGNOSIS_COVER ="VideoCoverDetection"; // 视频遮挡检测 对应结构体(NET_VIDEO_COVER_DETECTIONRESULT) public static final String NET_DIAGNOSIS_FROZEN = "VideoFrozenDetection"; // 视频冻结检测 对应结构体(NET_VIDEO_FROZEN_DETECTIONRESULT) public static final String NET_DIAGNOSIS_BRIGHTNESS ="VideoBrightnessDetection"; // 视频亮度异常检测 对应结构体(NET_VIDEO_BRIGHTNESS_DETECTIONRESULT) public static final String NET_DIAGNOSIS_CONTRAST ="VideoContrastDetection"; // 视频对比度异常检测 对应结构体(NET_VIDEO_CONTRAST_DETECTIONRESULT) public static final String NET_DIAGNOSIS_UNBALANCE ="VideoUnbalanceDetection"; // 视频偏色检测 对应结构体(NET_VIDEO_UNBALANCE_DETECTIONRESULT) public static final String NET_DIAGNOSIS_NOISE ="VideoNoiseDetection"; // 视频噪声检测 对应结构体(NET_VIDEO_NOISE_DETECTIONRESULT) public static final String NET_DIAGNOSIS_BLUR ="VideoBlurDetection"; // 视频模糊检测 对应结构体(NET_VIDEO_BLUR_DETECTIONRESULT) public static final String NET_DIAGNOSIS_SCENECHANGE ="VideoSceneChangeDetection"; // 视频场景变化检测 对应结构体(NET_VIDEO_SCENECHANGE_DETECTIONRESULT) public static final String NET_DIAGNOSIS_VIDEO_DELAY ="VideoDelay"; // 视频延时检测 对应结构体(NET_VIDEO_DELAY_DETECTIONRESUL) public static final String NET_DIAGNOSIS_PTZ_MOVING ="PTZMoving"; // 云台移动检测 对应结构体(NET_PTZ_MOVING_DETECTIONRESULT) public static final String NET_DIAGNOSIS_BLACK_WHITE ="VideoBlackAndWhite"; // 黑白图像检测, 对应结构体(NET_BLACK_WHITE_DETECTIONRESULT) public static final String NET_DIAGNOSIS_DRAMATIC_CHANGE ="VideoDramaticChange"; // 场景剧变检测, 对应结构体(NET_DIAGNOSIS_DRAMATIC_DETECTIONRESULT) public static final String NET_DIAGNOSIS_VIDEO_AVAILABILITY ="VideoAvailability"; // 视频完好率监测, 对应结构体(NET_VIDEO_AVAILABILITY_DETECTIONRESULT) public static final String NET_DIAGNOSIS_SNOWFLAKE ="SnowflakeDetection"; // 雪花屏检测, 对应结构体(NET_VIDEO_SNOWFLAKE_DETECTIONRESULT) public static final String NET_DIAGNOSIS_VIDEO_ALGORITHMTYPE ="VideoAlgorithmType"; // 视频算法类型检测,对应结构体(NET_VIDEO_ALGORITHMTYPE_DETECTIONRESULT) public static final String NET_DIAGNOSIS_VIDEO_FILCKERING_DETECTION ="VideoFilckeringDetection"; // 视频闪频检测, 对应结构体(NET_VIDEO_FILCKERING_DETECTION_RESULT) public static final String NET_DIAGNOSIS_VIDEO_LOSS_FRAME_DETECTION ="VideoLossFrameDetection"; // 视频丢帧检测, 对应结构体(NET_VIDEO_LOSS_FRAME_DETECTION_RESULT) //其他定义 public static final int NET_MAX_NAME_LEN = 16; // 通用名字字符串长度 public static final int NET_MAX_PERSON_ID_LEN = 32; // 人员id最大长度 public static final int NET_MAX_PERSON_IMAGE_NUM = 48; // 每个人员对应的最大人脸图片数 public static final int NET_MAX_PROVINCE_NAME_LEN = 64; // 省份名称最大长度 public static final int NET_MAX_CITY_NAME_LEN = 64; // 城市名称最大长度 public static final int NET_MAX_PERSON_NAME_LEN = 64; // 人员名字最大长度 public static final int MAX_FACE_AREA_NUM = 8; // 最大人脸区域个数 public static final int MAX_PATH = 260; public static final int MAX_FACE_DB_NUM = 8; // 最大人脸数据库个数 public static final int MAX_GOURP_NUM = 128; // 人脸库最大个数 public static final int MAX_AGE_NUM = 2; // 最大年龄个数 public static final int MAX_EMOTION_NUM = 8; // 最大表情条件的个数 public static final int MAX_FIND_COUNT = 20; public static final int NET_MAX_POLYGON_NUM = 16; // 多边形最大顶点个数 public static final int NET_MAX_CANDIDATE_NUM = 50; // 目标识别最大匹配数 public static final int MAX_POLYGON_NUM = 20; // 视频分析设备区域顶点个数上限 public static final int MAX_CALIBRATEBOX_NUM = 10; // 智能分析校准框个数上限 public static final int MAX_NAME_LEN = 128; // 通用名字字符串长度 public static final int MAX_EXCLUDEREGION_NUM = 10; // 智能分析检测区域中需要排除的区域个数上限 public static final int MAX_SCENE_LIST_SIZE = 32; // 视频分析设备支持的场景类型列表个数上限 public static final int MAX_OBJECT_LIST_SIZE = 16; // 视频分析设备支持的检测物体类型列表个数上限 public static final int MAX_RULE_LIST_SIZE = 128; // 视频分析设备支持的规则列表个数上限 public static final int MAX_ACTION_LIST_SIZE = 16; // 视频分析设备支持的规则的动作类型列表个数上限 public static final int MAX_SPECIALDETECT_NUM = 10; // 智能分析特殊检测区域上限 public static final int MAX_OBJECT_ATTRIBUTES_SIZE = 16; // 视频分析设备支持的检测物体属性类型列表个数上限 public static final int MAX_CATEGORY_TYPE_NUMBER = 128; // 子类别类型数 public static final int MAX_ANALYSE_MODULE_NUM = 16; // 视频分析设备最大检测模块个数 public static final int MAX_LOG_PATH_LEN = 260; // 日志路径名最大长度 public static final int MAX_CHANNELNAME_LEN = 64; // 最大通道名称长度 public static final int MAX_VIDEO_CHANNEL_NUM = 256; // 最大通道数256 public static final int MAX_PSTN_SERVER_NUM = 8; // 最大报警电话服务器数 public static final int MAX_TIME_SCHEDULE_NUM = 8; // 时间表元素个数 public static final int MAX_REC_TSECT = 6; // 录像时间段个数 public static final int MAX_REC_TSECT_EX = 10; // 录像时间段扩展个数 public static final int MAX_NAS_TIME_SECTION = 2; // 网络存储时间段个数 public static final int MAX_CHANNEL_COUNT = 16; public static final int MAX_ACCESSCONTROL_NUM = 8; // 最大门禁操作的组合数 public static final int MAX_DBKEY_NUM = 64; // 数据库关键字最大值 public static final int MAX_SUMMARY_LEN = 1024; // 叠加到JPEG图片的摘要信息最大长度 public static final int WEEK_DAY_NUM = 7; // 一周的天数 public static final int NET_MAX_FACEDETECT_FEATURE_NUM = 32; // 人脸特征最大个数 public static final int NET_MAX_OBJECT_LIST = 16; // 智能分析设备检测到的物体ID个数上限 public static final int NET_MAX_RULE_LIST = 16; // 智能分析设备规则个数上限 public static final int MAX_HUMANFACE_LIST_SIZE = 8; // 视频分析设备支持的目标检测类型列表个数上限 public static final int MAX_FEATURE_LIST_SIZE = 32; // 视频分析设备支持的人脸属性列表个数上限 public static final int NET_MAX_DETECT_REGION_NUM = 20; // 规则检测区域最大顶点数 public static final int NET_MAX_DETECT_LINE_NUM = 20; // 规则检测线最大顶点数 public static final int NET_MAX_TRACK_LINE_NUM = 20; // 物体运动轨迹最大顶点数 public static final int NET_MACADDR_LEN = 40; // MAC地址字符串长度 public static final int NET_DEV_TYPE_LEN = 32; // 设备型号字符串(如"IPC-F725")长度 public static final int NET_DEV_SERIALNO_LEN = 48; // 序列号字符串长度 public static final int NET_MAX_URL_LEN = 128; // URL字符串长度 public static final int NET_MAX_STRING_LEN = 128; public static final int NET_MACHINE_NAME_NUM = 64; // 机器名称长度 public static final int NET_USER_NAME_LENGTH_EX = 16; // 用户名长度 public static final int NET_USER_NAME_LENGTH = 8; // 用户名长度 public static final int NET_USER_PSW_LENGTH = 8; // 用户密码长度 public static final int NET_EVENT_NAME_LEN = 128; // 事件名称长度 public static final int NET_MAX_LANE_NUM = 8; // 视频分析设备每个通道对应车道数上限 public static final int MAX_DRIVING_DIR_NUM = 16; // 车道行驶方向最大个数 public static final int FLOWSTAT_ADDR_NAME = 16; // 上下行地点名长 public static final int NET_MAX_DRIVINGDIRECTION = 256; // 行驶方向字符串长度 public static final int COMMON_SEAT_MAX_NUMBER = 8; // 默认检测最大座驾个数 public static final int NET_MAX_ATTACHMENT_NUM = 8; // 最大车辆物件数量 public static final int NET_MAX_ANNUUALINSPECTION_NUM = 8; // 最大年检标识位置 public static final int NET_MAX_EVENT_PIC_NUM = 6; // 最大原始图片张数 public static final int NET_COMMON_STRING_4 = 4; // 通用字符串长度4 public static final int NET_COMMON_STRING_8 = 8; // 通用字符串长度8 public static final int NET_COMMON_STRING_16 = 16; // 通用字符串长度16 public static final int NET_COMMON_STRING_20 = 20; // 通用字符串长度20 public static final int NET_COMMON_STRING_32 = 32; // 通用字符串长度32 public static final int NET_COMMON_STRING_64 = 64; // 通用字符串长度64 public static final int NET_COMMON_STRING_128 = 128; // 通用字符串长度128 public static final int NET_COMMON_STRING_256 = 256; // 通用字符串长度256 public static final int NET_COMMON_STRING_512 = 512; // 通用字符串长度512 public static final int NET_COMMON_STRING_1024 = 1024; // 通用字符串长度1024 public static final int NET_COMMON_STRING_2048 = 2048; // 通用字符串长度2048 public static final int MAX_VIDEOSTREAM_NUM = 4; // 最大码流个数 public static final int MAX_VIDEO_COVER_NUM = 16; // 最大遮挡区域个数 public static final int MAX_VIDEO_IN_ZOOM = 32; // 单通道最大变速配置个数 public static final int NET_EVENT_CARD_LEN = 36; // 卡片名称长度 public static final int NET_EVENT_MAX_CARD_NUM = 16; // 事件上报信息包含最大卡片个数 public static final int MAX_STATUS_NUM = 16; // 交通设备状态最大个数 public static final int NET_MAX_CHANMASK = 64; // 通道掩码最大值 public static final int NET_CHAN_NAME_LEN = 32; // 通道名长度,DVR DSP能力限制,最多32字节 public static final int MAX_LANE_NUM = 8; // 视频分析设备每个通道对应车道数上限 public static final int MAX_STAFF_NUM = 20; // 视频分析设备每个通道对应的标尺数上限 public static final int MAX_ANALYSE_RULE_NUM = 32; // 视频分析设备最大规则个数 public static final int MAX_POLYLINE_NUM = 20; // 视频分析设备折线顶点个数上限 public static final int MAX_TEMPLATEREGION_NUM = 32; // 视频分析设备模拟区域信息点对个数上限 public static final int POINT_PAIR_NUM = 2; // 视频分析设备模拟区域点对包含的点个数 public static final int MAX_VEHICLE_SIZE_LIST = 4; // 视频分析设备车辆大小个数上限 public static final int MAX_VEHICLE_TYPE_LIST = 4; // 视频分析设备车辆类型个数上限 public static final int MAX_PLATE_TYPE_LIST = 32; // 视频分析设备车牌类型个数上限 public static final int MAX_CALIBRATEAREA_NUM = 20; // 视频分析设备标定区域的上限 public static final int MAX_ANALYSE_SCENE_NUM = 32; // 视频分析全局配置场景最大数量 public static final int MAX_PLATEHINT_NUM = 8; // 车牌字符暗示个数上限 public static final int MAX_LIGHT_NUM = 8; // 交通灯个数上限 public static final int MAX_LIGHTGROUP_NUM = 8; // 交通灯组个数上限 public static final int MAX_LIGHT_TYPE = 8; // 交通灯类型上限 public static final int MAX_PARKING_SPACE_NUM = 6; // 最多配置6个车位信息 public static final int MAX_SHIELD_AREA_NUM = 16; // 1个车位最多对应16个屏蔽区域 public static final int MAX_SCENE_TYPE_LIST_SIZE = 8; // 场景列表中最多支持的场景个数 public static final int MAX_LIGHT_DIRECTION = 8; // 交通灯指示方向数上限 public static final int CFG_FLOWSTAT_ADDR_NAME = 16; //上下行地点名长 public static final int MAX_ACCESS_READER_NUM = 32; // 门禁单个门最大读卡器数量 public static final int MAX_ACCESSSUBCONTROLLER_NUM = 64; // 最大门禁分控器数量 public static final int MAX_BACKPIC_COUNT = 8; // 最大背景图片个数 public static final int NET_WIRELESS_DEVICE_SERIAL_NUMBER_MAX_LEN = 32;// 无线设备序列号最大长度 public static final int NET_MAX_CUSTOM_PERSON_INFO_NUM = 4; // 注册人员信息扩展最大个数 public static final int NET_MAX_PERSON_INFO_LEN = 64; // 人员扩展信息最大长度 public static final int MAX_ALARMEXT_MODULE_NUM = 256; // 最大扩展模块数目 public static final int MAX_CALIBRATEAREA_TYPE_NUM = 4; // 标定区域类型上限 public static final int MAX_SCENE_SUBTYPE_LEN = 64; // 场景子类型字符串长度 public static final int MAX_SCENE_SUBTYPE_NUM = 32; // 场景子类型最大个数 public static final int MAX_SUPPORTED_COMP_SIZE = 4; // 最大支持的场景组合项 public static final int MAX_SUPPORTED_COMP_DATA = 8; // 每个组合项里最多支持的场景个数 public static final int MAX_NUMBER_STAT_MAULT_NUM = 32; // 最大客流量统计场景PD个数 public static final int NET_NEW_MAX_RIGHT_NUM = 1024; // 用户权限个数上限 public static final int NET_MAX_GROUP_NUM = 20; // 用户组个数上限 public static final int NET_MAX_USER_NUM = 200; // 用户个数上限 public static final int NET_RIGHT_NAME_LENGTH = 32; // 权限名长度 public static final int NET_MEMO_LENGTH = 32; // 备注长度 public static final int NET_NEW_USER_NAME_LENGTH = 128; // 用户名长度 public static final int NET_NEW_USER_PSW_LENGTH = 128; // 密码 public static final int NET_MAX_RIGHT_NUM = 100; // 用户权限个数上限 public static final int NET_COMMENT_LENGTH = 100; // 备注信息长度 public static final int NET_GROUPID_LENGTH = 64; // group id 信息长度 public static final int NET_GROUPNAME_LENGTH = 128; // group name 信息长度 public static final int NET_FEATUREVALUE_LENGTH = 128; // 人脸特征 信息长度 public static final int MAX_GROUP_ID_LEN = 64; // 最大布控组ID长度 public static final int MAX_COLOR_NAME_LEN = 32; // 最大颜色名长度 public static final int MAX_COLOR_HEX_LEN = 8; // 最大HEX颜色长度 public static final int MAX_LINK_GROUP_NUM = 20; // 联动的布控组最大数量 public static final int MAX_PATH_LEN = 260; // 最大路径长度 public static final int MAX_RIDER_NUM = 16; // 骑车人数组上限 public static final int MAX_ALARM_CHANNEL_NAME_LEN = 64; // 最大报警名称长度 public static final int MAX_ATTACHMENT_NUM = 8; // 最大车内物品个数 public static final int NET_MAX_FRAMESEQUENCE_NUM = 2; // 最大帧序号个数 public static final int NET_MAX_TIMESTAMP_NUM = 2; // 最大时间戳个数 public static final int NET_VIDEOANALYSE_SCENES = 32; // 最大场景个数 public static final int NET_VIDEOANALYSE_RULES = 64; // 最大规则个数 public static final int SDK_EVENT_NAME_LEN = 128; // 事件名称长度 // 支持用户名最大长度为8位或16位的设备,对应扩展接口CLIENT_QueryUserInfoEx和CLIENT_OperateUserInfoEx public static final int NET_USER_PSW_LENGTH_EX = 16; // 密码 public static final int AV_CFG_Device_ID_Len = 64; // 设备ID长度 public static final int AV_CFG_Channel_Name_Len = 64; // 通道名称长度 public static final int AV_CFG_Monitor_Name_Len = 64; // 电视墙名称长度 public static final int AV_CFG_Max_TV_In_Block = 128; // 区块中TV的最大数量 public static final int AV_CFG_Max_Block_In_Wall = 128; // 电视墙中区块的最大数量 public static final int AV_CFG_IP_Address_Len = 32; // IP 长度 public static final int AV_CFG_Protocol_Len = 32; // 协议名长度 public static final int AV_CFG_User_Name_Len = 64; // 用户名长度 public static final int AV_CFG_Password_Len = 64; // 密码长度 public static final int AV_CFG_Serial_Len = 32; // 序列号长度 public static final int AV_CFG_Device_Class_Len = 16; // 设备类型长度 public static final int AV_CFG_Device_Type_Len = 32; // 设备具体型号长度 public static final int AV_CFG_Device_Name_Len = 128; // 机器名称 public static final int AV_CFG_Address_Len = 128; // 机器部署地点 public static final int AV_CFG_Max_Path = 260; // 路径长度 public static final int AV_CFG_Group_Name_Len = 64; // 分组名称长度 public static final int AV_CFG_DeviceNo_Len = 32; // 设备编号长度 public static final int AV_CFG_Group_Memo_Len = 128; // 分组说明长度 public static final int AV_CFG_Max_Channel_Num = 1024; // 最大通道数量 public static final int MAX_DEVICE_NAME_LEN = 64; // 机器名称 public static final int MAX_DEV_ID_LEN_EX = 128; // 设备ID最大长度 public static final int MAX_PATH_STOR = 240; // 远程目录的长度 public static final int MAX_REMOTE_DEV_NUM = 256; // 最大远程设备数量 public static final int NET_MAX_PLATE_NUMBER_LEN = 32; // 车牌字符长度 public static final int NET_MAX_AUTHORITY_LIST_NUM = 16; // 权限列表最大个数 public static final int NET_MAX_ALARMOUT_NUM_EX = 32; //报警输出口个数上限扩展 public static final int NET_MAX_VIDEO_IN_NUM_EX = 32; //视频输入口个数上限扩展 public static final int NET_MAX_SAERCH_IP_NUM = 256; // 最大搜索IP个数 public static final int NET_MAX_POS_MAC_NUM = 8; // 刷卡机Mac码最大长度 public static final int NET_MAX_BUSCARD_NUM = 64; // 公交卡号最大长度 public static final int NET_STORAGE_NAME_LEN = 128; // 存储设备名称长度 public static final int NET_MAX_DOOR_NUM = 32; // 最大有权限门禁数目 public static final int NET_MAX_TIMESECTION_NUM = 32; // 最大有效时间段数目 public static final int NET_MAX_CARDNAME_LEN = 64; // 门禁卡命名最大长度 public static final int NET_MAX_CARDNO_LEN = 32; // 门禁卡号最大长度 public static final int NET_MAX_USERID_LEN = 32; // 门禁卡用户ID最大长度 public static final int NET_MAX_IC_LEN = 32; // 证件最大长度 public static final int NET_MAX_QRCODE_LEN = 128; // QRCode 最大长度 public static final int NET_MAX_CARD_INFO_LEN = 256; // 卡号信息最大长度 public static final int NET_MAX_SIM_LEN = 16; // SIM卡的值的最大长度 public static final int NET_MAX_DISKNUM = 256; // 最大硬盘个数 public static final int MAX_FACE_DATA_NUM = 20; // 人脸模版最大个数 public static final int MAX_FINGERPRINT_NUM = 10; // 最大信息个数 public static final int MAX_FACE_DATA_LEN = 2 * 1024; // 人脸模版数据最大长度 public static final int MAX_COMMON_STRING_8 = 8; // 通用字符串长度8 public static final int MAX_COMMON_STRING_16 = 16; // 通用字符串长度16 public static final int MAX_COMMON_STRING_32 = 32; // 通用字符串长度32 public static final int MAX_COMMON_STRING_64 = 64; // 通用字符串长度64 public static final int MAX_COMMON_STRING_128 = 128; // 通用字符串长度128 public static final int MAX_USER_NAME_LEN = 128; // 最大用户名长度 public static final int MAX_ROOMNUM_COUNT = 32; // 房间最大个数 public static final int MAX_FACE_COUTN = 20; // 人脸模板数据最大个数 public static final int MAX_PHOTO_COUNT = 5; // 人脸照片最大个数 public static final int MAX_WINDOWS_COUNT = 16; // 诱导屏最大窗口个数 public static final int MAX_CLASS_NUMBER_LEN = 32; // 最大班级长度 public static final int MAX_PHONENUMBER_LEN = 16; // 最大电话长度 public static final int MAX_NASFILE_NUM = 8; // 最大NAS文件个数 public static final int MAX_CELL_PHONE_NUMBER_LEN = 32; // 最大手机号长度 public static final int MAX_MAIL_LEN = 64; // 邮箱最大长度 public static final int MAX_PWD_LEN = 128; // 最大密码长度 public static final int MAX_ACCESS_FLOOR_NUM = 64; // 最大楼层数量 public static final int MAX_ORDER_NUMBER = 6; // 排序规则的最大数量 public static final int MAX_NUMBER_REGISTER_INFO = 32; public static final int MAX_COMPANION_CARD_NUM = 6; // 陪同者卡号最大个数 public static final int CFG_COMMON_STRING_8 = 8; // 通用字符串长度8 public static final int CFG_COMMON_STRING_16 = 16; // 通用字符串长度16 public static final int CFG_COMMON_STRING_32 = 32; // 通用字符串长度32 public static final int CFG_COMMON_STRING_64 = 64; // 通用字符串长度64 public static final int CFG_COMMON_STRING_128 = 128; // 通用字符串长度128 public static final int CFG_COMMON_STRING_256 = 256; // 通用字符串长度256 public static final int CFG_COMMON_STRING_512 = 512; // 通用字符串长度512 public static final int MAX_COILCONFIG = 3; // 智能交通车检器线圈配置上限 public static final int MAX_DETECTOR = 6; // 智能交通车检器配置上限 public static final int MAX_VIOLATIONCODE = 16; // 智能交通违章代码长度上限 public static final int MAX_LANE_CONFIG_NUMBER = 32; // 车道最大个数 public static final int MAX_VIOLATIONCODE_DESCRIPT = 64; // 智能交通违章代码长度上限 public static final int MAX_ROADWAYNO = 128; // 道路编号 由32个数字和字母构成 public static final int MAX_PRIORITY_NUMBER = 256; // 违章优先级包含违章最大个数 public static final int MAX_DRIVINGDIRECTION = 256; // 行驶方向字符串长度 public static final int MAX_OSD_CUSTOM_SORT_NUM = 8; public static final int MAX_OSD_CUSTOM_SORT_ELEM_NUM = 8; public static final int MAX_OSD_CUSTOM_GENERAL_NUM = 8; public static final int MAX_OSD_ITEM_ATTR_NUM = 8; public static final int MAX_PRE_POX_STR_LEN = 32; public static final int MAX_OSD_CUSTOM_NAME_LEN = 32; public static final int MAX_OSD_CUSTOM_VALUE_LEN = 256; public static final int MAX_CONF_CHAR = 256; public static final int MAX_IVS_EVENT_NUM = 256; public static final int MAX_QUERY_USER_NUM = 4; // 最大查询用户个数 public static final int MAX_DEVICE_ADDRESS = 256; // TrafficSnapshot智能交通设备地址 public static final int MAX_STORAGE_NUM = 8; // 存储设备最大个数 public static final int MAX_PARTITION_NUM = 8; // 最大分区个数 public static final int MAX_SCADA_POINT_LIST_INFO_NUM = 256; // 最大点位表路径个数 public static final int MAX_SCADA_POINT_LIST_ALARM_INFO_NUM = 256; // 最大点位表报警个数 public static final int MAX_LABEL_ARRAY = 1024; public static final int MAX_DELIVERY_FILE_NUM = 128; // 最大投放文件数量 public static final int DELIVERY_FILE_URL_LEN = 128; // 投放文件的URL长度 public static final int MAX_COMMON_STRING_512 = 512; // 通用字符串长度512 public static final int MAX_RFIDELETAG_CARDID_LEN = 16; // RFID 电子车牌标签信息中卡号最大长度 public static final int MAX_RFIDELETAG_DATE_LEN = 16; // RFID 电子车牌标签信息中时间最大长度 public static final int MAX_REPEATENTERROUTE_NUM = 12; //反潜路径个数 public static final int ECK_SCREEN_NUM_MAX = 8; // 智能停车系统出入口机最大屏数量 public static final int MAX_CAR_CANDIDATE_NUM = 50; public static final int MAX_REGISTER_NUM = 10; // 主动注册配置最大个数 public static final int MAX_SERVER_NUM = 10; // 服务器最大个数 public static final int NET_COUNTRY_LENGTH = 3; // 国家缩写长度 public static final int MAX_ATTENDANCE_USERNAME_LEN = 36; // 考勤用户名长度 public static final int NET_MAX_FINGER_PRINT = 10; // 信息最大个数 public static final int MAX_EVENT_ID_LEN = 52; // 国标事件ID最大长度 public static final int MAX_HUMANTRAIT_EVENT_LEN = 36; // 补充人体特征上报事件最大长度 public static final int MAX_EXIT_MAN_NUM = 32; // 最大支持的离开人员数量 public static final int NET_MAX_CALLTYPE_LIST_NUM = 16; // 呼叫类型查询条件列表最大个数 public static final int NET_MAX_ENDSTATE_LIST_NUM = 16; // 最终状态查询条件列表最大个数 public static final int MAX_CHAN_NUM = 256; // 最大通道数上限 public static final int AV_CFG_Max_ChannelRule = 32; // 通道存储规则最大长度, 仅通道部分 public static final int MAX_DEV_NUM = 16; // 最大设备上限 public static final int CFG_MAX_CHANNEL_NAME_LEN = 256; // 通道名称最大长度 public static final int HDBJ_MAX_OBJECTS_NUM = 200; // 检测到目标的最大个数 public static final int NET_MAX_RAID_NUM = 16; // Raid最大个数 public static final int MAX_PLATE_NUMBER_LEN = 64; // 最大车牌号码长度 public static final int MAX_MASTER_OF_CAR_LEN = 32; // 最大车主姓名长度 public static final int MAX_USER_TYPE_LEN = 32; // 最大用户类型长度 public static final int MAX_SUB_USER_TYPE_LEN = 64; // 最大用户子类型长度 public static final int MAX_REMARKS_LEN = 64; // 最大备注信息长度 public static final int MAX_PARK_CHARGE_LEN = 32; // 最大停车费长度 public static final int MAX_CUSTOM_LEN = 128; // 最大自定义显示长度 public static final int MAX_RESOURCE_LEN = 64; // 最大资源文件长度 public static final int MAX_PARKINGLOCK_STATE_NUM = 6; // 最大车位锁状态个数 public static final int MAX_SMALLPIC_NUM = 32; // 最大小图张数 public static final int MAX_PASSWORD_LEN = 64; // 最大密码长度 public static final int MAX_OSD_SUMMARY_LEN = 256; // osd叠加内容最大长度 public static final int MAX_OSD_TITLE_LEN = 128; // osd叠加标题最大长度 public static final int MAX_CUSTOMCASE_NUM = 16; // 自定义案件最大个数 public static final int MAX_CARGO_CHANNEL_NUM = 8; // 最大货物通道数 public static final int MAX_MAN_LIST_COUNT = 64; // 人员列表最大数量 public static final int MAX_SNAP_SHOT_NUM = 8; // 最大抓拍张数 public static final int MAX_TEMPERATUREEX_POINT_NUM = 12; //最大监测温度点的个数 // 矩阵子卡类型, 多种类型可以组合 public static final int NET_MATRIX_CARD_MAIN = 0x10000000; // 主卡 public static final int NET_MATRIX_CARD_INPUT = 0x00000001; // 输入卡 public static final int NET_MATRIX_CARD_OUTPUT = 0x00000002; // 输出卡 public static final int NET_MATRIX_CARD_ENCODE = 0x00000004; // 编码卡 public static final int NET_MATRIX_CARD_DECODE = 0x00000008; // 解码卡 public static final int NET_MATRIX_CARD_CASCADE = 0x00000010; // 级联卡 public static final int NET_MATRIX_CARD_INTELLIGENT = 0x00000020; // 智能卡 public static final int NET_MATRIX_CARD_ALARM = 0x00000040; // 报警卡 public static final int NET_MATRIX_CARD_RAID = 0x00000080; // 硬Raid卡 public static final int NET_MATRIX_CARD_NET_DECODE = 0x00000100; // 网络解码卡 public static final int RESERVED_TYPE_FOR_INTEL_BOX = 0x00000001; public static final int RESERVED_TYPE_FOR_COMMON = 0x00000010; public static final int RESERVED_TYPE_FOR_PATH = 0x00000100; public static final int NET_DATA_CALL_BACK_VALUE = 1000; // 配合EM_REAL_DATA_TYPE使用,码流转换后的数据回调函数(fRealDataCallBackEx,fDataCallBack)中的参数dwDataType的值 // 为所转换的码流类型加上NET_DATA_CALL_BACK_VALUE. // 即,dwDataType = NET_DATA_CALL_BACK_VALUE + emDataType // 在回调函数中接受码流转换后的数据,必须要先判断 dwDataType 的值是否为 NET_DATA_CALL_BACK_VALUE和emDataType之和 // 另,EM_REAL_DATA_TYPE_PRIVATE不用做此判断 public static final int DH_MAX_PERSON_INFO_LEN = 64; // 人员扩展信息最大长度 public static final int ARM_DISARM_ZONE_MAX = 256; // 防区最大个数 public static final int MAX_AREA_NUMBER = 8; //最大area数量 public static final int MAX_AREA_NUMBER_EX = 64; //最大area数量扩展 /**************************录像二次分析接口*************************/ public static final int MAX_SECONDARY_ANALYSE_TASK_NUM = 32; // 二次分析任务支持的最大个数 public static final int MAX_SECONDARY_ANALYSE_RULE_NUM = 8; // 二次分析规则支持的最大个数 public static final int MAX_SECONDARY_ANALYSE_EVENT_NUM = 8; // 二次分析事件支持的最大个数 /************************************************************************ ** 结构体 ***********************************************************************/ // 设置登入时的相关参数 public static class NET_PARAM extends SdkStructure { public int nWaittime; // 等待超时时间(毫秒为单位),为0默认5000ms public int nConnectTime; // 连接超时时间(毫秒为单位),为0默认1500ms public int nConnectTryNum; // 连接尝试次数,为0默认1次 public int nSubConnectSpaceTime; // 子连接之间的等待时间(毫秒为单位),为0默认10ms public int nGetDevInfoTime; // 获取设备信息超时时间,为0默认1000ms public int nConnectBufSize; // 每个连接接收数据缓冲大小(字节为单位),为0默认250*1024 public int nGetConnInfoTime; // 获取子连接信息超时时间(毫秒为单位),为0默认1000ms public int nSearchRecordTime; // 按时间查询录像文件的超时时间(毫秒为单位),为0默认为3000ms public int nsubDisconnetTime; // 检测子链接断线等待时间(毫秒为单位),为0默认为60000ms public byte byNetType; // 网络类型, 0-LAN, 1-WAN public byte byPlaybackBufSize; // 回放数据接收缓冲大小(M为单位),为0默认为4M public byte bDetectDisconnTime; // 心跳检测断线时间(单位为秒),为0默认为60s,最小时间为2s public byte bKeepLifeInterval; // 心跳包发送间隔(单位为秒),为0默认为10s,最小间隔为2s public int nPicBufSize; // 实时图片接收缓冲大小(字节为单位),为0默认为2*1024*1024 public byte[] bReserved = new byte[4]; // 保留字段字段 } // 设备设备参数 public static class NET_DEVICE_SEARCH_PARAM extends SdkStructure { public int dwSize; // 结构体大小 /** * 是否使用默认配置,默认为TRUE */ public int bUseDefault; /** * 广播本地端口, 默认5050, 值为0时使用最近一次配置 */ public short wBroadcastLocalPort; /** * 广播远程端口, 默认5050, 值为0时使用最近一次配置 */ public short wBroadcastRemotePort; /** * 组播远程端口, 默认37810, 值为0时使用最近一次配置 */ public short wMulticastRemotePort; /** * 组播修改设备时是否只支持组播回复,默认FALSE表示单播或组播回复 */ public int bMulticastModifyRespond; /** * 组播本地端口, 默认37810, 值为0时使用最近一次配置 */ public short wMulticastLocalPort; /** * 端口不可用时自动更新端口次数,默认50次,范围[0-65534] */ public int iAutoUpdatePortTimes; /** * AOL 组播远程端口, 默认8087, 值为0时使用最近一次配置 */ public short wAOLMulticastRemotePort; /** * AOL 组播本地端口, 默认37811, 值为0时使用最近一次配置 */ public short wAOLMulticastLocalPort; public NET_DEVICE_SEARCH_PARAM() { this.dwSize = this.size(); } } // 设备信息 public static class NET_DEVICEINFO extends SdkStructure { public byte[] sSerialNumber = new byte[NET_SERIALNO_LEN]; // 序列号 public byte byAlarmInPortNum; // DVR报警输入个数 public byte byAlarmOutPortNum; // DVR报警输出个数 public byte byDiskNum; // DVR硬盘个数 public byte byDVRType; // DVR类型, 见枚举NET_DEV_DEVICE_TYPE public union union = new union(); public static class union extends Union { public byte byChanNum; // DVR通道个数 public byte byLeftLogTimes; // 当登陆失败原因为密码错误时,通过此参数通知用户,剩余登陆次数,为0时表示此参数无效 } } // 设备信息扩展/////////////////////////////////////////////////// public static class NET_DEVICEINFO_Ex extends SdkStructure { public byte[] sSerialNumber = new byte[NET_SERIALNO_LEN]; // 序列号 public int byAlarmInPortNum; // DVR报警输入个数 public int byAlarmOutPortNum; // DVR报警输出个数 public int byDiskNum; // DVR硬盘个数 public int byDVRType; // DVR类型,见枚举NET_DEVICE_TYPE public int byChanNum; // DVR通道个数 public byte byLimitLoginTime; // 在线超时时间,为0表示不限制登陆,非0表示限制的分钟数 public byte byLeftLogTimes; // 当登陆失败原因为密码错误时,通过此参数通知用户,剩余登陆次数,为0时表示此参数无效 public byte[] bReserved = new byte[2]; // 保留字节,字节对齐 public int byLockLeftTime; // 当登陆失败,用户解锁剩余时间(秒数), -1表示设备未设置该参数 public byte[] Reserved = new byte[24]; // 保留 } // 对应接口 CLIENT_LoginEx2///////////////////////////////////////////////////////// public static class EM_LOGIN_SPAC_CAP_TYPE extends SdkStructure { public static final int EM_LOGIN_SPEC_CAP_TCP = 0; // TCP登陆, 默认方式 public static final int EM_LOGIN_SPEC_CAP_ANY = 1; // 无条件登陆 public static final int EM_LOGIN_SPEC_CAP_SERVER_CONN = 2; // 主动注册的登入 public static final int EM_LOGIN_SPEC_CAP_MULTICAST = 3; // 组播登陆 public static final int EM_LOGIN_SPEC_CAP_UDP = 4; // UDP方式下的登入 public static final int EM_LOGIN_SPEC_CAP_MAIN_CONN_ONLY = 6; // 只建主连接下的登入 public static final int EM_LOGIN_SPEC_CAP_SSL = 7; // SSL加密方式登陆 public static final int EM_LOGIN_SPEC_CAP_INTELLIGENT_BOX = 9; // 登录智能盒远程设备 public static final int EM_LOGIN_SPEC_CAP_NO_CONFIG = 10; // 登录设备后不做取配置操作 public static final int EM_LOGIN_SPEC_CAP_U_LOGIN = 11; // 用U盾设备的登入 public static final int EM_LOGIN_SPEC_CAP_LDAP = 12; // LDAP方式登录 public static final int EM_LOGIN_SPEC_CAP_AD = 13; // AD(ActiveDirectory)登录方式 public static final int EM_LOGIN_SPEC_CAP_RADIUS = 14; // Radius 登录方式 public static final int EM_LOGIN_SPEC_CAP_SOCKET_5 = 15; // Socks5登陆方式 public static final int EM_LOGIN_SPEC_CAP_CLOUD = 16; // 云登陆方式 public static final int EM_LOGIN_SPEC_CAP_AUTH_TWICE = 17; // 二次鉴权登陆方式 public static final int EM_LOGIN_SPEC_CAP_TS = 18; // TS码流客户端登陆方式 public static final int EM_LOGIN_SPEC_CAP_P2P = 19; // 为P2P登陆方式 public static final int EM_LOGIN_SPEC_CAP_MOBILE = 20; // 手机客户端登陆 } // 时间 public static class NET_TIME extends SdkStructure { public int dwYear; // 年 public int dwMonth; // 月 public int dwDay; // 日 public int dwHour; // 时 public int dwMinute; // 分 public int dwSecond; // 秒 public NET_TIME() { this.dwYear = 0; this.dwMonth = 0; this.dwDay = 0; this.dwHour = 0; this.dwMinute = 0; this.dwSecond = 0; } public void setTime(int year, int month, int day, int hour, int minute, int second) { this.dwYear = year; this.dwMonth = month; this.dwDay = day; this.dwHour = hour; this.dwMinute = minute; this.dwSecond = second; } public NET_TIME(NET_TIME other) { this.dwYear = other.dwYear; this.dwMonth = other.dwMonth; this.dwDay = other.dwDay; this.dwHour = other.dwHour; this.dwMinute = other.dwMinute; this.dwSecond = other.dwSecond; } //用于列表中显示 public String toStringTime() { return String.format("%02d/%02d/%02d %02d:%02d:%02d", dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond); } public String toStringTimeEx() { return String.format("%02d-%02d-%02d %02d:%02d:%02d", dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond); } public String toString() { return String.format("%02d%02d%02d%02d%02d%02d", dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond); } } public static class NET_TIME_EX extends SdkStructure { public int dwYear; // 年 public int dwMonth; // 月 public int dwDay; // 日 public int dwHour; // 时 public int dwMinute; // 分 public int dwSecond; // 秒 public int dwMillisecond; // 毫秒 public int dwUTC; // utc时间(获取时0表示无效,非0有效 下发无效) public int[] dwReserved = new int[1]; // 保留字段 public void setTime(int year, int month, int day, int hour, int minute, int second) { this.dwYear = year; this.dwMonth = month; this.dwDay = day; this.dwHour = hour; this.dwMinute = minute; this.dwSecond = second; this.dwMillisecond = 0; } public String toString() { return dwYear + "/" + dwMonth + "/" + dwDay + " " + dwHour + ":" + dwMinute + ":" + dwSecond; } //用于列表中显示 public String toStringTime() { return String.format("%02d/%02d/%02d %02d:%02d:%02d", dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond); } //存储文件名使用 public String toStringTitle() { return String.format("Time_%02d%02d%02d_%02d%02d%02d", dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond); } } // 区域 public static class NET_CFG_Rect extends SdkStructure { public int nStructSize; public int nLeft; public int nTop; public int nRight; public int nBottom; public NET_CFG_Rect() { this.nStructSize = this.size(); } } // 颜色 public static class NET_CFG_Color extends SdkStructure { public int nStructSize; public int nRed; // 红 public int nGreen; // 绿 public int nBlue; // 蓝 public int nAlpha; // 透明 public NET_CFG_Color() { this.nStructSize = this.size(); } } // 编码物件-通道标题 public static class NET_CFG_VideoWidgetChannelTitle extends SdkStructure { public int nStructSize; public int bEncodeBlend; // 叠加到主码流, 类型为BOOL, 取值0或者1 public int bEncodeBlendExtra1; // 叠加到辅码流1, 类型为BOOL, 取值0或者1 public int bEncodeBlendExtra2; // 叠加到辅码流2, 类型为BOOL, 取值0或者1 public int bEncodeBlendExtra3; // 叠加到辅码流3, 类型为BOOL, 取值0或者1 public int bEncodeBlendSnapshot; // 叠加到抓图, 类型为BOOL, 取值0或者1 public NET_CFG_Color stuFrontColor = new NET_CFG_Color(); // 前景色 public NET_CFG_Color stuBackColor = new NET_CFG_Color(); // 背景色 public NET_CFG_Rect stuRect = new NET_CFG_Rect(); // 区域, 坐标取值0~8191, 仅使用left和top值, 点(left,top)应和(right,bottom)设置成同样的点 public int bPreviewBlend; // 叠加到预览视频, 类型为BOOL, 取值0或者1 public NET_CFG_VideoWidgetChannelTitle() { this.nStructSize = this.size(); } } // 编码物件-时间标题 public static class NET_CFG_VideoWidgetTimeTitle extends SdkStructure { public int nStructSize; public int bEncodeBlend; // 叠加到主码流, 类型为BOOL, 取值0或者1 public int bEncodeBlendExtra1; // 叠加到辅码流1, 类型为BOOL, 取值0或者1 public int bEncodeBlendExtra2; // 叠加到辅码流2, 类型为BOOL, 取值0或者1 public int bEncodeBlendExtra3; // 叠加到辅码流3, 类型为BOOL, 取值0或者1 public int bEncodeBlendSnapshot; // 叠加到抓图, 类型为BOOL, 取值0或者1 public NET_CFG_Color stuFrontColor = new NET_CFG_Color(); // 前景色 public NET_CFG_Color stuBackColor = new NET_CFG_Color(); // 背景色 public NET_CFG_Rect stuRect = new NET_CFG_Rect(); // 区域, 坐标取值0~8191, 仅使用left和top值, 点(left,top)应和(right,bottom)设置成同样的点 public int bShowWeek; // 是否显示星期, 类型为BOOL, 取值0或者1 public int bPreviewBlend; // 叠加到预览视频, 类型为BOOL, 取值0或者1 public NET_CFG_VideoWidgetTimeTitle() { this.nStructSize = this.size(); } } // 编码物件-区域覆盖配置 public static class NET_CFG_VideoWidgetCover extends SdkStructure { public int nStructSize; public int bEncodeBlend; // 叠加到主码流, 类型为BOOL, 取值0或者1 public int bEncodeBlendExtra1; // 叠加到辅码流1, 类型为BOOL, 取值0或者1 public int bEncodeBlendExtra2; // 叠加到辅码流2, 类型为BOOL, 取值0或者1 public int bEncodeBlendExtra3; // 叠加到辅码流3, 类型为BOOL, 取值0或者1 public int bEncodeBlendSnapshot; // 叠加到抓图, 类型为BOOL, 取值0或者1 public NET_CFG_Color stuFrontColor = new NET_CFG_Color(); // 前景色 public NET_CFG_Color stuBackColor = new NET_CFG_Color(); // 背景色 public NET_CFG_Rect stuRect = new NET_CFG_Rect(); // 区域, 坐标取值0~8191 public int bPreviewBlend; // 叠加到预览视频, 类型为BOOL, 取值0或者1 public NET_CFG_VideoWidgetCover() { this.nStructSize = this.size(); } } public class EM_TITLE_TEXT_ALIGN { public static final int EM_TEXT_ALIGN_INVALID = 0; // 无效的对齐方式 public static final int EM_TEXT_ALIGN_LEFT = 1; // 左对齐 public static final int EM_TEXT_ALIGN_XCENTER = 2; // X坐标中对齐 public static final int EM_TEXT_ALIGN_YCENTER = 3; // Y坐标中对齐 public static final int EM_TEXT_ALIGN_CENTER = 4; // 居中 public static final int EM_TEXT_ALIGN_RIGHT = 5; // 右对齐 public static final int EM_TEXT_ALIGN_TOP = 6; // 按照顶部对齐 public static final int EM_TEXT_ALIGN_BOTTOM = 7; // 按照底部对齐 public static final int EM_TEXT_ALIGN_LEFTTOP = 8; // 按照左上角对齐 public static final int EM_TEXT_ALIGN_CHANGELINE = 9; // 换行对齐 } // 编码物件-自定义标题 public static class NET_CFG_VideoWidgetCustomTitle extends SdkStructure { public int nStructSize; public int bEncodeBlend; // 叠加到主码流, 类型为BOOL, 取值0或者1 public int bEncodeBlendExtra1; // 叠加到辅码流1, 类型为BOOL, 取值0或者1 public int bEncodeBlendExtra2; // 叠加到辅码流2, 类型为BOOL, 取值0或者1 public int bEncodeBlendExtra3; // 叠加到辅码流3, 类型为BOOL, 取值0或者1 public int bEncodeBlendSnapshot; // 叠加到抓图, 类型为BOOL, 取值0或者1 public NET_CFG_Color stuFrontColor = new NET_CFG_Color(); // 前景色 public NET_CFG_Color stuBackColor = new NET_CFG_Color(); // 背景色 public NET_CFG_Rect stuRect = new NET_CFG_Rect(); // 区域, 坐标取值0~8191, 仅使用left和top值, 点(left,top)应和(right,bottom)设置成同样的点 public byte[] szText = new byte[NET_CFG_Custom_Title_Len];// 标题内容 public int bPreviewBlend; // 叠加到预览视频, 类型为BOOL, 取值0或者1 public byte[] szType = new byte[NET_CFG_Custom_TitleType_Len];// 标题类型 "Rtinfo" 实时刻录信息 "Custom" 自定义叠加、温湿度叠加 "Title" :片头信息 "Check" 校验码 // 地理信息 "Geography" ATM卡号信息 "ATMCardInfo" 摄像机编号 "CameraID" public int emTextAlign; // 标题对齐方式 (参见EM_TITLE_TEXT_ALIGN) public int bUpdate; // 是否需要设备端更新叠加内容 true:更新 false:不更新, 类型为BOOL, 取值0或者1 public NET_CFG_VideoWidgetCustomTitle() { this.nStructSize = this.size(); } } // 编码物件-叠加传感器信息-叠加内容描述 public static class NET_CFG_VideoWidgetSensorInfo_Description extends SdkStructure { public int nStructSize; public int nSensorID; // 需要描述的传感器的ID(即模拟量报警通道号) public byte[] szDevID = new byte[CFG_COMMON_STRING_32]; // 设备ID public byte[] szPointID = new byte[CFG_COMMON_STRING_32];// 测点ID public byte[] szText = new byte[CFG_COMMON_STRING_256]; // 需要叠加的内容 public NET_CFG_VideoWidgetSensorInfo_Description() { this.nStructSize = this.size(); } } // 编码物件-叠加传感器信息 public static class NET_CFG_VideoWidgetSensorInfo extends SdkStructure { public int nStructSize; public int bPreviewBlend; // 叠加到预览视频, 类型为BOOL, 取值0或者1 public int bEncodeBlend; // 叠加到主码流视频编码, 类型为BOOL, 取值0或者1 public NET_CFG_Rect stuRect = new NET_CFG_Rect(); // 区域, 坐标取值0~8191 public int nDescriptionNum; // 叠加区域描述数目 public NET_CFG_VideoWidgetSensorInfo_Description[] stuDescription = (NET_CFG_VideoWidgetSensorInfo_Description[])new NET_CFG_VideoWidgetSensorInfo_Description().toArray(NET_CFG_Max_Description_Num);// 叠加区域描述信息 public NET_CFG_VideoWidgetSensorInfo() { this.nStructSize = this.size(); } } // 视频编码物件配置 public static class NET_CFG_VideoWidget extends SdkStructure { public int nStructSize; public NET_CFG_VideoWidgetChannelTitle stuChannelTitle = new NET_CFG_VideoWidgetChannelTitle(); // 通道标题 public NET_CFG_VideoWidgetTimeTitle stuTimeTitle = new NET_CFG_VideoWidgetTimeTitle(); // 时间标题 public int nConverNum; // 区域覆盖数量 public NET_CFG_VideoWidgetCover[] stuCovers = new NET_CFG_VideoWidgetCover[NET_CFG_Max_Video_Widget_Cover]; // 覆盖区域 public int nCustomTitleNum; // 自定义标题数量 public NET_CFG_VideoWidgetCustomTitle[] stuCustomTitle = new NET_CFG_VideoWidgetCustomTitle[NET_CFG_Max_Video_Widget_Custom_Title]; // 自定义标题 public int nSensorInfo; // 传感器信息叠加区域数目 public NET_CFG_VideoWidgetSensorInfo[] stuSensorInfo = new NET_CFG_VideoWidgetSensorInfo[NET_CFG_Max_Video_Widget_Sensor_Info]; // 传感器信息叠加区域信息 public double fFontSizeScale; //叠加字体大小放大比例 //当fFontSizeScale≠0时,nFontSize不起作用 //当fFontSizeScale=0时,nFontSize起作用 //设备默认fFontSizeScale=1.0 //如果需要修改倍数,修改该值 //如果需要按照像素设置,则置该值为0,nFontSize的值生效 public int nFontSize; //叠加到主码流上的全局字体大小,单位 px. //和fFontSizeScale共同作用 public int nFontSizeExtra1; //叠加到辅码流1上的全局字体大小,单位 px public int nFontSizeExtra2; //叠加到辅码流2上的全局字体大小,单位 px public int nFontSizeExtra3; //叠加到辅码流3上的全局字体大小,单位 px public int nFontSizeSnapshot; //叠加到抓图流上的全局字体大小, 单位 px public int nFontSizeMergeSnapshot; //叠加到抓图流上合成图片的字体大小,单位 px public int emFontSolutionSnapshot; //叠加到抓图流上的字体方案 // 0 未知 ; 1- 默认字体 "default-font" 2-楷体 "simkai" 3- 宋体"simsun" public NET_CFG_VideoWidgetCover stuGPSTitle; //GPS标题显示, 车载设备用 public NET_CFG_VideoWidgetCover stuCarNoTitle; //车牌标题显示, 车载设备用 public byte[] szChannelName = new byte[256]; // 通道名称(只为Onvif使用) public NET_CFG_VideoWidget() { this.nStructSize = this.size(); for (int i = 0; i < stuCustomTitle.length; i++) { stuCustomTitle[i] = new NET_CFG_VideoWidgetCustomTitle(); } for (int i = 0; i < stuCovers.length; i++) { stuCovers[i] = new NET_CFG_VideoWidgetCover(); } for (int i = 0; i < stuSensorInfo.length; i++) { stuSensorInfo[i] = new NET_CFG_VideoWidgetSensorInfo(); } } } // 报警事件类型 NET_EVENT_VIDEOABNORMALDETECTION 对应的数据描述信息 public static class ALARM_VIDEOABNORMAL_DETECTION_INFO extends SdkStructure { public int dwSize; public int nChannelID; // 通道号 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public int nType; // 检测类型,0-视频丢失, 1-视频遮挡, 2-画面冻结, 3-过亮, 4-过暗, 5-场景变化 // 6-条纹检测 , 7-噪声检测 , 8-偏色检测 , 9-视频模糊检测 , 10-对比度异常检测 // 11-视频运动, 12-视频闪烁, 13-视频颜色, 14-虚焦检测, 15-过曝检测 public int nValue; // 检测值,值越高表示视频质量越差, GB30147定义 public int nOccurrenceCount; // 规则被触发生次数 public ALARM_VIDEOABNORMAL_DETECTION_INFO() { this.dwSize = this.size(); } } // 停车发卡刷卡类型 public static class NET_PARKING_CARD_TYPE extends SdkStructure { public static final int NET_PARKING_CARD_TYPE_UNKNOWN = 0; public static final int NET_PARKING_CARD_TYPE_SEND = 1; // 发卡 public static final int NET_PARKING_CARD_TYPE_DETECT = 2; // 刷卡 } // 报警事件类型 NET_ALARM_PARKING_CARD (停车刷卡事件)对应的数据描述信息 public static class ALARM_PARKING_CARD extends SdkStructure { public int dwSize; public int emType; // 类型, 参考 NET_PARKING_CARD_TYPE public int dwCardNo; // 卡号 public byte[] szPlate = new byte[NET_COMMON_STRING_16]; // 车牌 public ALARM_PARKING_CARD() { this.dwSize = this.size(); } } // 报警事件类型 NET_ALARM_NEW_FILE 对应的数据描述信息 public static class ALARM_NEW_FILE_INFO extends SdkStructure { public int dwSize; public int nChannel; // 抓图通道号 public int nEventID; // 事件ID public int dwEvent; // 事件类型 public int FileSize; // 文件大小,单位是字节 public int nIndex; // 事件源通道 public int dwStorPoint; // 存储点 public byte[] szFileName = new byte[128]; // 文件名 public ALARM_NEW_FILE_INFO() { this.dwSize = this.size(); } } // 人数越上限类型 public static class EM_UPPER_LIMIT_TYPE extends SdkStructure { public static final int EM_UPPER_LIMIT_TYPE_UNKNOWN = 0; public static final int EM_UPPER_LIMIT_TYPE_ENTER_OVER = 1; // 进入越上限 public static final int EM_UPPER_LIMIT_TYPE_EXIT_OVER = 2; // 出来越上限 public static final int EM_UPPER_LIMIT_TYPE_INSIDE_OVER = 3; // 内部越上限 public static final int EM_UPPER_LIMIT_TYPE_PASS_OVER = 4; // 经过越上限 } // 事件类型 NET_ALARM_HUMAM_NUMBER_STATISTIC (人数量/客流量统计事件NumberStat对应的数据描述信息) public static class ALARM_HUMAN_NUMBER_STATISTIC_INFO extends SdkStructure { public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventAction; // 事件动作,0-事件持续, 1-表示事件开始, 2-表示事件结束; public int nNumber; // 区域内物体的个数 public int nEnteredNumber; // 进入区域或者出入口内的物体个数 public int nExitedNumber; // 出来区域或者出入口内的物体个数 public int emUpperLimitType; // 人数越上限类型,参见EM_UPPER_LIMIT_TYPE定义 public int nChannelID; // 通道号 public int nPassedNumber; // 经过区域物体的个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] reserved = new byte[504]; // 预留 } /////////////////////////////////智能支持///////////////////////////////// //物体对应图片文件信息,对应DH_PIC_INFO public static class NET_PIC_INFO extends SdkStructure { public int dwOffSet; // 文件在二进制数据块中的偏移位置,单位:字节 public int dwFileLenth; // 文件大小,单位:字节 public short wWidth; // 图片宽度,单位:像素 public short wHeight; // 图片高度,单位:像素 public Pointer pszFilePath; // 鉴于历史原因,该成员只在事件上报时有效, char * // 文件路径 // 用户使用该字段时需要自行申请空间进行拷贝保存 public byte bIsDetected; // 图片是否算法检测出来的检测过的提交识别服务器时, // 则不需要再时检测定位抠图,1:检测过的,0:没有检测过 public byte[] bReserved = new byte[2]; // 预留字节数 public byte byQulityScore; // 人脸抓拍质量分数, 0-100 public int nFilePathLen; // 文件路径长度 既pszFilePath 用户申请的大小 public NET_POINT stuPoint; // 小图左上角在大图的位置,使用绝对坐标系 public int nIndexInData; // 在上传图片数据中的图片序号 public NET_PIC_INFO() { } } // 人员类型 public static class EM_PERSON_TYPE extends SdkStructure { public static final int PERSON_TYPE_UNKNOWN = 0; public static final int PERSON_TYPE_NORMAL = 1; //普通人员 public static final int PERSON_TYPE_SUSPICION = 2; // } // 证件类型 public static class EM_CERTIFICATE_TYPE extends SdkStructure { public static final int CERTIFICATE_TYPE_UNKNOWN = 0; public static final int CERTIFICATE_TYPE_IC = 1; //证件 public static final int CERTIFICATE_TYPE_PASSPORT = 2; //护照 public static final int CERTIFICATE_TYPE_OUTERGUARD = 3; //军官证 public static final int CERTIFICATE_TYPE_STUDENT = 4; //学生证 public static final int CERTIFICATE_TYPE_POLICE = 5; //警官证 public static final int CERTIFICATE_TYPE_LAWYER = 6; //律师 } //人员信息 public static class FACERECOGNITION_PERSON_INFO extends SdkStructure { public byte[] szPersonName = new byte[NET_MAX_NAME_LEN]; // 姓名,此参数作废 public short wYear; // 出生年,作为查询条件时,此参数填0,则表示此参数无效 public byte byMonth; // 出生月,作为查询条件时,此参数填0,则表示此参数无效 public byte byDay; // 出生日,作为查询条件时,此参数填0,则表示此参数无效 public byte[] szID = new byte[NET_MAX_PERSON_ID_LEN]; // 人员唯一标示(证件号码,工号,或其他编号) public byte bImportantRank; // 人员重要等级,1~10,数值越高越重要,作为查询条件时,此参数填0,则表示此参数无效 public byte bySex; // 性别,1-男,2-女,作为查询条件时,此参数填0,则表示此参数无效 public short wFacePicNum; // 图片张数 public NET_PIC_INFO[] szFacePicInfo = new NET_PIC_INFO[NET_MAX_PERSON_IMAGE_NUM];//当前人员对应的图片信息 public byte byType; // 人员类型,详见EM_PERSON_TYPE public byte byIDType; // 证件类型,详见EM_CERTIFICATE_TYPE public byte byGlasses; // 是否戴眼镜,0-未知 1-不戴 2-戴 public byte byAge; // 年龄,0表示未知 public byte[] szProvince = new byte[NET_MAX_PROVINCE_NAME_LEN];// 省份 public byte[] szCity = new byte[NET_MAX_CITY_NAME_LEN]; // 城市 public byte[] szPersonNameEx = new byte[NET_MAX_PERSON_NAME_LEN];// 姓名,因存在姓名过长,16字节无法存放问题,故增加此参数, public byte[] szUID = new byte[NET_MAX_PERSON_ID_LEN]; // 人员唯一标识符,首次由服务端生成,区别于ID字段 // 修改,删除操作时必填 public byte[] szCountry = new byte[NET_COUNTRY_LENGTH]; // 国籍,符合ISO3166规范 public byte byIsCustomType; // 人员类型是否为自定义: 0 使用Type规定的类型 1 自定义,使用szPersonName字段 public Pointer pszComment; // 备注信息, 用户自己申请内存的情况时, // 下方bCommentLen需填写对应的具体长度值,推荐长度 NET_COMMENT_LENGTH public Pointer pszGroupID; // 人员所属组ID, 用户自己申请内存的情况时, // 下方bGroupIdLen需填写对应的具体长度值,推荐长度 NET_GROUPID_LENGTH public Pointer pszGroupName; // 人员所属组名, 用户自己申请内存的情况时, // 下方bGroupNameLen需填写对应的具体长度值,推荐长度 NET_GROUPNAME_LENGTH public Pointer pszFeatureValue; // 人脸特征, 用户自己申请内存的情况时, // 下方bFeatureValueLen需填写对应的具体长度值,推荐长度 NET_FEATUREVALUE_LENGTH public byte bGroupIdLen; // pszGroupID的长度 public byte bGroupNameLen; // pszGroupName的长度 public byte bFeatureValueLen; // pszFeatureValue的长度 public byte bCommentLen; // pszComment的长度 public int emEmotion; // 表情, 参考 EM_DEV_EVENT_FACEDETECT_FEATURE_TYPE public FACERECOGNITION_PERSON_INFO() { for(int i=0;i=0时有效) public short byLane; // 车道号(此值>=0时表示具体车道,-1表示所有车道,即不下发此字段) public byte byFileFlag; // 文件标志, 0xFF-使用nFileFlagEx, 0-表示所有录像, 1-定时文件, 2-手动文件, 3-事件文件, 4-重要文件, 5-合成文件 public byte byRandomAccess; // 是否需要在查询过程中随意跳转,0-不需要,1-需要 public int nFileFlagEx; // 文件标志, 按位表示: bit0-定时文件, bit1-手动文件, bit2-事件文件, bit3-重要文件, bit4-合成文件, bit5-禁止名单图片 0xFFFFFFFF-所有录像 public int nDirection; // 车道方向(车开往的方向) 0-北 1-东北 2-东 3-东南 4-南 5-西南 6-西 7-西北 8-未知 -1-所有方向 public Pointer szDirs; // 工作目录列表,一次可查询多个目录,为空表示查询所有目录。目录之间以分号分隔,如“/mnt/dvr/sda0;/mnt/dvr/sda1”,szDirs==null 或"" 表示查询所有 public Pointer pEventTypes; // 待查询的事件类型数组指针,事件类型,详见"智能分析事件类型",若为NULL则认为查询所有事件(缓冲需由用户申请) public int nEventTypeNum; // 事件类型数组大小 public Pointer pszDeviceAddress; // 设备地址, NULL表示该字段不起作用 public Pointer pszMachineAddress; // 机器部署地点, NULL表示该字段不起作用 public Pointer pszVehicleSign; // 车辆标识, 例如 "Unknown"-未知, "Audi"-奥迪, "Honda"-本田... NULL表示该字段不起作用 public short wVehicleSubBrand; // 车辆子品牌 需要通过映射表得到真正的子品牌 映射表详见开发手册 public short wVehicleYearModel; // 车辆品牌年款 需要通过映射表得到真正的年款 映射表详见开发手册 public int emSafeBeltState; // 安全带状态, 参考枚举 EM_SAFE_BELT_STATE public int emCallingState; // 打电话状态, 参考枚举 EM_CALLING_STATE public int emAttachMentType; // 车内饰品类型, 参考枚举 EM_ATTACHMENT_TYPE public int emCarType; // 车辆类型, 参考枚举 EM_CATEGORY_TYPE public Pointer pstuTrafficCarParamEx; // 参数扩展,对应结构体NET_MEDIA_QUERY_TRAFFICCAR_PARAM_EX public int[] bReserved=new int[4]; // 保留字段 } // NET_MEDIA_QUERY_TRAFFICCAR_EX对应的查询条件 public static class MEDIA_QUERY_TRAFFICCAR_PARAM_EX extends SdkStructure { public int dwSize; public MEDIA_QUERY_TRAFFICCAR_PARAM stuParam; // 基本查询参数 public MEDIA_QUERY_TRAFFICCAR_PARAM_EX() { this.dwSize = this.size(); } } // NET_MEDIA_QUERY_TRAFFICCAR查询出来的media文件信息 public static class MEDIAFILE_TRAFFICCAR_INFO extends SdkStructure { public int ch; // 通道号 public byte[] szFilePath = new byte[128]; // 文件路径 public int size; // 文件长度 public NET_TIME starttime; // 开始时间 public NET_TIME endtime; // 结束时间 public int nWorkDirSN; // 工作目录编号 public byte nFileType; // 文件类型 1:jpg图片 public byte bHint; // 文件定位索引 public byte bDriveNo; // 磁盘号 public byte bReserved2; public int nCluster; // 簇号 public byte byPictureType; // 图片类型, 0-普通, 1-合成, 2-抠图 public byte[] bReserved = new byte[3]; // 保留字段 //以下是交通车辆信息 public byte[] szPlateNumber = new byte[32]; // 车牌号码 public byte[] szPlateType = new byte[32]; // 号牌类型"Unknown" 未知; "Normal" 蓝牌黑牌; "Yellow" 黄牌; "DoubleYellow" 双层黄尾牌 // "Police" 警牌; // "SAR" 港澳特区号牌; "Trainning" 教练车号牌; "Personal" 个性号牌; "Agri" 农用牌 // "Embassy" 使馆号牌; "Moto" 摩托车号牌; "Tractor" 拖拉机号牌; "Other" 其他号牌 public byte[] szPlateColor = new byte[16]; // 车牌颜色:"Blue","Yellow", "White","Black" public byte[] szVehicleColor = new byte[16]; // 车身颜色:"White", "Black", "Red", "Yellow", "Gray", "Blue","Green" public int nSpeed; // 车速,单位 Km/H public int nEventsNum; // 关联的事件个数 public int[] nEvents = new int[32]; // 关联的事件列表,数组值表示相应的事件,详见"智能分析事件类型" public int dwBreakingRule; // 具体违章类型掩码,第一位:闯红灯; 第二位:不按规定车道行驶; // 第三位:逆行; 第四位:违章掉头;否则默认为:交通路口事件 public byte[] szVehicleSize = new byte[16]; // 车辆大小类型:"Light-duty":小型车;"Medium":中型车; "Oversize":大型车 public byte[] szChannelName = new byte[NET_CHAN_NAME_LEN]; // 本地或远程的通道名称 public byte[] szMachineName = new byte[NET_MAX_NAME_LEN]; // 本地或远程设备名称 public int nSpeedUpperLimit; // 速度上限 单位: km/h public int nSpeedLowerLimit; // 速度下限 单位: km/h public int nGroupID; // 事件里的组编号 public byte byCountInGroup; // 一个事件组内的抓拍张数 public byte byIndexInGroup; // 一个事件组内的抓拍序号 public byte byLane; // 车道,参见MEDIA_QUERY_TRAFFICCAR_PARAM public byte[] bReserved1 = new byte[21]; // 保留 public NET_TIME stSnapTime; // 抓拍时间 public int nDirection; // 车道方向,参见MEDIA_QUERY_TRAFFICCAR_PARAM public byte[] szMachineAddress = new byte[MAX_PATH]; // 机器部署地点 public long sizeEx; // 文件长度扩展,支持文件长度大于4G,单位字节 } // NET_MEDIA_QUERY_TRAFFICCAR_EX查询出来的文件信息 public static class MEDIAFILE_TRAFFICCAR_INFO_EX extends SdkStructure { public int dwSize; /** * 基本信息 */ public MEDIAFILE_TRAFFICCAR_INFO stuInfo = new MEDIAFILE_TRAFFICCAR_INFO(); /** * 设备地址 */ public byte[] szDeviceAddr = new byte[256]; /** * 车辆标识, 例如 "Unknown"-未知, "Audi"-奥迪, "Honda"-本田... */ public byte[] szVehicleSign = new byte[32]; /** * 自定义车位号(停车场用) */ public byte[] szCustomParkNo = new byte[64]; /** * 车辆子品牌,需要通过映射表得到真正的子品牌 */ public short wVehicleSubBrand; /** * 车辆年款,需要通过映射表得到真正的年款 */ public short wVehicleYearModel; /** * 对应电子车牌标签信息中的过车时间(ThroughTime) */ public NET_TIME stuEleTagInfoUTC = new NET_TIME(); /** * 录像或抓图文件标志 */ public int[] emFalgLists = new int[EM_RECORD_SNAP_FLAG_TYPE.FLAG_TYPE_MAX]; /** * 标志总数 */ public int nFalgCount; /** * 安全带状态 {@link EM_SAFE_BELT_STATE} */ public int emSafeBelSate; /** * 打电话状态 {@link EM_CALLING_STATE} */ public int emCallingState; /** * 车内物品个数 */ public int nAttachMentNum; /** * 车内物品信息 */ public NET_ATTACH_MENET_INFO[] stuAttachMent = new NET_ATTACH_MENET_INFO[8]; /** * 车牌所属国家和地区 */ public byte[] szCountry = new byte[32]; /** * 车辆类型 {@link EM_CATEGORY_TYPE} */ public int emCarType; /** * 遮阳板状态 {@link NET_SUNSHADE_STATE} */ public int emSunShadeState; /** * 是否抽烟 {@link EM_SMOKING_STATE} */ public int emSmokingState; /** * 年检标个数 */ public int nAnnualInspection; /** * 字节对齐 */ public byte[] byReserved = new byte[4]; /** * PictureID高四字节 */ public int nPicIDHigh; /** * PictureID低四字节 */ public int nPicIDLow; /** * 平台客户端1上传信息 */ public NET_UPLOAD_CLIENT_INFO stuClient1 = new NET_UPLOAD_CLIENT_INFO(); /** * 平台客户端2上传信息 */ public NET_UPLOAD_CLIENT_INFO stuClient2 = new NET_UPLOAD_CLIENT_INFO(); /** * 三地车牌 */ public byte[] szExtraPlateNumber = new byte[3 * 32]; /** * 车牌个数 */ public int nExtraPlateNumberNum; /** * 车辆进站时间,时间格式:UTC时间(IVSS, 用于加油站场景) */ public int nEntranceTime; /** * 车辆加油时间,时间格式:UTC时间(IVSS, 用于加油站场景) */ public int nOilTime; /** * 车辆出站时间,时间格式:UTC时间(IVSS, 用于加油站场景) */ public int nExitTime; /** * 为TRUE表示仅stuStartTimeRealUTC和stuEndTimeRealUTC有效(仅使用stuStartTimeRealUTC和stuEndTimeRealUTC), 为FALSE表示仅starttime和endtime有效(仅使用starttime和endtime, starttime和endtime在MEDIAFILE_TRAFFICCAR_INFO中) */ public int bRealUTC; /** * UTC开始时间(标准UTC时间), 与stuEndTimeRealUTC配对使用 */ public NET_TIME stuStartTimeRealUTC = new NET_TIME(); /** * UTC结束时间(标准UTC时间), 与stuStartTimeRealUTC配对使用 */ public NET_TIME stuEndTimeRealUTC = new NET_TIME(); /** * 字节补齐 */ public byte[] byReserved1 = new byte[784]; public MEDIAFILE_TRAFFICCAR_INFO_EX() { for (int i = 0; i < stuAttachMent.length; i++) { stuAttachMent[i] = new NET_ATTACH_MENET_INFO(); } this.dwSize = this.size(); } } // 车内饰品信息 public static class NET_ATTACH_MENET_INFO extends SdkStructure { public int emAttachMentType; // 车内物品类型, 对应枚举 EM_ATTACHMENT_TYPE public byte[] bReserved1 = new byte[128]; // 保留字节 } // 安全带状态 public static class EM_SAFE_BELT_STATE extends SdkStructure { public static final int EM_SAFE_BELT_UNKNOWN = 0; // 未知 public static final int EM_SAFE_BELT_OTHER = 1; // 未识别 public static final int EM_SAFE_BELT_WITH = 2; // 有安全带 public static final int EM_SAFE_BELT_WITHOUT = 3; // 无安全带 } // 车内饰品类型 public static class EM_ATTACHMENT_TYPE extends SdkStructure { public static final int EM_ATTACHMENT_UNKNOWN = 0; // 未知 public static final int EM_ATTACHMENT_OTHER = 1; // 其他类型 public static final int EM_ATTACHMENT_FURNITURE = 2; // 摆件 public static final int EM_ATTACHMENT_PENDANT = 3; // 挂件 public static final int EM_ATTACHMENT_TISSUEBOX = 4; // 纸巾盒 public static final int EM_ATTACHMENT_DANGER = 5; // 危险品 public static final int EM_ATTACHMENT_PERFUMEBOX = 6; // 香水 } // 打电话状态 public static class EM_CALLING_STATE extends SdkStructure { public static final int EM_CALLING_UNKNOWN = 0; // 未知 public static final int EM_CALLING_OTHER = 1; // 未识别 public static final int EM_CALLING_NO = 2; // 未打电话 public static final int EM_CALLING_YES = 3; // 打电话 } // 车辆类型 public static class EM_CATEGORY_TYPE extends SdkStructure { public static final int EM_CATEGORY_UNKNOWN = 0; // 未知 public static final int EM_CATEGORY_OTHER = 1; // 其他 public static final int EM_CATEGORY_MOTOR = 2; // 机动车 public static final int EM_CATEGORY_BUS = 3; // 公交车 public static final int EM_CATEGORY_UNLICENSED_MOTOR = 4; // 无牌机动车 public static final int EM_CATEGORY_LARGE_CAR = 5; // 大型汽车 public static final int EM_CATEGORY_MICRO_CAR = 6; // 小型汽车 public static final int EM_CATEGORY_EMBASSY_CAR = 7; // 使馆汽车 public static final int EM_CATEGORY_MARGINAL_CAR = 8; // 领馆汽车 public static final int EM_CATEGORY_AREAOUT_CAR = 9; // 境外汽车 public static final int EM_CATEGORY_FOREIGN_CAR = 10; // 外籍汽车 public static final int EM_CATEGORY_FARMTRANSMIT_CAR = 11; // 农用运输车 public static final int EM_CATEGORY_TRACTOR = 12; // 拖拉机 public static final int EM_CATEGORY_TRAILER = 13; // 挂车 public static final int EM_CATEGORY_COACH_CAR = 14; // 教练汽车 public static final int EM_CATEGORY_TRIAL_CAR = 15; // 试验汽车 public static final int EM_CATEGORY_TEMPORARY_ENTRY_CAR = 16; // 临时入境汽车 public static final int EM_CATEGORY_TEMPORARY_ENTRY_MOTORCYCLE = 17; // 临时入境摩托 public static final int EM_CATEGORY_TEMPORARY_STEER_CAR = 18; // 临时行驶车 public static final int EM_CATEGORY_LARGE_TRUCK = 19; // 大货车 public static final int EM_CATEGORY_MID_TRUCK = 20; // 中货车 public static final int EM_CATEGORY_MICRO_TRUCK = 21; // 小货车 public static final int EM_CATEGORY_MICROBUS = 22; // 面包车 public static final int EM_CATEGORY_SALOON_CAR = 23; // 轿车 public static final int EM_CATEGORY_CARRIAGE = 24; // 小轿车 public static final int EM_CATEGORY_MINI_CARRIAGE = 25; // 微型轿车 public static final int EM_CATEGORY_SUV_MPV = 26; // SUV或者MPV public static final int EM_CATEGORY_SUV = 27; // SUV public static final int EM_CATEGORY_MPV = 28; // MPV public static final int EM_CATEGORY_PASSENGER_CAR = 29; // 客车 public static final int EM_CATEGORY_MOTOR_BUS = 30; // 大客 public static final int EM_CATEGORY_MID_PASSENGER_CAR = 31; // 中客车 public static final int EM_CATEGORY_MINI_BUS = 32; // 小客车 public static final int EM_CATEGORY_PICKUP = 33; // 皮卡车 public static final int EM_CATEGORY_OILTANK_TRUCK = 34; // 油罐车 public static final int EM_CATEGORY_TANK_CAR = 35; // 危化品车辆 public static final int EM_CATEGORY_SLOT_TANK_CAR = 36; // 槽罐车 public static final int EM_CATEGORY_DREGS_CAR = 37; // 渣土车 public static final int EM_CATEGORY_CONCRETE_MIXER_TRUCK = 38; // 混凝土搅拌车 public static final int EM_CATEGORY_TAXI = 39; // 出租车 public static final int EM_CATEGORY_POLICE = 40; // 警车 public static final int EM_CATEGORY_AMBULANCE = 41; // 救护车 public static final int EM_CATEGORY_GENERAL = 42; // 普通车 public static final int EM_CATEGORY_WATERING_CAR = 43; // 洒水车 public static final int EM_CATEGORY_FIRE_ENGINE = 44; // 消防车 public static final int EM_CATEGORY_MACHINE_TRUCK = 45; // 工程车 public static final int EM_CATEGORY_POWER_LOT_VEHICLE = 46; // 粉粒物料车 public static final int EM_CATEGORY_SUCTION_SEWAGE_TRUCK = 47; // 吸污车 public static final int EM_CATEGORY_NORMAL_TANK_TRUCK = 48; // 普通罐车 } // 是否抽烟 public static class EM_SMOKING_STATE { public static final int EM_SMOKING_UNKNOWN = 0; // 未知 public static final int EM_SMOKING_NO = 1; // 未抽烟 public static final int EM_SMOKING_YES = 2; // 抽烟 } // 对应C++头文件DH_PIC_INFO_EX public static class NET_PIC_INFO_EX extends SdkStructure { public int dwSize;//结构体大小 public int dwFileLenth;//文件大小,单位:字节 public byte[] szFilePath = new byte[MAX_PATH];// 文件路径 public NET_PIC_INFO_EX() { this.dwSize = this.size(); } } //区域;各边距按整长8192的比例 public static class NET_RECT extends SdkStructure { public int left; public int top; public int right; public int bottom; public String toString() { return "[" + left + " " + top + " " + right + " " + bottom + "]"; } } // 时间段结构 public static class NET_TSECT extends SdkStructure { public int bEnable; // 当表示录像时间段时,按位表示四个使能,从低位到高位分别表示动检录象、报警录象、普通录象、动检和报警同时发生才录像 // 当表示布撤防时间段时, 表示使能 // 当表示推送时间段时, 表示使能:1表示使能,0表示非使能 public int iBeginHour; public int iBeginMin; public int iBeginSec; public int iEndHour; public int iEndMin; public int iEndSec; public String startTime() { return iBeginHour + ":" + iBeginMin + ":" + iBeginSec; } public String endTime() { return iEndHour + ":" + iEndMin + ":" + iEndSec; } } public static class DH_RECT extends SdkStructure { public NativeLong left; public NativeLong top; public NativeLong right; public NativeLong bottom; } //二维空间点 public static class NET_POINT extends SdkStructure { public short nx; public short ny; @Override public String toString() { return "NET_POINT{" + "nx=" + nx + ", ny=" + ny + '}'; } public NET_POINT() { } } //二维空间点 public static class DH_POINT extends SdkStructure { public short nx; public short ny; public DH_POINT(){} public DH_POINT(short x, short y){ this.nx = x; this.ny = y; } } public static class NET_CANDIDAT_PIC_PATHS extends SdkStructure { public int dwSize;//结构体大小 public int nFileCount;//实际文件个数 public NET_PIC_INFO_EX[] stFiles = (NET_PIC_INFO_EX[])new NET_PIC_INFO_EX().toArray(NET_MAX_PERSON_IMAGE_NUM);//文件信息 public NET_CANDIDAT_PIC_PATHS() { this.dwSize = this.size(); } @Override public int fieldOffset(String name) { return super.fieldOffset(name); } } //颜色类型 public static class EM_COLOR_TYPE extends SdkStructure { public static final int NET_COLOR_TYPE_RED = 0;//红色 public static final int NET_COLOR_TYPE_YELLOW = 1;//黄色 public static final int NET_COLOR_TYPE_GREEN = 2; //绿色 public static final int NET_COLOR_TYPE_CYAN = 3; //青色 public static final int NET_COLOR_TYPE_BLUE = 4; //蓝色 public static final int NET_COLOR_TYPE_PURPLE = 5; //紫色 public static final int NET_COLOR_TYPE_BLACK = 6; //黑色 public static final int NET_COLOR_TYPE_WHITE = 7; //白色 public static final int NET_COLOR_TYPE_MAX = 8; } //视频分析物体信息结构体 public static class NET_MSG_OBJECT extends SdkStructure { public int nObjectID; //物体ID,每个ID表示一个唯一的物体 public byte[] szObjectType = new byte[128]; //物体类型 public int nConfidence; //置信度(0~255),值越大表示置信度越高 public int nAction; //物体动作:1:Appear2:Move3:Stay public DH_RECT BoundingBox=new DH_RECT(); //包围盒 public NET_POINT Center=new NET_POINT(); //物体型心 public int nPolygonNum; //多边形顶点个数 public NET_POINT[] Contour = new NET_POINT[NET_MAX_POLYGON_NUM];//较精确的轮廓多边形 public int rgbaMainColor; //表示车牌、车身等物体主要颜色;按字节表示,分别为红、绿、蓝和透明度,例如:RGB值为(0,255,0),透明度为0时,其值为0x00ff0000. public byte[] szText = new byte[128]; // 物体上相关的带0结束符文本,比如车牌,集装箱号等等 // "ObjectType"为"Vehicle"或者"Logo"时(尽量使用Logo。Vehicle是为了兼容老产品)表示车标,支持: // "Unknown"未知 // "Audi" 奥迪 // "Honda" 本田 // "Buick" 别克 // "Volkswagen" 大众 // "Toyota" 丰田 // "BMW" 宝马 // "Peugeot" 标致 // "Ford" 福特 // "Mazda" 马自达 // "Nissan" 尼桑 // "Hyundai" 现代 // "Suzuki" 铃木 // "Citroen" 雪铁龙 // "Benz" 奔驰 // "BYD" 比亚迪 // "Geely" 吉利 // "Lexus" 雷克萨斯 // "Chevrolet" 雪佛兰 // "Chery" 奇瑞 // "Kia" 起亚 // "Charade" 夏利 // "DF" 东风 // "Naveco" 依维柯 // "SGMW" 五菱 // "Jinbei" 金杯 // "JAC" 江淮 // "Emgrand" 帝豪 // "ChangAn" 长安 // "Great Wall" 长城 // "Skoda" 斯柯达 // "BaoJun" 宝骏 // "Subaru" 斯巴鲁 // "LandWind" 陆风 // "Luxgen" 纳智捷 // "Renault" 雷诺 // "Mitsubishi" 三菱 // "Roewe" 荣威 // "Cadillac" 凯迪拉克 // "MG" 名爵 // "Zotye" 众泰 // "ZhongHua" 中华 // "Foton" 福田 // "SongHuaJiang" 松花江 // "Opel" 欧宝 // "HongQi" 一汽红旗 // "Fiat" 菲亚特 // "Jaguar" 捷豹 // "Volvo" 沃尔沃 // "Acura" 讴歌 // "Porsche" 保时捷 // "Jeep" 吉普 // "Bentley" 宾利 // "Bugatti" 布加迪 // "ChuanQi" 传祺 // "Daewoo" 大宇 // "DongNan" 东南 // "Ferrari" 法拉利 // "Fudi" 福迪 // "Huapu" 华普 // "HawTai" 华泰 // "JMC" 江铃 // "JingLong" 金龙客车 // "JoyLong" 九龙 // "Karry" 开瑞 // "Chrysler" 克莱斯勒 // "Lamborghini" 兰博基尼 // "RollsRoyce" 劳斯莱斯 // "Linian" 理念 // "LiFan" 力帆 // "LieBao" 猎豹 // "Lincoln" 林肯 // "LandRover" 路虎 // "Lotus" 路特斯 // "Maserati" 玛莎拉蒂 // "Maybach" 迈巴赫 // "Mclaren" 迈凯轮 // "Youngman" 青年客车 // "Tesla" 特斯拉 // "Rely" 威麟 // "Lsuzu" 五十铃 // "Yiqi" 一汽 // "Infiniti" 英菲尼迪 // "YuTong" 宇通客车 // "AnKai" 安凯客车 // "Canghe" 昌河 // "HaiMa" 海马 // "Crown" 丰田皇冠 // "HuangHai" 黄海 // "JinLv" 金旅客车 // "JinNing" 精灵 // "KuBo" 酷博 // "Europestar" 莲花 // "MINI" 迷你 // "Gleagle" 全球鹰 // "ShiDai" 时代 // "ShuangHuan" 双环 // "TianYe" 田野 // "WeiZi" 威姿 // "Englon" 英伦 // "ZhongTong" 中通客车 // "Changan" 长安轿车 // "Yuejin" 跃进 // "Taurus" 金牛星 // "Alto" 奥拓 // "Weiwang" 威旺 // "Chenglong" 乘龙 // "Haige" 海格 // "Shaolin" 少林客车 // "Beifang" 北方客车 // "Beijing" 北京汽车 // "Hafu" 哈弗 public byte[] szObjectSubType = new byte[62]; // 物体子类别,根据不同的物体类型,可以取以下子类型: // Vehicle Category:"Unknown" 未知,"Motor" 机动车,"Non-Motor":非机动车,"Bus": 公交车,"Bicycle" 自行车,"Motorcycle":摩托车,"PassengerCar":客车, // "LargeTruck":大货车, "MidTruck":中货车,"SaloonCar":轿车,"Microbus":面包车,"MicroTruck":小货车,"Tricycle":三轮车, "Passerby":行人 // Plate Category:"Unknown" 未知,"Normal" 蓝牌黑牌,"Yellow" 黄牌,"DoubleYellow" 双层黄尾牌,"Police" 警牌, // "SAR" 港澳特区号牌,"Trainning" 教练车号牌 // "Personal" 个性号牌,"Agri" 农用牌,"Embassy" 使馆号牌,"Moto" 摩托车号牌,"Tractor" 拖拉机号牌,"Other" 其他号牌 // HumanFace Category:"Normal" 普通人脸,"HideEye" 眼部遮挡,"HideNose" 鼻子遮挡,"HideMouth" 嘴部遮挡 public short wColorLogoIndex; // 车标索引 public short wSubBrand; // 车辆子品牌 需要通过映射表得到真正的子品牌 映射表详见开发手册 public byte byReserved1; public byte bPicEnble; //是否有物体对应图片文件信息, 类型小bool, 取值0或者1 public NET_PIC_INFO stPicInfo=new NET_PIC_INFO(); //物体对应图片信息 public byte bShotFrame; //是否是抓拍张的识别结果, 类型小bool, 取值0或者1 public byte bColor; //物体颜色(rgbaMainColor)是否可用, 类型小bool, 取值0或者1 public byte byReserved2; public byte byTimeType; //时间表示类型,详见 EM_TIME_TYPE 说明 public NET_TIME_EX stuCurrentTime=new NET_TIME_EX(); //针对视频浓缩,当前时间戳(物体抓拍或识别时,会将此识别智能帧附在一个视频帧或jpeg图片中,此帧所在原始视频中的出现时间) public NET_TIME_EX stuStartTime=new NET_TIME_EX(); //开始时间戳(物体开始出现时) public NET_TIME_EX stuEndTime=new NET_TIME_EX(); //结束时间戳(物体最后出现时) public DH_RECT stuOriginalBoundingBox=new DH_RECT(); //包围盒(绝对坐标) public DH_RECT stuSignBoundingBox=new DH_RECT(); //车标坐标包围盒 public int dwCurrentSequence; //当前帧序号(抓下这个物体时的帧) public int dwBeginSequence; //开始帧序号(物体开始出现时的帧序号) public int dwEndSequence; //结束帧序号(物体消逝时的帧序号) public long nBeginFileOffse; //开始时文件偏移,单位:字(物体开始出现时,视频帧在原始视频文件中相对于文件起始处的偏移) public long nEndFileOffset; //结束时文件偏移,单位:字节(物体消逝时,视频帧在原始视频文件中相对于文件起始处的偏移) public byte[] byColorSimilar = new byte[EM_COLOR_TYPE.NET_COLOR_TYPE_MAX]; //物体颜色相似度,取值范围:0-100,数组下标值代表某种颜色,详见 EM_COLOR_TYPE public byte[] byUpperBodyColorSimilar = new byte[EM_COLOR_TYPE.NET_COLOR_TYPE_MAX]; //上半身物体颜色相似度(物体类型为人时有效) public byte[] byLowerBodyColorSimilar = new byte[EM_COLOR_TYPE.NET_COLOR_TYPE_MAX]; //下半身物体颜色相似度(物体类型为人时有效) public int nRelativeID; //相关物体ID public byte[] szSubText = new byte[20]; //"ObjectType"为"Vehicle"或者"Logo"时,表示车标下的某一车系,比如奥迪A6L,由于车系较多,SDK实现时透传此字段,设备如实填写。 public short wBrandYear; // 车辆品牌年款 需要通过映射表得到真正的年款 映射表详见开发手册 protected int getNativeAlignment(Class type, Object value, boolean isFirstElement) { int alignment = super.getNativeAlignment(type, value, isFirstElement); return Math.min(4, alignment); } public NET_MSG_OBJECT(){ for(int i=0;i=0,0表示自动调整大小 public int nSpecailDetectNum;//特殊检测区域个数 public CFG_SPECIALDETECT_INFO[] stSpecialDetectRegions= (CFG_SPECIALDETECT_INFO[])new CFG_SPECIALDETECT_INFO().toArray(MAX_SPECIALDETECT_NUM);//特殊检测区信息 public int nAttribute;//需要识别物体的属性个数, 类型为unsigned int public byte[] szAttributes = new byte[MAX_OBJECT_ATTRIBUTES_SIZE*MAX_NAME_LEN];//需要识别物体的属性列表,“Category” public int abPlateAnalyseMode;//nPlateAnalyseMode是否有效, BOOL类型,取值0或1 public int nPlateAnalyseMode;//车牌识别模式,0-只识别车头牌照1-只识别车尾牌照2-车头牌照优先(场景中大部分车均是车头牌照)3-车尾牌照优先(场景中大部分车均是车尾牌照) //szAttributes属性存在"Category"时生效 public int nCategoryNum;//需要识别物体的子类型总数 public int[] emCategoryType= new int[MAX_CATEGORY_TYPE_NUMBER];//子类型信息, 元素取CFG_CATEGORY_TYPE中的值 public byte[] szSceneType = new byte[CFG_COMMON_STRING_16]; // 检测区参数用于的场景类型 public CFG_LENGTH_FILETER_INFO stuLengthFilter; // 物体类型过滤器,如果指定新的过滤器以新的为准 public boolean bSceneTypeEx; // szSceneTypeEx 是否有效 public byte[] szSceneTypeEx=new byte[128]; // 检测区参数用于的场景类型扩展 } // 计量方式 public static class EM_CFG_MEASURE_MODE_TYPE extends SdkStructure { public static final int EM_CFG_NEASURE_MODE_TYPE_UNKNOW=0; // 未知 public static final int EM_CFG_NEASURE_MODE_TYPE_PIXEL=1; // 像素 public static final int EM_CFG_NEASURE_MODE_TYPE_METRIC=2; // 实际长度 }; // 过滤类型 public static class CFG_FILTER_HEIGHT_TYPE extends SdkStructure { public static final int CFG_FILTER_HEIGHT_TYPE_UNKNOW=0; // 未知 public static final int CFG_FILTER_HEIGHT_TYPE_BYHEIGHT=1; // 高度 }; // 物体类型长度过滤器 public static class CFG_LENGTH_FILETER_INFO extends SdkStructure { public int emMeasureMode; // 计量方式 public int emFilterType; // 过滤类型 public int nDetectType; // 0:大于且小于 1:大于或等于且小于或等于 2:大于且小于或等于 3:大于或等于且小于 public int nMinLen; // 最小检测长度,单位:cm public int nMaxLen; // 最大检测长度,单位:cm }; public static class CFG_ANALYSEMODULES_INFO extends SdkStructure { public int nMoudlesNum;//检测模块数 public CFG_MODULE_INFO[] stuModuleInfo= (CFG_MODULE_INFO[])new CFG_MODULE_INFO().toArray(MAX_ANALYSE_MODULE_NUM);//每个视频输入通道对应的各种类型物体的检测模块配置 } // CLIENT_FindGroupInfo接口输入参数 public static class NET_IN_FIND_GROUP_INFO extends SdkStructure { public int dwSize; public byte[] szGroupId = new byte[NET_COMMON_STRING_64];//人员组ID,唯一标识一组人员,为空表示查询全部人员组信息 public NET_IN_FIND_GROUP_INFO() { this.dwSize = this.size(); } } // 人脸数据类型 public static class EM_FACE_DB_TYPE extends SdkStructure { public static final int NET_FACE_DB_TYPE_UNKOWN = 0; public static final int NET_FACE_DB_TYPE_HISTORY = 1; // 历史数据库,存放的是检测出的人脸信息,一般没有包含人脸对应人员信息 public static final int NET_FACE_DB_TYPE_BLACKLIST = 2; // 禁止名单数据库 public static final int NET_FACE_DB_TYPE_WHITELIST = 3; // 允许名单数据库,废弃 public static final int NET_FACE_DB_TYPE_ALARM = 4; // 报警库, 废弃 public static final int NET_FACE_DB_TYPE_PASSERBY = 5; // 路人库 } // 人员组信息 public static class NET_FACERECONGNITION_GROUP_INFO extends SdkStructure { public int dwSize; public int emFaceDBType; // 人员组类型,详见EM_FACE_DB_TYPE, 取值为EM_FACE_DB_TYPE中的值 public byte[] szGroupId = new byte[NET_COMMON_STRING_64]; // 人员组ID,唯一标识一组人员(不可修改,添加操作时无效) public byte[] szGroupName = new byte[NET_COMMON_STRING_128]; // 人员组名称 public byte[] szGroupRemarks = new byte[NET_COMMON_STRING_256]; // 人员组备注信息 public int nGroupSize; // 当前组内人员数 public int nRetSimilarityCount; // 实际返回的库相似度阈值个数 public int[] nSimilarity = new int[MAX_SIMILARITY_COUNT]; // 库相似度阈值,人脸比对高于阈值认为匹配成功 public int nRetChnCount; // 实际返回的通道号个数 public int[] nChannel = new int[NET_MAX_CAMERA_CHANNEL_NUM]; // 当前组绑定到的视频通道号列表 public int[] nFeatureState = new int[MAX_FEATURESTATE_NUM]; // 人脸组建模状态信息: // [0]-准备建模的人员数量,不保证一定建模成功 // [1]-建模失败的人员数量,图片不符合算法要求,需要更换图片 // [2]-已建模成功人员数量,数据可用于算法进行目标识别 // [3]-曾经建模成功,但因算法升级变得不可用的数量,重新建模就可用 public int emRegisterDbType; // 注册库类型,详见EM_REGISTER_DB_TYPE public byte[] byReserved1=new byte[4]; // 字节对齐 public NET_PASSERBY_DB_CONFIG_INFO stuPasserbyDBConfig; // 路人库配置(选填) public int nGroupSimilarity; // 组相似度阈值,人脸比对高于阈值认为匹配成功 public int nMaskSimilarity; // 库口罩相似度阈值,取值范围0-100,可用于口罩检测 public int dwCapacity; // 最大注册数目 public int nOverWrite; // 注册库满覆盖策略: 0:未知, 1:满停止, 2:满覆盖 public NET_FACERECONGNITION_GROUP_INFO() { this.dwSize = this.size(); } } // 注册库属性 public static class EM_REGISTER_DB_TYPE extends SdkStructure { public static final int EM_REGISTER_DB_TYPE_UNKNOWN = 0; // 未知 public static final int EM_REGISTER_DB_TYPE_NORMAL = 1; // 普通库 public static final int EM_REGISTER_DB_TYPE_BLACKLIST = 2; // 禁止名单 public static final int EM_REGISTER_DB_TYPE_WHITELIST = 3; // 允许名单 public static final int EM_REGISTER_DB_TYPE_VIP = 4; // 库 public static final int EM_REGISTER_DB_TYPE_STAFF = 5; // 员工库 public static final int EM_REGISTER_DB_TYPE_LEADER = 6; // 领导库 } // CLIENT_FindGroupInfo接口输出参数 public static class NET_OUT_FIND_GROUP_INFO extends SdkStructure { public int dwSize; public Pointer pGroupInfos; // 人员组信息,由用户申请空间, 指向 NET_FACERECONGNITION_GROUP_INFO 的指针 public int nMaxGroupNum; // 当前申请的数组大小 public int nRetGroupNum; // 设备返回的人员组个数 public NET_OUT_FIND_GROUP_INFO() { this.dwSize = this.size(); } } // 人员组操作枚举 public static class EM_OPERATE_FACERECONGNITION_GROUP_TYPE extends SdkStructure { public static final int NET_FACERECONGNITION_GROUP_UNKOWN = 0; public static final int NET_FACERECONGNITION_GROUP_ADD = 1; // 添加人员组信息, 对应结构体为 NET_ADD_FACERECONGNITION_GROUP_INFO public static final int NET_FACERECONGNITION_GROUP_MODIFY = 2; // 修改人员组信息, 对应结构体为 NET_MODIFY_FACERECONGNITION_GROUP_INFO public static final int NET_FACERECONGNITION_GROUP_DELETE = 3; // 删除人员组信息, 对应结构体为 NET_DELETE_FACERECONGNITION_GROUP_INFO } // CLIENT_OperateFaceRecognitionGroup 接口输入参数 public static class NET_IN_OPERATE_FACERECONGNITION_GROUP extends SdkStructure { public int dwSize; public int emOperateType; // 操作类型, 取值为 EM_OPERATE_FACERECONGNITION_GROUP_TYPE 中的值 public Pointer pOPerateInfo; // 相关操作信息,指向void * public NET_IN_OPERATE_FACERECONGNITION_GROUP() { this.dwSize = this.size(); } } // CLIENT_OperateFaceRecognitionGroup接口输出参数 public static class NET_OUT_OPERATE_FACERECONGNITION_GROUP extends SdkStructure { public int dwSize; public byte[] szGroupId = new byte[NET_COMMON_STRING_64]; // 新增记录的人员组ID,唯一标识一组人员 public NET_OUT_OPERATE_FACERECONGNITION_GROUP() { this.dwSize = this.size(); } } // 添加人员组信息 public static class NET_ADD_FACERECONGNITION_GROUP_INFO extends SdkStructure { public int dwSize; public NET_FACERECONGNITION_GROUP_INFO stuGroupInfo; // 人员组信息 public NET_ADD_FACERECONGNITION_GROUP_INFO() { this.dwSize = this.size(); } } // 修改人员组信息 public static class NET_MODIFY_FACERECONGNITION_GROUP_INFO extends SdkStructure { public int dwSize; public NET_FACERECONGNITION_GROUP_INFO stuGroupInfo; // 人员组信息 public NET_MODIFY_FACERECONGNITION_GROUP_INFO() { this.dwSize = this.size(); } } // 删除人员组信息 public static class NET_DELETE_FACERECONGNITION_GROUP_INFO extends SdkStructure { public int dwSize; public byte[] szGroupId = new byte[NET_COMMON_STRING_64]; // 人员组ID,唯一标识一组人员 public NET_DELETE_FACERECONGNITION_GROUP_INFO() { this.dwSize = this.size(); } } // CLIENT_SetGroupInfoForChannel接口输入参数 public static class NET_IN_SET_GROUPINFO_FOR_CHANNEL extends SdkStructure { public int dwSize; public int nChannelID; // 通道号 public int nGroupIdNum; // 人员组数 public GROUP_ID[] szGroupIdArr = (GROUP_ID[])new GROUP_ID().toArray(MAX_GOURP_NUM); // 人员组ID public int nSimilaryNum; // 相似度阈值个数, 与人员组数相同 public int[] nSimilary = new int[MAX_GOURP_NUM]; // 每个人脸组的相似度阈值, 0-100 public NET_IN_SET_GROUPINFO_FOR_CHANNEL() { this.dwSize = this.size(); } } // CLIENT_SetGroupInfoForChannel接口输出参数 public static class NET_OUT_SET_GROUPINFO_FOR_CHANNEL extends SdkStructure { public int dwSize; public NET_OUT_SET_GROUPINFO_FOR_CHANNEL() { this.dwSize = this.size(); } } // 人脸查询状态信息回调函数, lAttachHandle是CLIENT_AttachFaceFindState的返回值 public static class NET_CB_FACE_FIND_STATE extends SdkStructure { public int dwSize; public int nToken; // 视频浓缩任务数据库主键ID public int nProgress; // 正常取值范围:0-100,-1,表示查询token不存在(当订阅一个不存在或结束的查询时) public int nCurrentCount; // 目前符合查询条件的人脸数量 public NET_CB_FACE_FIND_STATE() { this.dwSize = this.size(); } } //CLIENT_AttachFaceFindState接口输入参数 public static class NET_IN_FACE_FIND_STATE extends SdkStructure { public int dwSize; //结构体大小,必须填写 public int nTokenNum; //查询令牌数,为0时,表示订阅所有的查询任务 public IntByReference nTokens; //查询令牌, 指向int的指针 public Callback cbFaceFindState; //回调函数 fFaceFindState 回调 public Pointer dwUser; //用户数据 public NET_IN_FACE_FIND_STATE() { this.dwSize = this.size(); } } //CLIENT_AttachFaceFindState接口输入参数 public static class NET_OUT_FACE_FIND_STATE extends SdkStructure { public int dwSize; public NET_OUT_FACE_FIND_STATE() { this.dwSize = this.size(); } } // SDK全局日志打印信息 public static class LOG_SET_PRINT_INFO extends SdkStructure { public int dwSize; public int bSetFilePath;//是否重设日志路径, BOOL类型,取值0或1 public byte[] szLogFilePath = new byte[MAX_LOG_PATH_LEN];//日志路径(默认"./sdk_log/sdk_log.log") public int bSetFileSize;//是否重设日志文件大小, BOOL类型,取值0或1 public int nFileSize;//每个日志文件的大小(默认大小10240),单位:比特, 类型为unsigned int public int bSetFileNum;//是否重设日志文件个数, BOOL类型,取值0或1 public int nFileNum;//绕接日志文件个数(默认大小10), 类型为unsigned int public int bSetPrintStrategy;//是否重设日志打印输出策略, BOOL类型,取值0或1 public int nPrintStrategy;//日志输出策略,0:输出到文件(默认); 1:输出到窗口, 类型为unsigned int public byte[] byReserved=new byte[4]; // 字节对齐 public Pointer cbSDKLogCallBack; // 日志回调,需要将sdk日志回调出来时设置,默认为NULL public Pointer dwUser; // 用户数据 public LOG_SET_PRINT_INFO() { this.dwSize = this.size(); } } // media文件查询条件 public static class EM_FILE_QUERY_TYPE extends SdkStructure { public static final int NET_FILE_QUERY_TRAFFICCAR = 0; // 交通车辆信息, 对应结构体为 MEDIA_QUERY_TRAFFICCAR_PARAM public static final int NET_FILE_QUERY_ATM = 1; // ATM信息 public static final int NET_FILE_QUERY_ATMTXN = 2; // ATM交易信息 public static final int NET_FILE_QUERY_FACE = 3; // 人脸信息 MEDIAFILE_FACERECOGNITION_PARAM 和 MEDIAFILE_FACERECOGNITION_INFO public static final int NET_FILE_QUERY_FILE = 4; // 文件信息对应 NET_IN_MEDIA_QUERY_FILE 和 NET_OUT_MEDIA_QUERY_FILE public static final int NET_FILE_QUERY_TRAFFICCAR_EX = 5; // 交通车辆信息,扩展 NET_FILE_QUERY_TRAFFICCAR,支持更多的字段, 对应结构体为 MEDIA_QUERY_TRAFFICCAR_PARAM_EX public static final int NET_FILE_QUERY_FACE_DETECTION = 6; // 目标检测事件信息MEDIAFILE_FACE_DETECTION_PARAM和 MEDIAFILE_FACE_DETECTION_INFO public static final int NET_FILE_QUERY_SNAPSHOT_WITH_MARK = 17; // 标记抓图查询, 对应MEDIAFILE_SNAPSHORT_WITH_MARK_PARAM 和MEDIAFILE_SNAPSHORT_WITH_MARK_INFO public static final int NET_FILE_QUERY_ANATOMY_TEMP_DETECT = 18;// 人体测温信息查询, 对应 MEDIAFILE_ANATOMY_TEMP_DETECT_PARAM 和 MEDIAFILE_ANATOMY_TEMP_DETECT_INFO public static final int NET_FILE_QUERY_FIRE_CONTROL_MONITOR = 21;//消控室值班行为检测事件查询,对应 MEDIAFILE_FIRE_CONTROL_MONITOR_PARAM 和 MEDIAFILE_FIRE_CONTROL_MONITOR_INFO public static final int NET_FILE_QUERY_MOBILE_ENFORCE = 27; // 采集站和手持终端文件信息查询,对应 MEDIAFILE_MOBILE_ENFORCE_PARAM 和 MEDIAFILE_MOBILE_ENFORCE_INFO public static final int NET_FILE_QUERY_SMART_KITCHEN_CLOTHES_DETECTION=28; // 智慧厨房查询,对应 MEDIAFILE_SMART_KITCHEN_CLOTHES_DETECTION_PARAM 和 MEDIAFILE_SMART_KITCHEN_CLOTHES_DETECTION_INFO public static final int NET_FILE_QUERY_EXAM=33; //按照考生或考场信息查找录像, 对应 NET_MEDIAFILE_EXAM_PARAM 和 NET_MEDIAFILE_EXAM_INFO } // 查询跳转条件 public static class NET_FINDING_JUMP_OPTION_INFO extends SdkStructure { public int dwSize; public int nOffset;//查询结果偏移量,是相对于当前查询的第一条查询结果的位置偏移 public NET_FINDING_JUMP_OPTION_INFO() { this.dwSize = this.size(); } } // 云台联动类型 public static class CFG_LINK_TYPE extends SdkStructure { public static final int LINK_TYPE_NONE = 0; //无联动 public static final int LINK_TYPE_PRESET = 1; //联动预置点 public static final int LINK_TYPE_TOUR = 2; //联动巡航 public static final int LINK_TYPE_PATTERN = 3; //联动轨迹 public static final int LINK_TYPE_ZOOM = 4; // 联动变倍 public static final int LINK_TYPE_SINGLESCENE = 5; // 联动智能单场景 public static final int LINK_TYPE_QUICKFOCUS = 6; // 热成像云台联动快速定位 } // 联动云台信息 public static class CFG_PTZ_LINK extends SdkStructure { public int emType;//联动类型, 取值为CFG_LINK_TYPE中的值 public int nValue;//联动取值分别对应预置点号,巡航号等等 } // 联动云台信息扩展 public static class CFG_PTZ_LINK_EX extends SdkStructure { public int emType;//联动类型, 取值为CFG_LINK_TYPE中的值 public int nParam1;//联动参数1 public int nParam2;//联动参数2 public int nParam3;//联动参数3 public int nChannelID;//所联动云台通道 } // RGBA信息 public static class CFG_RGBA extends SdkStructure { public int nRed; public int nGreen; public int nBlue; public int nAlpha; } // 事件标题内容结构体 public static class CFG_EVENT_TITLE extends SdkStructure { public byte[] szText=new byte[64]; /** 标题左上角坐标, 采用0-8191相对坐标系 */ public CFG_POLYGON stuPoint=new CFG_POLYGON(); /** 标题的宽度和高度,采用0-8191相对坐标系,某项或者两项为0表示按照字体自适应宽高 */ public CFG_SIZE stuSize=new CFG_SIZE(); /** 前景颜色 */ public CFG_RGBA stuFrontColor=new CFG_RGBA(); /** 背景颜色 */ public CFG_RGBA stuBackColor=new CFG_RGBA(); } public static class NET_CFG_EVENT_TITLE extends SdkStructure { public byte[] szText = new byte[MAX_CHANNELNAME_LEN]; public NET_POINT stuPoint;//标题左上角坐标,采用0-8191相对坐标系 public NET_SIZE stuSize;//标题的宽度和高度,采用0-8191相对坐标系,某项或者两项为0表示按照字体自适应宽高 public CFG_RGBA stuFrontColor;//前景颜色 public CFG_RGBA stuBackColor;//背景颜色 } // 邮件附件类型 public static class CFG_ATTACHMENT_TYPE extends SdkStructure { public static final int ATTACHMENT_TYPE_PIC = 0; //图片附件 public static final int ATTACHMENT_TYPE_VIDEO = 1; //视频附件 public static final int ATTACHMENT_TYPE_NUM = 2; //附件类型总数 } // 分割模式 public static class CFG_SPLITMODE extends SdkStructure { public static final int SPLITMODE_1 =1;//1画面 public static final int SPLITMODE_2 =2;//2画面 public static final int SPLITMODE_4 =4;//4画面 public static final int SPLITMODE_5 =5;//5画面 public static final int SPLITMODE_6 =6;//6画面 public static final int SPLITMODE_8 =8;//8画面 public static final int SPLITMODE_9 =9;//9画面 public static final int SPLITMODE_3 = 10; // 3画面 public static final int SPLITMODE_3B = 11; // 3画面倒品 public static final int SPLITMODE_12 =12;//12画面 public static final int SPLITMODE_16 =16;//16画面 public static final int SPLITMODE_20 =20;//20画面 public static final int SPLITMODE_25 =25;//25画面 public static final int SPLITMODE_36 =36;//36画面 public static final int SPLITMODE_64 =64;//64画面 public static final int SPLITMODE_144 =144;//144画面 public static final int SPLITMODE_PIP =1000;//画中画分割模式基础值 public static final int SPLITMODE_PIP1 =SPLITMODE_PIP+1;//画中画模式, 1个全屏大画面+1个小画面窗口 public static final int SPLITMODE_PIP3 =SPLITMODE_PIP+3;//画中画模式, 1个全屏大画面+3个小画面窗口 public static final int SPLITMODE_FREE =SPLITMODE_PIP*2;//自由开窗模式,可以自由创建、关闭窗口,自由设置窗口位置和Z轴次序 public static final int SPLITMODE_COMPOSITE_1 = SPLITMODE_PIP * 3 + 1; // 融合屏成员1分割 public static final int SPLITMODE_COMPOSITE_4 = SPLITMODE_PIP * 3 + 4; // 融合屏成员4分割 } // 轮巡联动配置 public static class CFG_TOURLINK extends SdkStructure { public int bEnable;//轮巡使能, BOOL类型,取值0或1 public int emSplitMode;//轮巡时的分割模式,取值范围为CFG_SPLITMODE中的值 public int[] nChannels = new int[MAX_VIDEO_CHANNEL_NUM];//轮巡通道号列表 public int nChannelCount;//轮巡通道数量 } // 门禁操作类型 public static class EM_CFG_ACCESSCONTROLTYPE extends SdkStructure { public static final int EM_CFG_ACCESSCONTROLTYPE_NULL = 0;//不做操作 public static final int EM_CFG_ACCESSCONTROLTYPE_AUTO = 1; //自动 public static final int EM_CFG_ACCESSCONTROLTYPE_OPEN = 2; //开门 public static final int EM_CFG_ACCESSCONTROLTYPE_CLOSE = 3; //关门 public static final int EM_CFG_ACCESSCONTROLTYPE_OPENALWAYS = 4; //永远开启 public static final int EM_CFG_ACCESSCONTROLTYPE_CLOSEALWAYS = 5; //永远关闭 } // 邮件详细内容 public static class CFG_MAIL_DETAIL extends SdkStructure { public int emAttachType;//附件类型, 取值范围为CFG_ATTACHMENT_TYPE中的值 public int nMaxSize;//文件大小上限,单位kB public int nMaxTimeLength;//最大录像时间长度,单位秒,对video有效 } // 语音呼叫发起方 public static class EM_CALLER_TYPE extends SdkStructure { public static final int EM_CALLER_DEVICE = 0;//设备发起 } // 呼叫协议 public static class EM_CALLER_PROTOCOL_TYPE extends SdkStructure { public static final int EM_CALLER_PROTOCOL_CELLULAR = 0;//手机方式 } // 语音呼叫联动信息 public static class CFG_TALKBACK_INFO extends SdkStructure { public int bCallEnable;//语音呼叫使能, BOOL类型,取值0或1 public int emCallerType;//语音呼叫发起方, 取值范围为EM_CALLER_TYPE中的值 public int emCallerProtocol;//语音呼叫协议, 取值范围为EM_CALLER_PROTOCOL_TYPE中的值 } // 电话报警中心联动信息 public static class CFG_PSTN_ALARM_SERVER extends SdkStructure { public int bNeedReport;//是否上报至电话报警中心, BOOL类型,取值0或1 public int nServerCount;//电话报警服务器个数 public byte[] byDestination = new byte[MAX_PSTN_SERVER_NUM];//上报的报警中心下标,详见配置CFG_PSTN_ALARM_CENTER_INFO } // 时间表信息 public static class CFG_TIME_SCHEDULE extends SdkStructure { /** 是否支持节假日配置,默认为不支持,除非获取配置后返回为TRUE,不要使能假日配置 */ public int bEnableHoliday; /** 第一维前7个元素对应每周7天,第8个元素对应节假日,每天最多6个时间段 */ public CFG_TIME_SECTION[] stuTimeSectionWeekDay=new CFG_TIME_SECTION[8*6]; public CFG_TIME_SCHEDULE(){ for(int i=0;i0,禁止名单数据记录 public NET_COLOR_RGBA stuRGBA; // 车身颜色RGBA public NET_TIME stSnapTime; // 抓拍时间 public int nRecNo; // 记录编号 public byte[] szCustomParkNo= new byte[NET_COMMON_STRING_32+1];// 自定义车位号(停车场用) public byte[] byReserved1 = new byte[3]; public int nDeckNo; // 车板位号 public int nFreeDeckCount; // 空闲车板数量 public int nFullDeckCount; // 占用车板数量 public int nTotalDeckCount; // 总共车板数量 public byte[] szViolationName = new byte[64]; // 违章名称 public int nWeight; // 车重(单位Kg), 类型为unsigned int public byte[] szCustomRoadwayDirection = new byte[32];// 自定义车道方向,byDirection为9时有效 public byte byPhysicalLane; // 物理车道号,取值0到5 public byte[] byReserved2 = new byte[3]; public int emMovingDirection; // 车辆行驶方向 EM_TRAFFICCAR_MOVE_DIRECTION public NET_TIME stuEleTagInfoUTC; // 对应电子车牌标签信息中的过车时间(ThroughTime) public NET_RECT stuCarWindowBoundingBox; // 车窗包围盒,0~8191 public NET_TRAFFICCAR_WHITE_LIST stuWhiteList; // 允许名单信息 public int emCarType; // 车辆类型, 详见 EM_TRAFFICCAR_CAR_TYPE public int emLaneType; // 车道类型, 详见EM_TRAFFICCAR_LANE_TYPE public byte[] szVehicleBrandYearText = new byte[64]; // 车系年款翻译后文本内容 public byte[] szCategory = new byte[32]; // 车辆子类型 public NET_TRAFFICCAR_BLACK_LIST stuBlackList; // 禁止名单信息 public int emFlowDirection; // 车流量方向 EM_VEHICLE_DIRECTION /** * 收费公路车辆通行费车型分类 {@link com.netsdk.lib.enumeration.EM_TOLLS_VEHICLE_TYPE} */ public int emTollsVehicleType; /** * 轴型代码,参考轴型国标 0代表其他 */ public int nAxleType; /** * 车轴数量 */ public int nAxleCount; /** * 车轮数量 */ public int nWheelNum; /** * 车身抠图 */ public NET_TRAFFICCAR_ORIGINAL_VEHICLE stuOriginalVehicle = new NET_TRAFFICCAR_ORIGINAL_VEHICLE(); /** * 按功能划分的车辆类型 {@link EM_VEHICLE_TYPE_BY_FUNC} */ public int emVehicleTypeByFunc; /** * 车辆子品牌 */ public short nSunBrand; /** * 车辆年款 */ public short nBrandYear; /** * 交通灯类型,仅在EVENT_IVS_TRAFFIC_RUNREDLIGHT中有效, 0;未知, 1:箭头灯, 2:圆形灯 */ public int nTrafficLightType; /** * 车牌属性 {@link com.netsdk.lib.enumeration.EM_PLATE_ATTRIBUTE} */ public int emPlateAttribute; /** * 交通车辆信息扩展, refer to {@link com.netsdk.lib.structure.NET_TRAFFICCAR_INFO_EXTERN} */ public Pointer pTrafficInfoExtern; /** * 保留字节,留待扩展 */ public byte[] bReserved = new byte[132 - POINTERSIZE]; } // 禁止名单信息 public static class NET_TRAFFICCAR_BLACK_LIST extends SdkStructure { /** 是否已启用禁止名单 */ public int bEnable; /** 车牌是否属于禁止名单 */ public int bIsBlackCar; /** 禁止名单起始时间 */ public NET_TIME stuBeginTime=new NET_TIME(); /** 禁止名单过期时间 */ public NET_TIME stuCancelTime=new NET_TIME(); /** 布控类型 {@link com.netsdk.lib.enumeration.EM_NET_TRAFFIC_CAR_CONTROL_TYPE} */ public int emControlType; /** 布控路线ID */ public int nControlledRouteID; /** 保留字节 */ public byte[] bReserved=new byte[24]; public NET_TRAFFICCAR_BLACK_LIST(){ } } // 车辆类型 public static class EM_TRAFFICCAR_CAR_TYPE extends SdkStructure { public static final int EM_TRAFFICCAR_CAR_TYPE_UNKNOWN = 0; // 未知 public static final int EM_TRAFFICCAR_CAR_TYPE_TRUST_CAR = 1; // 允许名单车辆 public static final int EM_TRAFFICCAR_CAR_TYPE_SUSPICIOUS_CAR = 2; // 禁止名单车辆 public static final int EM_TRAFFICCAR_CAR_TYPE_NORMAL_CAR = 3; // 非允许名单且非禁止名单车辆 } // 车道类型 public static class EM_TRAFFICCAR_LANE_TYPE extends SdkStructure { public static final int EM_TRAFFICCAR_LANE_TYPE_UNKNOWN = 0; // 未知 public static final int EM_TRAFFICCAR_LANE_TYPE_NORMAL = 1; // 普通车道 public static final int EM_TRAFFICCAR_LANE_TYPE_NONMOTOR = 2; // 非机动车车道 public static final int EM_TRAFFICCAR_LANE_TYPE_LIGHT_DUTY = 3; // 小型车车道 public static final int EM_TRAFFICCAR_LANE_TYPE_BUS = 4; // 公交车车道 public static final int EM_TRAFFICCAR_LANE_TYPE_EMERGENCY = 5; // 应急车道 public static final int EM_TRAFFICCAR_LANE_TYPE_DANGEROUS = 6; // 危险品车道 } // 允许名单信息 public static class NET_TRAFFICCAR_WHITE_LIST extends SdkStructure { public int bTrustCar; // 车牌是否属于允许名单 public NET_TIME stuBeginTime; // 允许名单起始时间 public NET_TIME stuCancelTime; // 允许名单过期时间 public NET_WHITE_LIST_AUTHORITY_LIST stuAuthorityList; // 允许名单权限列表 public byte[] bReserved = new byte[32];// 保留字节 } // 允许名单权限列表 public static class NET_WHITE_LIST_AUTHORITY_LIST extends SdkStructure { public int bOpenGate; // 是否有开闸权限 public byte[] bReserved = new byte[16]; // 保留字节 } // 事件类型EVENT_IVS_TRAFFIC_PARKING(交通违章停车事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_PARKING_INFO extends SdkStructure { public int nChannelID;//通道号 public byte[] szName = new byte[128];//事件名称 public byte[] bReserved1 = new byte[4];//字节对齐 public double PTS;//时间戳(单位是毫秒) public NET_TIME_EX UTC = new NET_TIME_EX();//事件发生的时间 public int nEventID;//事件ID public NET_MSG_OBJECT stuObject = new NET_MSG_OBJECT();//检测到的物体 public NET_MSG_OBJECT stuVehicle = new NET_MSG_OBJECT();//车身信息 public int nLane;//对应车道号 public NET_EVENT_FILE_INFO stuFileInfo = new NET_EVENT_FILE_INFO();//事件对应文件信息 public byte bEventAction;//事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] reserved = new byte[2];//保留字节 public byte byImageIndex;//图片的序号,同一时间内(精确到秒)可能有多张图片,从0开始 public NET_TIME_EX stuStartParkingTime = new NET_TIME_EX();//开始停车时间 public int nSequence;//表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束(bEventAction=2时此参数有效) public int nAlarmIntervalTime;//报警时间间隔,单位:秒。(此事件为连续性事件,在收到第一个此事件之后,若在超过间隔时间后未收到此事件的后续事件,则认为此事件异常结束了) public int nParkingAllowedTime;//允许停车时长,单位:秒。 public int nDetectRegionNum;//规则检测区域顶点数 public NET_POINT[] DetectRegion = (NET_POINT[]) new NET_POINT().toArray(NET_MAX_DETECT_REGION_NUM);//规则检测区域 public int dwSnapFlagMask;//抓图标志(按位),具体见NET_RESERVED_COMMON public NET_RESOLUTION_INFO stuResolution = new NET_RESOLUTION_INFO();//对应图片的分辨率 public int bIsExistAlarmRecord;//true:有对应的报警录像;false:无对应的报警录像, 类型为BOOL, 取值为0或1 public int dwAlarmRecordSize;//录像大小 public byte[] szAlarmRecordPath = new byte[NET_COMMON_STRING_256];//录像路径 public byte[] szFTPPath = new byte[NET_COMMON_STRING_256];//FTP路径 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo = new EVENT_INTELLI_COMM_INFO();//智能事件公共信息 public byte byPreAlarm; // 是否为违章预警图片,0 违章停车事件1 预警事件(预警触发后一定时间,车辆还没有离开,才判定为违章)由于此字段会导致事件含义改变,必须和在平台识别预警事件后,才能有此字段, public byte[] bReserved2 = new byte[3]; // 保留字节,留待扩展. public NET_GPS_INFO stuGPSInfo = new NET_GPS_INFO(); // GPS信息 public Pointer pstuImageInfo;//图片信息数组,{@link NET_IMAGE_INFO_EX2} public int nImageInfoNum;//图片信息个数 public int nPresetID;//预置点编号,从1开始 public byte[] szSN = new byte[32];//设备SN号 public byte[] bReserved = new byte[184];//保留字节,留待扩展. public com.netsdk.lib.structure.DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar = new com.netsdk.lib.structure.DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO();//交通车辆信息 public EVENT_COMM_INFO stCommInfo = new EVENT_COMM_INFO();//公共信息 public VA_OBJECT_NONMOTOR stuNonMotor = new VA_OBJECT_NONMOTOR();//非机动车对象 public int bHasNonMotor;//是否有非机动车对象 public int nParkingDuration;//违停持续时间,单位:秒, 0表示无意义 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND();//事件公共扩展字段结构体 public DEV_EVENT_TRAFFIC_PARKING_INFO() { for (int i = 0; i < DetectRegion.length; i++) { DetectRegion[i] = new NET_POINT(); } } } //停车场信息 public static class DEV_TRAFFIC_PARKING_INFO extends SdkStructure { public int nFeaturePicAreaPointNum; // 特征图片区点个数 public NET_POINT[] stFeaturePicArea = (NET_POINT[])new NET_POINT().toArray(NET_MAX_POLYGON_NUM); // 特征图片区信息 public byte[] bReserved = new byte[572]; // 保留字节 } //事件类型 EVENT_IVS_TRAFFIC_PARKINGSPACEPARKING(车位有车事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_PARKINGSPACEPARKING_INFO extends SdkStructure { /** * 通道号 */ public int nChannelID; /** * 事件名称 */ public byte[] szName = new byte[128]; /** * 字节对齐 */ public byte[] bReserved1 = new byte[8]; /** * 时间戳(单位是毫秒) */ public int PTS; /** * 事件发生的时间 */ public NET_TIME_EX UTC = new NET_TIME_EX(); /** * 事件ID */ public int nEventID; /** * 对应车道号 */ public int nLane; /** * 检测到的物体 */ public NET_MSG_OBJECT stuObject = new NET_MSG_OBJECT(); /** * 车身信息 */ public NET_MSG_OBJECT stuVehicle = new NET_MSG_OBJECT(); /** * 事件对应文件信息 */ public NET_EVENT_FILE_INFO stuFileInfo = new NET_EVENT_FILE_INFO(); /** * 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 */ public int nSequence; /** * 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; */ public byte bEventAction; public byte[] byReserved = new byte[2]; /** * 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 */ public byte byImageIndex; /** * 抓图标志(按位),具体见NET_RESERVED_COMMON */ public int dwSnapFlagMask; /** * 对应图片的分辨率 */ public NET_RESOLUTION_INFO stuResolution = new NET_RESOLUTION_INFO(); /** * 交通车辆信息 */ public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar = new DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO(); /** * 车位综合的状态,0-占用,1-空闲,2-压线 */ public int nParkingSpaceStatus; /** * 停车场信息 */ public DEV_TRAFFIC_PARKING_INFO stTrafficParingInfo = new DEV_TRAFFIC_PARKING_INFO(); /** * 车牌识别来源, 0:本地算法识别,1:后端服务器算法识别 */ public byte byPlateTextSource; /** * 字节对齐 */ public byte[] byReserved2 = new byte[3]; /** * 车位(地磁)编号 */ public byte[] szParkingNum = new byte[32]; /** * 球机预置位编号 */ public int dwPresetNum; /** * 车位是否有故障 */ public int bParkingFault; /** * 保留字节 */ public byte[] bReserved = new byte[364]; /** * 公共信息 */ public EVENT_COMM_INFO stCommInfo = new EVENT_COMM_INFO(); /** * 车位图片信息 */ public NET_INTELLIGENCE_IMAGE_INFO stuParkingImage = new NET_INTELLIGENCE_IMAGE_INFO(); /** * 车位置信度(0-100) */ public int nConfidence; /** * 是否跨位 {@link com.netsdk.lib.enumeration.EM_ACROSS_PARKING} */ public int emAcrossParking; /** * 停车方向 {@link com.netsdk.lib.enumeration.EM_PARKINGSPACE_DIRECTION} */ public int emParkingDirection; /** * 禁停状态 {@link com.netsdk.lib.enumeration.EM_FORBID_PARKING_STATUS} */ public int emForbidParkingStatus; /** * 是否小车占大车位 {@link com.netsdk.lib.enumeration.EM_SMALL_OCCUPY_LARGE} */ public int emSmallOccupyLarge; /** * 是否为非允许名单车辆 {@link com.netsdk.lib.enumeration.EM_NON_ALLOW_LIST_CAR} */ public int emNonAllowListCar; /** * 是否为非新能源车辆 {@link com.netsdk.lib.enumeration.EM_NON_NEW_ENERGY_CAR} */ public int emNonNewEnergyCar; /** * 为图片信息做预留字节,新增的字段请在该保留字节下面添加 */ public byte[] byReserved1 = new byte[992]; /** * 触发类型 {@link com.netsdk.lib.enumeration.EM_PARKING_TRIGGER_TYPE} */ public int emTriggerType; /** * 一位多车信息, 如果车位此前没有车占用, 不会带有本字段信息 */ public DEV_OCCUPIED_WARNING_INFO stuOccupiedWarningInfo = new DEV_OCCUPIED_WARNING_INFO(); /** * 所有使能的车位号 */ public ParkingNoWithSize32[] szAllParkingNo = new ParkingNoWithSize32[12]; /** * 使能车位号的个数 */ public int nParkingNoNum; /** * 车位有车的事件类型 {@link com.netsdk.lib.enumeration.EM_PARKING_SPACE_TYPE} */ public int emParkingSpaceType; /** * 停车变更信息 */ public NET_PARKING_CHANGE_INFO stuParkingChangeInfo = new NET_PARKING_CHANGE_INFO(); /** * 图片信息数组 */ public Pointer pstuImageInfo; /** * 图片信息个数 */ public int nImageInfoNum; /** * 事件公共扩展字段结构体 */ public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); /** * 字节对齐 */ public byte[] szReserved = new byte[4]; public DEV_EVENT_TRAFFIC_PARKINGSPACEPARKING_INFO() { for(int i = 0;i 0,禁止名单数据记录 public EVENT_COMM_INFO stCommInfo; // 公共信息 public byte[] bReserved = new byte[452]; // 保留字节,留待扩展. } //事件类型EVENT_IVS_TRAFFIC_RUNREDLIGHT(交通-闯红灯事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_RUNREDLIGHT_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 车牌信息 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nLightState; // 红绿灯状态 0:未知 1:绿灯 2:红灯 3:黄灯 public int nSpeed; // 车速,km/h public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_TIME_EX stRedLightUTC; // 红灯开始时间 public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public byte byRedLightMargin; // 红灯容许间隔时间,单位:秒 public byte[] byAlignment = new byte[3]; // 字节对齐 public int nRedLightPeriod; // 表示红灯周期时间,单位毫秒 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[928]; // 保留字节 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 public int bHasNonMotor; // 是否有非机动车对象 public VA_OBJECT_NONMOTOR stuNonMotor; // 非机动车对象 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 } //事件类型EVENT_IVS_TRAFFIC_OVERLINE(交通-压线事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_OVERLINE_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 车牌信息 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public int nSpeed; // 车辆实际速度,Km/h public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[968]; // 保留字节 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 } // 事件类型EVENT_IVS_TRAFFIC_RETROGRADE(交通-逆行事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_RETROGRADE_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 车牌信息 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public int nSpeed; // 车辆实际速度,Km/h public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public int bIsExistAlarmRecord; // rue:有对应的报警录像; false:无对应的报警录像 public int dwAlarmRecordSize; // 录像大小 public byte[] szAlarmRecordPath = new byte[NET_COMMON_STRING_256]; // 录像路径 public EVENT_INTELLI_COMM_INFO intelliCommInfo; // 智能事件公共信息 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[484]; // 保留字节 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public int nDetectNum; // 规则检测区域顶点数 public NET_POINT[] DetectRegion = (NET_POINT[])new NET_POINT().toArray(NET_MAX_DETECT_REGION_NUM); // 规则检测区域 public EVENT_COMM_INFO stCommInfo; // 公共信息 public int bHasNonMotor; // 是否有非机动车对象 public VA_OBJECT_NONMOTOR stuNonMotor; // 非机动车对象 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 } //事件类型EVENT_IVS_TRAFFIC_OVERSPEED(交通超速事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_OVERSPEED_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nSpeed; // 车辆实际速度Km/h public int nSpeedUpperLimit; // 速度上限 单位:km/h public int nSpeedLowerLimit; // 速度下限 单位:km/h public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public byte[] szFilePath = new byte[MAX_PATH]; // 文件路径 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public NET_GPS_INFO stuGPSInfo; // GPS信息 public int nSpeedingPercentage; // 超速百分比 public byte[] bReserved = new byte[572]; // 保留字节 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 public NET_REGION_INFO stRegionInfo; // 区间测速信息 public NET_EVENT_INFO_EXTEND stuEventInfoEx; // 事件公共扩展字段结构体 public VA_OBJECT_NONMOTOR stuNonMotor; // 非机动车信息 public int bHasNonMotor; // 是否有非机动车对象 } //事件类型EVENT_IVS_TRAFFIC_UNDERSPEED(交通欠速事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_UNDERSPEED_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved2 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nSpeed; // 车辆实际速度Km/h public int nSpeedUpperLimit; // 速度上限 单位:km/h public int nSpeedLowerLimit; // 速度下限 单位:km/h public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] bReserved1 = new byte[2]; // 对齐 public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int nUnderSpeedingPercentage; // 欠速百分比 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[832]; // 保留字节 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 } //事件类型EVENT_IVS_TRAFFIC_WRONGROUTE(交通违章-不按车道行驶)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_WRONGROUTE_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public int nLane; // 对应车道号 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int nSpeed; // 车辆实际速度,km/h public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[972]; // 保留字节,留待扩展. public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 } // 事件类型 EVENT_IVS_TRAFFIC_TURNLEFT(交通-违章左转)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_TURNLEFT_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC ; // 事件发生的时间 public int nEventID; // 事件ID public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 车牌信息 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public int nSpeed; // 车辆实际速度,Km/h public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见 NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[968]; // 保留字节 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 public VA_OBJECT_NONMOTOR stuNonMotor; // 非机动车对象 public int bHasNonMotor; // 是否有非机动车对象 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 } // 事件类型 EVENT_IVS_TRAFFIC_TURNRIGHT (交通-违章右转)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_TURNRIGHT_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 车牌信息 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public int nSpeed; // 车辆实际速度,Km/h public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见 NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[968]; // 保留字节 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 public VA_OBJECT_NONMOTOR stuNonMotor; // 非机动车对象 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 } // 事件类型EVENT_IVS_TRAFFIC_UTURN(违章调头事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_UTURN_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 车牌信息 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public int nSpeed; // 车辆实际速度,Km/h public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见 NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[968]; // 保留字节 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 public VA_OBJECT_NONMOTOR stuNonMotor; // 非机动车对象 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 } //事件类型 EVENT_IVS_TRAFFIC_RUNYELLOWLIGHT(交通违章-闯黄灯事件)对应数据块描述信息 public static class DEV_EVENT_TRAFFIC_RUNYELLOWLIGHT_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 车牌信息 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nLightState; // 红绿灯状态 0:未知 1:绿灯 2:红灯 3:黄灯 public int nSpeed; // 车速,km/h public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见 NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_TIME_EX stYellowLightUTC; // 黄灯开始时间 public int nYellowLightPeriod; // 黄灯周期间隔时间,单位秒 public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public byte byRedLightMargin; // 黄灯容许间隔时间,单位:秒 public byte[] szSourceDevice = new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public byte[] bReserved = new byte[1024]; // 保留字节 public EVENT_COMM_INFO stCommInfo; // 公共信息 } //事件类型EVENT_IVS_TRAFFIC_OVERYELLOWLINE(交通违章-压黄线)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_OVERYELLOWLINE_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public int nLane; // 对应车道号 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int nSpeed; // 车辆实际速度,km/h public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public int bIsExistAlarmRecord; // bool 类型: 1:有对应的报警录像; 0:无对应的报警录像 public int dwAlarmRecordSize; // 录像大小 public byte[] szAlarmRecordPath = new byte[NET_COMMON_STRING_256]; // 录像路径 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public Pointer pstuImageInfo; // 图片信息数组 ,指正对应结构体 NET_IMAGE_INFO_EX3的数组 public int nImageInfoNum; // 图片信息个数 public byte[] bReserved = new byte[528 - POINTERSIZE]; // 保留字节,留待扩展. public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public int nDetectNum; // 规则检测区域顶点数 public NET_POINT[] DetectRegion = (NET_POINT[])new NET_POINT().toArray(NET_MAX_DETECT_REGION_NUM); // 规则检测区域 public EVENT_COMM_INFO stCommInfo; // 公共信息 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 } //事件类型EVENT_IVS_TRAFFIC_YELLOWPLATEINLANE(交通违章-黄牌车占道事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_YELLOWPLATEINLANE_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public int nLane; // 对应车道号 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int nSpeed; // 车辆实际速度,km/h public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public byte[] bReserved = new byte[1016]; // 保留字节,留待扩展. public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 } //事件类型 EVENT_IVS_TRAFFIC_VEHICLEINROUTE(有车占道事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_VEHICLEINROUTE_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public int nLane; // 对应车道号 public int nSequence; // 抓拍序号,如3-2-1/0,1表示抓拍正常结束,0表示抓拍异常结束 public int nSpeed; // 车速 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 表示交通车辆的数据库记录 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved0 = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public byte[] byReserved = new byte[884]; public EVENT_COMM_INFO stCommInfo; // 公共信息 } //事件类型EVENT_IVS_TRAFFIC_CROSSLANE(交通违章-违章变道)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_CROSSLANE_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public int nLane; // 对应车道号 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int nSpeed; // 车辆实际速度,km/h public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[836]; // 保留字节,留待扩展.留待扩展. public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stuTrafficCar; // 交通车辆信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 } // 事件类型EVENT_IVS_TRAFFIC_NOPASSING(交通违章-禁止通行事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_NOPASSING_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public int nTriggerType; // TriggerType:触发类型,0车检器,1雷达,2视频 public int PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int UTCMS; // public int nMark; // 底层产生的触发抓拍帧标记 public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public byte[] byReserved1 = new byte[3]; public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public int nFrameSequence; // 视频分析帧序号 public int nSource; // 视频分析的数据源地址 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] byReserved = new byte[984]; // 保留字节 public EVENT_COMM_INFO stCommInfo; // 公共信息 } //事件类型 EVENT_IVS_TRAFFIC_PEDESTRAINPRIORITY(斑马线行人优先事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_PEDESTRAINPRIORITY_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nLane; // 对应车道号 public double dInitialUTC; // 事件初始UTC时间 UTC为事件的UTC (1970-1-1 00:00:00)秒数。 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 表示交通车辆的数据库记录 public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[984]; // 保留字节,留待扩展. public EVENT_COMM_INFO stCommInfo; // 公共信息 } //事件类型 EVENT_IVS_TRAFFIC_VEHICLEINBUSROUTE(占用公交车道事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_VEHICLEINBUSROUTE_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nLane; // 对应车道号 public int nSequence; // 抓拍序号,如3-2-1/0,1表示抓拍正常结束,0表示抓拍异常结束 public int nSpeed; // 车速,km/h public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 表示交通车辆的数据库记录 public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[980]; // 保留字节,留待扩展. public EVENT_COMM_INFO stCommInfo; // 公共信息 } //事件类型 EVENT_IVS_TRAFFIC_BACKING(违章倒车事件)对应的数据块描述信息 public static class DEV_EVENT_IVS_TRAFFIC_BACKING_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nLane; // 对应车道号 public int nSequence; // 抓拍序号,如3-2-1/0,1表示抓拍正常结束,0表示抓拍异常结束 public int nSpeed; // 车速,km/h public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 表示交通车辆的数据库记录 public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[848]; // 保留字节,留待扩展. public EVENT_COMM_INFO stCommInfo; // 公共信息 } // GPS信息 public static class NET_GPS_INFO extends SdkStructure { public int nLongitude; // 经度(单位是百万分之一度) // 西经:0 - 180000000 实际值应为: 180*1000000 – dwLongitude // 东经:180000000 - 360000000 实际值应为: dwLongitude – 180*1000000 // 如: 300168866应为(300168866 - 180*1000000)/1000000 即东经120.168866度 public int nLatidude; // 纬度(单位是百万分之一度) // 南纬:0 - 90000000 实际值应为: 90*1000000 – dwLatidude // 北纬:90000000 – 180000000 实际值应为: dwLatidude – 90*1000000 // 如: 120186268应为 (120186268 - 90*1000000)/1000000 即北纬30. 186268度 public double dbAltitude; // 高度,单位为米 public double dbSpeed; // 速度,单位km/H public double dbBearing; // 方向角,单位° public byte[] bReserved = new byte[8]; // 保留字段 protected int getNativeAlignment(Class type, Object value, boolean isFirstElement) { int alignment = super.getNativeAlignment(type, value, isFirstElement); return Math.min(4, alignment); } @Override public String toString() { return "NET_GPS_INFO{" + "nLongitude=" + nLongitude + ", nLatidude=" + nLatidude + ", dbAltitude=" + dbAltitude + ", dbSpeed=" + dbSpeed + ", dbBearing=" + dbBearing + '}'; } } // 事件类型 EVENT_IVS_TRAFFIC_OVERSTOPLINE (压停车线事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_OVERSTOPLINE extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public int nTriggerType; // TriggerType:触发类型,0车检器,1雷达,2视频 public int PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public byte byEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public byte[] byReserved1 = new byte[2]; public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nMark; // 底层产生的触发抓拍帧标记 public int nFrameSequence; // 视频分析帧序号 public int nSource; // 视频分析的数据源地址 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stuTrafficCar; // 交通车辆信息 public int nSpeed; // 车辆实际速度,Km/h public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] byReserved = new byte[984]; // 保留字节 public EVENT_COMM_INFO stCommInfo; // 公共信息 public boolean bHasNonMotor; // stuNonMotor 字段是否有效 public VA_OBJECT_NONMOTOR stuNonMotor; // 非机动车对象 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 } //事件类型 EVENT_IVS_TRAFFIC_PARKINGONYELLOWBOX(黄网格线抓拍事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_PARKINGONYELLOWBOX_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[8]; // 字节对齐 public int PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nInterval1; // 第二张和第一张的延时时间,单位秒 public int nInterval2; // 第三张和第二张的延时时间,单位秒 public int nFollowTime; // 跟随时间,如果一辆车与前一辆车进入黄网格的时间差小于此值,就认为是跟车进入,跟车进入情况下如果停车则不算违章 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[984]; // 保留字节 public EVENT_COMM_INFO stCommInfo; // 公共信息 } // 事件类型EVENT_IVS_TRAFFIC_WITHOUT_SAFEBELT(交通未系安全带事件事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_WITHOUT_SAFEBELT extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public int nTriggerType; // TriggerType:触发类型,0车检器,1雷达,2视频 public int PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public byte byEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte byReserved1[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public byte[] byReserved1 = new byte[2]; public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nLane; // 对应车道号 public int nMark; // 底层产生的触发抓拍帧标记 public int nFrameSequence; // 视频分析帧序号 public int nSource; // 视频分析的数据源地址 public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stuTrafficCar; // 交通车辆信息 public int nSpeed; // 车辆实际速度,Km/h public int emMainSeat; // 主驾驶座位安全带状态 参考 NET_SAFEBELT_STATE public int emSlaveSeat; // 副驾驶座位安全带状态 参考 NET_SAFEBELT_STATE public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON , 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] byReserved = new byte[728]; // 保留字节 public EVENT_COMM_INFO stCommInfo; // 公共信息 public byte[] szVideoPath = new byte[256]; // 违章关联视频FTP上传路径 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 } //事件类型EVENT_IVS_TRAFFIC_JAM_FORBID_INTO(交通拥堵禁入事件)对应的数据块描述信息 public static class DEV_EVENT_ALARM_JAMFORBIDINTO_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public int PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEveID; // 事件ID ///////////////////////////////以上为公共字段////////////////////////////// public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nMark; // 底层产生的触发抓拍帧标记 public int nSource; // 视频分析的数据源地址 public int nSequence; // 表示抓拍序号,如3-2-1/0,1表示抓拍正常结束,0表示抓拍异常结束 public int nFrameSequence; // 帧序号 public int nLane; // 车道号 public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[984]; // 保留字节 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stuTrafficCar; // 交通车辆信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 } //事件类型EVENT_IVS_TRAFFIC_PASSNOTINORDER(交通-未按规定依次通过)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_PASSNOTINORDER_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nLane; // 对应车道号 public NET_MSG_OBJECT stuObject; // 车牌信息 public NET_MSG_OBJECT stuVehicle; // 车身信息 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON , 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; // 交通车辆信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] bReserved = new byte[984]; // 保留字节 } /** * @author 260611 * @description 事件类型EVENT_IVS_TRAFFIC_MANUALSNAP(交通手动抓拍事件)对应的数据块描述信息 * @date 2023/01/11 15:02:23 */ public class DEV_EVENT_TRAFFIC_MANUALSNAP_INFO extends SdkStructure { /** * 通道号 */ public int nChannelID; /** * 事件名称 */ public byte[] szName = new byte[128]; /** * 字节对齐 */ public byte[] bReserved1 = new byte[4]; /** * 时间戳(单位是毫秒) */ public double PTS; /** * 事件发生的时间 */ public NET_TIME_EX UTC = new NET_TIME_EX(); /** * 事件ID */ public int nEventID; /** * 对应车道号 */ public int nLane; /** * 手动抓拍序号 */ public byte[] szManualSnapNo = new byte[64]; /** * 检测到的物体 */ public NET_MSG_OBJECT stuObject = new NET_MSG_OBJECT(); /** * 检测到的车身信息 */ public NET_MSG_OBJECT stuVehicle = new NET_MSG_OBJECT(); /** * 表示交通车辆的数据库记录 */ public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar = new DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO(); /** * 事件对应文件信息 */ public NET_EVENT_FILE_INFO stuFileInfo = new NET_EVENT_FILE_INFO(); /** * 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; */ public byte bEventAction; /** * 开闸状态, 具体请见 EM_OPEN_STROBE_STATE */ public byte byOpenStrobeState; public byte[] byReserved = new byte[1]; /** * 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 */ public byte byImageIndex; /** * 抓图标志(按位),具体见NET_RESERVED_COMMON */ public int dwSnapFlagMask; /** * 对应图片的分辨率 */ public NET_RESOLUTION_INFO stuResolution = new NET_RESOLUTION_INFO(); /** * 停车位数据信息数组实际有效大小 */ public int nParkingInfoNum; /** * 保留字节,留待扩展. */ public byte[] bReserved = new byte[500]; /** * 手动抓拍专用上报内容 */ public EVENT_MANUALSNAP_CUSTOM_DATA stuCustom = new EVENT_MANUALSNAP_CUSTOM_DATA(); /** * 公共信息 */ public EVENT_COMM_INFO stCommInfo = new EVENT_COMM_INFO(); /** * 停车位数据信息 */ public EVENT_MANUALSNAP_PARKING_INFO[] stuParkingInfo = new EVENT_MANUALSNAP_PARKING_INFO[32]; /** * 事件公共扩展字段结构体 */ public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); public DEV_EVENT_TRAFFIC_MANUALSNAP_INFO() { for (int i = 0; i < stuParkingInfo.length; i++) { stuParkingInfo[i] = new EVENT_MANUALSNAP_PARKING_INFO(); } } } // 手动抓拍专用上报内容 public static class EVENT_MANUALSNAP_CUSTOM_DATA extends SdkStructure { public EVENT_CUSTOM_WEIGHT_INFO stuWeighInfo; // 称重信息 public byte[] byReserved = new byte[472]; // 保留字节 } // 事件类型 EVENT_IVS_CROSSLINEDETECTION(拌线入侵事件)对应的数据块描述信息 public static class DEV_EVENT_CROSSLINE_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public NET_POINT[] DetectLine = (NET_POINT[])new NET_POINT().toArray(NET_MAX_DETECT_LINE_NUM);// 规则检测线 public int nDetectLineNum; // 规则检测线顶点数 public NET_POINT[] TrackLine = (NET_POINT[])new NET_POINT().toArray(NET_MAX_TRACK_LINE_NUM); // 物体运动轨迹 public int nTrackLineNum; // 物体运动轨迹顶点数 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte bDirection; // 表示入侵方向, 0-由左至右, 1-由右至左 public byte[] byReserved=new byte[1]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见 NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public int nSourceIndex; // 事件源设备上的index,-1表示数据无效,-1表示数据无效 public byte[] szSourceDevice = new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数, 类型为unsigned int public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public NET_EXTENSION_INFO stuExtensionInfo; // 扩展信息 public SCENE_IMAGE_INFO_EX stuSceneImage; // 全景广角图 public int nObjetcHumansNum; // 检测到人的数量 public NET_VAOBJECT_NUMMAN []stuObjetcHumans = (NET_VAOBJECT_NUMMAN [])new NET_VAOBJECT_NUMMAN().toArray(100); // 检测的到人 public int nRuleID; // 规则编号,用于标示哪个规则触发的事件,缺省时默认为0 public int emEventType; // 事件级别,参考EM_EVENT_LEVEL public NET_PRESET_POSITION stPosition; // 预置点的坐标和放大倍数 public int nVisibleHFOV; // 可见光横向视场角,单位度 实际角度乘以100 public int nVisibleVFOV; // 可见光纵向视场角,单位度 实际角度乘以100 public int nCurChannelHFOV; // 当前报警通道的横向视场角,单位度,实际角度乘以100 public int nCurChannelVFOV; // 当前报警通道的纵向视场角,单位度,实际角度乘以100 public int nImageNum; // 图片信息个数 public Pointer pImageArray; // 图片信息数组,结构体NET_IMAGE_INFO_EX2数组指针 public int nCarMirrorStatus; // 车的后视镜状态,-1: 未知, 0: 正常, 1: 不正常(如数量缺失等) public int nCarLightStatus; // 车的车灯状态,-1: 未知, 0: 正常, 1:不正常(如灯未亮等) public int nObjectBoatsNum; // 船只物体个数 public NET_BOAT_OBJECT[] stuBoatObjects = new NET_BOAT_OBJECT[100]; // 船只物品信息 public int nUpDownGoing; // 车道/航道方向, 0:未知, 1:上行, 2:下行 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] byReserved1 = new byte[452]; // 预留字节 } /** * 检测到的人信息 * @author 29779 */ public static class NET_VAOBJECT_NUMMAN extends SdkStructure { public int nObjectID; // 物体ID,每个ID表示一个唯一的物体 /** * @link EM_UNIFORM_STYLE 制服样式 */ public int emUniformStyle; public NET_RECT stuBoundingBox; // 包围盒,手套对象在全景图中的框坐标,为0~8191相对坐标 public NET_RECT stuOriginalBoundingBox; // 包围盒,绝对坐标 public byte[] byReserved = new byte[128]; // 预留字节 } // 事件类型 EVENT_IVS_CROSSREGIONDETECTION(区域入侵事件)对应的数据块描述信息 public static class DEV_EVENT_CROSSREGION_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public NET_POINT[] DetectRegion = (NET_POINT[])new NET_POINT().toArray(NET_MAX_DETECT_REGION_NUM); // 规则检测区域 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] TrackLine = (NET_POINT[])new NET_POINT().toArray(NET_MAX_TRACK_LINE_NUM); // 物体运动轨迹 public int nTrackLineNum; // 物体运动轨迹顶点数 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte bDirection; // 表示入侵方向, 0-进入, 1-离开,2-出现,3-消失 public byte bActionType; // 表示检测动作类型,0-出现 1-消失 2-在区域内 3-穿越区域 public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON , 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice = new byte[MAX_PATH];// 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数, unsigned int 类型 public NET_CUSTOM_INFO stuCustom; // 货物通道信息 public NET_EXTENSION_INFO stuExtensionInfo; // 扩展信息 public int nRuleID; // 智能事件规则编号,用于标示哪个规则触发的事件 public NET_PRESET_POSITION stPosition; // 预置点的坐标和放大倍数 public int nVisibleHFOV; // 可见光横向视场角,单位度 实际角度乘以100 public int nVisibleVFOV; // 可见光纵向视场角,单位度 实际角度乘以100 public int nCurChannelHFOV; // 当前报警通道的横向视场角,单位度,实际角度乘以100 public int nCurChannelVFOV; // 当前报警通道的纵向视场角,单位度,实际角度乘以100 public byte[] szRealEventType=new byte[32]; // 采用该字段区分是区域入侵还是事件,该字段不携带则是通用的区域入侵事件,携带则根据内容区分实际的事件类型,目前只有IllegalDumping(垃圾违规投放) public byte[] bReserved = new byte[264]; // 保留字节,留待扩展. public int nObjectNum; // 检测到的物体个数 public NET_MSG_OBJECT[] stuObjectIDs = (NET_MSG_OBJECT[]) new NET_MSG_OBJECT().toArray(NET_MAX_OBJECT_LIST); // 检测到的物体 public int nTrackNum; // 轨迹数(与检测到的物体个数 nObjectNum 对应) public NET_POLY_POINTS[] stuTrackInfo = (NET_POLY_POINTS[]) new NET_POLY_POINTS().toArray(NET_MAX_OBJECT_LIST); // 轨迹信息(与检测到的物体对应) public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public SCENE_IMAGE_INFO_EX stuSceneImage; // 全景广角图 public int nObjetcHumansNum; // 检测到人的数量 public NET_VAOBJECT_NUMMAN[] stuObjetcHumans = (NET_VAOBJECT_NUMMAN[])new NET_VAOBJECT_NUMMAN().toArray(100); // 检测的到人 public NET_MSG_OBJECT stuVehicle; //车身信息 public int emTriggerType; //触发类型,参考EM_TRIGGER_TYPE public int nMark; // 标记抓拍帧 public int nSource; // 视频分析的数据源地址 public int nFrameSequence; // 视频分析帧序号 public int emCaptureProcess; // 抓拍过程,参考EM_CAPTURE_PROCESS_END_TYPE public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stTrafficCar; //交通车辆信息 public EVENT_COMM_INFO stuCommInfo; //公共信息 public NET_PTZSPACE_UNNORMALIZED stuAbsPosition; // 云台方向与放大倍数(扩大100倍表示) // 第一个元素为水平角度,0-36000; // 第二个元素为垂直角度,(-18000)-(18000); // 第三个元素为显示放大倍数,0-MaxZoom*100 public int nHFovValue; // 对应倍率水平视场角, 单位0.01度, 扩大100倍表示 public double dbFocusPosition; // 聚焦位置 public byte[] byReserved = new byte[19500]; // 预留字节 } // 事件类型 EVENT_IVS_WANDERDETECTION(徘徊事件)对应的数据块描述信息 public static class DEV_EVENT_WANDER_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; // 保留字节 public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int nObjectNum; // 检测到的物体个数 public NET_MSG_OBJECT[] stuObjectIDs = (NET_MSG_OBJECT[]) new NET_MSG_OBJECT().toArray(NET_MAX_OBJECT_LIST); // 检测到的物体 public int nTrackNum; // 轨迹数(与检测到的物体个数对应) public NET_POLY_POINTS[] stuTrackInfo = (NET_POLY_POINTS[]) new NET_POLY_POINTS().toArray(NET_MAX_OBJECT_LIST); // 轨迹信息(与检测到的物体对应) public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] DetectRegion = (NET_POINT[])new NET_POINT().toArray(NET_MAX_DETECT_REGION_NUM); // 规则检测区域 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON , 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice = new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数, unsigned int 类型 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public short nPreserID; // 事件触发的预置点号,从1开始(没有表示未知) public byte[] szPresetName = new byte[64]; // 事件触发的预置名称 public NET_EXTENSION_INFO stuExtensionInfo; // 扩展信息 public NET_POSTION stuPostion; // 坐标与放大倍数 public byte[] byReserved2=new byte[4]; // 字节对齐 public int nCurChannelHFOV; // 当前报警通道的横向视场角,单位:度,实际角度乘以100 public int nCurChannelVFOV; // 当前报警通道的垂直视场角,单位:度,实际角度乘以100 public NET_IMAGE_INFO_EX2[] stuImageInfo = (NET_IMAGE_INFO_EX2[])new NET_IMAGE_INFO_EX2().toArray(32); //图片信息数组 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] bReserved = new byte[402]; // 保留字节,留待扩展. } //事件类型 EVENT_IVS_LEAVEDETECTION(离岗检测事件)对应数据块描述信息 public static class DEV_EVENT_IVS_LEAVE_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] DetectRegion = (NET_POINT[])new NET_POINT().toArray(NET_MAX_DETECT_REGION_NUM);// 规则检测区域 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public int emTriggerMode; // 离岗的触发模式,参考EM_LEAVEDETECTION_TRIGGER_MODE public int emState; // 检测状态,参考EM_LEAVEDETECTION_STATE public int bSceneImage; // stuSceneImage 是否有效 public SCENE_IMAGE_INFO_EX stuSceneImage; // 全景广角图 public byte[] szUserName= new byte[32]; // 用户名称 public Pointer pstuImageInfo; // 图片信息数组 ,结构体NET_IMAGE_INFO_EX2数组指针 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] bReserved = new byte[50]; // 保留字节 } //事件类型 EVENT_IVS_AUDIO_ABNORMALDETECTION(声音异常检测)对应数据块描述信息 public static class DEV_EVENT_IVS_AUDIO_ABNORMALDETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nDecibel; // 声音强度 public int nFrequency; // 声音频率 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public byte[] bReserved = new byte[1024]; // 保留字节,留待扩展. } //事件类型 EVENT_IVS_CLIMBDETECTION(攀高检测事件)对应数据块描述信息 public static class DEV_EVENT_IVS_CLIMB_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public int nDetectLineNum; // 规则检测线顶点数 public NET_POINT[] DetectLine = (NET_POINT[])new NET_POINT().toArray(NET_MAX_DETECT_LINE_NUM); // 规则检测线 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int nOccurrenceCount; // 事件触发累计次数, unsigned int public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public Pointer pstuImageInfo; // 图片信息数组, refer to {@link NET_IMAGE_INFO_EX3} public int nImageInfoNum; // 图片信息个数 public byte[] bReserved = new byte[886 - POINTERSIZE]; // 保留字节 } // 事件类型 EVENT_IVS_FIGHTDETECTION(斗殴事件)对应的数据块描述信息 public static class DEV_EVENT_FIGHT_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nObjectNum; // 检测到的物体个数 public NET_MSG_OBJECT[] stuObjectIDs = (NET_MSG_OBJECT[])new NET_MSG_OBJECT().toArray(NET_MAX_OBJECT_LIST); // 检测到的物体列表 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; // 保留字节 public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] DetectRegion = (NET_POINT[]) new NET_POINT().toArray(NET_MAX_DETECT_REGION_NUM); // 规则检测区域 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON, 0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice = new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数, unsigned int 类型 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public NET_EXTENSION_INFO stuExtensionInfo; // 扩展信息 public byte[] szSourceID = new byte[32]; // 事件关联ID。应用场景是同一个物体或者同一张图片做不同分析,产生的多个事件的SourceID相同 // 缺省时为空字符串,表示无此信息 // 格式:类型+时间+序列号,其中类型2位,时间14位,序列号5位 public int emActionType; // 动作类型 ,参考枚举EM_STEREO_ACTION_TYPE public SCENE_IMAGE_INFO stuSceneImage; // 全景广角图 public Pointer pstuImageInfo; // 图片信息数组,对应结构体NET_IMAGE_INFO_EX2的数组 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] bReserved = new byte[240]; // 保留字节,留待扩展. } // 加油类型 public static class EM_REFUEL_TYPE extends SdkStructure { public static final int EM_REFUEL_TYPE_UNKNOWN = 0; // unknown public static final int EM_REFUEL_TYPE_NINETY_EIGHT = 1; // "98#" public static final int EM_REFUEL_TYPE_NINETY_SEVEN = 2; // "97#" public static final int EM_REFUEL_TYPE_NINETY_FIVE = 3; // "95#" public static final int EM_REFUEL_TYPE_NINETY_THREE = 4; // "93#" public static final int EM_REFUEL_TYPE_NINETY = 5; // "90#" public static final int EM_REFUEL_TYPE_TEN = 6; // "10#" public static final int EM_REFUEL_TYPE_FIVE = 7; // "5#" public static final int EM_REFUEL_TYPE_ZERO = 8; // "0#" public static final int EM_REFUEL_TYPE_NEGATIVE_TEN = 9; // "-10#" public static final int EM_REFUEL_TYPE_NEGATIVE_TWENTY = 10; // "-20#" public static final int EM_REFUEL_TYPE_NEGATIVE_THIRTY_FIVE = 11; // "-35#" public static final int EM_REFUEL_TYPE_NEGATIVE_FIFTY = 12; // "-50#" } // 车辆抓拍图片信息 public static class DEV_EVENT_TRAFFIC_FCC_IMAGE extends SdkStructure { public int dwOffSet; // 图片文件在二进制数据块中的偏移位置, 单位:字节 public int dwLength; // 图片大小, 单位:字节 public short wWidth; // 图片宽度, 单位:像素 public short wHeight; // 图片高度, 单位:像素 } // 车辆抓图信息 public static class DEV_EVENT_TRAFFIC_FCC_OBJECT extends SdkStructure { public DEV_EVENT_TRAFFIC_FCC_IMAGE stuImage; // 车辆抓拍图片信息 } // 事件类型 EVENT_IVS_TRAFFIC_FCC 加油站提枪、挂枪事件 public static class DEV_EVENT_TRAFFIC_FCC_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public int nTriggerID; // 触发类型: 1表示提枪, 2表示挂枪 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID ///////////////////////////////以上为公共字段////////////////////////////// public int nNum; // 加油枪号 public int nLitre; // 加油升数,单位 0.01升 public int emType; // 加油类型: 取值范围{"90#","93#","10#","-20#"}, 具体参考 EM_REFUEL_TYPE public int dwMoney; // 加油金额,单位 0.01元 public byte[] szText = new byte[NET_COMMON_STRING_16]; // 车牌号 public byte[] szTime = new byte[NET_COMMON_STRING_32]; // 事件发生时间: "2016-05-23 10:31:17" public DEV_EVENT_TRAFFIC_FCC_OBJECT stuObject; // 车辆抓图信息 public byte[] bReserved = new byte[1024]; // 保留字节,留待扩展 } // 区域或曲线顶点信息 public static class NET_POLY_POINTS extends SdkStructure { public int nPointNum; // 顶点数 public NET_POINT[] stuPoints = new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 顶点信息 public NET_POLY_POINTS(){ for(int i=0;i时,bImportantRecID<<8 +bHint ,组成图片定位索引 ) public byte bRecType; // 0-主码流录像 1-辅码1流录像 2-辅码流2 3-辅码流3录像 public static class ByValue extends NET_RECORDFILE_INFO implements SdkStructure.ByValue { } } // 录像查询类型 public static class EM_QUERY_RECORD_TYPE extends SdkStructure { public static final int EM_RECORD_TYPE_ALL = 0; // 所有录像 public static final int EM_RECORD_TYPE_ALARM = 1; // 外部报警录像 public static final int EM_RECORD_TYPE_MOTION_DETECT = 2; // 动态检测报警录像 public static final int EM_RECORD_TYPE_ALARM_ALL = 3; // 所有报警录像 public static final int EM_RECORD_TYPE_CARD = 4; // 卡号查询 public static final int EM_RECORD_TYPE_CONDITION = 5; // 按条件查询 public static final int EM_RECORD_TYPE_JOIN = 6; // 组合查询 public static final int EM_RECORD_TYPE_CARD_PICTURE = 8; // 按卡号查询图片,HB-U、NVS等使用 public static final int EM_RECORD_TYPE_PICTURE = 9; // 查询图片,HB-U、NVS等使用 public static final int EM_RECORD_TYPE_FIELD = 10; // 按字段查询 public static final int EM_RECORD_TYPE_INTELLI_VIDEO = 11; // 智能录像查询 public static final int EM_RECORD_TYPE_NET_DATA = 15; // 查询网络数据,金桥网吧等使用 public static final int EM_RECORD_TYPE_TRANS_DATA = 16; // 查询透明串口数据录像 public static final int EM_RECORD_TYPE_IMPORTANT = 17; // 查询重要录像 public static final int EM_RECORD_TYPE_TALK_DATA = 18; // 查询录音文件 public static final int EM_RECORD_TYPE_INVALID = 256; // 无效的查询类型 } // 语言种类 public static class NET_LANGUAGE_TYPE extends SdkStructure { public static final int NET_LANGUAGE_ENGLISH = 0; //英文 public static final int NET_LANGUAGE_CHINESE_SIMPLIFIED = NET_LANGUAGE_ENGLISH+1; //简体中文 public static final int NET_LANGUAGE_CHINESE_TRADITIONAL = NET_LANGUAGE_CHINESE_SIMPLIFIED+1; //繁体中文 public static final int NET_LANGUAGE_ITALIAN = NET_LANGUAGE_CHINESE_TRADITIONAL+1; //意大利文 public static final int NET_LANGUAGE_SPANISH = NET_LANGUAGE_ITALIAN+1; //西班牙文 public static final int NET_LANGUAGE_JAPANESE = NET_LANGUAGE_SPANISH+1; //日文版 public static final int NET_LANGUAGE_RUSSIAN = NET_LANGUAGE_JAPANESE+1; //俄文版 public static final int NET_LANGUAGE_FRENCH = NET_LANGUAGE_RUSSIAN+1; //法文版 public static final int NET_LANGUAGE_GERMAN = NET_LANGUAGE_FRENCH+1; //德文版 public static final int NET_LANGUAGE_PORTUGUESE = NET_LANGUAGE_GERMAN+1; //葡萄牙语 public static final int NET_LANGUAGE_TURKEY = NET_LANGUAGE_PORTUGUESE+1; //土尔其语 public static final int NET_LANGUAGE_POLISH = NET_LANGUAGE_TURKEY+1; //波兰语 public static final int NET_LANGUAGE_ROMANIAN = NET_LANGUAGE_POLISH+1; //罗马尼亚 public static final int NET_LANGUAGE_HUNGARIAN = NET_LANGUAGE_ROMANIAN+1; //匈牙利语 public static final int NET_LANGUAGE_FINNISH = NET_LANGUAGE_HUNGARIAN+1; //芬兰语 public static final int NET_LANGUAGE_ESTONIAN = NET_LANGUAGE_FINNISH+1; //爱沙尼亚语 public static final int NET_LANGUAGE_KOREAN = NET_LANGUAGE_ESTONIAN+1; //韩语 public static final int NET_LANGUAGE_FARSI = NET_LANGUAGE_KOREAN+1; //波斯语 public static final int NET_LANGUAGE_DANSK = NET_LANGUAGE_FARSI+1; //丹麦语 public static final int NET_LANGUAGE_CZECHISH = NET_LANGUAGE_DANSK+1; //捷克文 public static final int NET_LANGUAGE_BULGARIA = NET_LANGUAGE_CZECHISH+1; //保加利亚文 public static final int NET_LANGUAGE_SLOVAKIAN = NET_LANGUAGE_BULGARIA+1; //斯洛伐克语 public static final int NET_LANGUAGE_SLOVENIA = NET_LANGUAGE_SLOVAKIAN+1; //斯洛文尼亚文 public static final int NET_LANGUAGE_CROATIAN = NET_LANGUAGE_SLOVENIA+1; //克罗地亚语 public static final int NET_LANGUAGE_DUTCH = NET_LANGUAGE_CROATIAN+1; //荷兰语 public static final int NET_LANGUAGE_GREEK = NET_LANGUAGE_DUTCH+1; //希腊语 public static final int NET_LANGUAGE_UKRAINIAN = NET_LANGUAGE_GREEK+1; //乌克兰语 public static final int NET_LANGUAGE_SWEDISH = NET_LANGUAGE_UKRAINIAN+1; //瑞典语 public static final int NET_LANGUAGE_SERBIAN = NET_LANGUAGE_SWEDISH+1; //塞尔维亚语 public static final int NET_LANGUAGE_VIETNAMESE = NET_LANGUAGE_SERBIAN+1; //越南语 public static final int NET_LANGUAGE_LITHUANIAN = NET_LANGUAGE_VIETNAMESE+1; //立陶宛语 public static final int NET_LANGUAGE_FILIPINO = NET_LANGUAGE_LITHUANIAN+1; //菲律宾语 public static final int NET_LANGUAGE_ARABIC = NET_LANGUAGE_FILIPINO+1; //阿拉伯语 public static final int NET_LANGUAGE_CATALAN = NET_LANGUAGE_ARABIC+1; //加泰罗尼亚语 public static final int NET_LANGUAGE_LATVIAN = NET_LANGUAGE_CATALAN+1; //拉脱维亚语 public static final int NET_LANGUAGE_THAI = NET_LANGUAGE_LATVIAN+1; //泰语 public static final int NET_LANGUAGE_HEBREW = NET_LANGUAGE_THAI+1; //希伯来语 public static final int NET_LANGUAGE_Bosnian = NET_LANGUAGE_HEBREW+1; //波斯尼亚文 } // 区域信息 public static class CFG_RECT extends SdkStructure { public int nLeft; public int nTop; public int nRight; public int nBottom; } // 视频输入夜晚特殊配置选项,在晚上光线较暗时自动切换到夜晚的配置参数 public static class CFG_VIDEO_IN_NIGHT_OPTIONS extends SdkStructure { public byte bySwitchMode;//已废弃,使用CFG_VIDEO_IN_OPTIONS里面的bySwitchMode //0-不切换,总是使用白天配置;1-根据亮度切换;2-根据时间切换;3-不切换,总是使用夜晚配置;4-使用普通配置 public byte byProfile;//当前使用的配置文件. // 0-白天 // 1-晚上 // 2-Normal // 0,1,2都为临时配置,使图像生效,便于查看图像调试效果,不点击确定,离开页面不保存至设备。 ///3-非临时配置,点击确定后保存至设备,与SwitchMode结合使用,根据SwitchMode决定最终生效的配置。 // SwitchMode=0,Profile=3,设置白天配置到设备; // SwitchMode=1,Profile=3,则设置夜晚配置到设备 // SwitchMode=2,Profile=3,根据日出日落时间段切换,白天时间段使用白天配置,夜晚时间段使用夜晚配置,保存至设备; // SwitchMode=4,Profile=3;使用普通配置,保存至设备 public byte byBrightnessThreshold;//亮度阈值0~100 public byte bySunriseHour;//大致日出和日落时间,日落之后日出之前,将采用夜晚特殊的配置。 public byte bySunriseMinute;//00:00:00 ~ 23:59:59 public byte bySunriseSecond; public byte bySunsetHour; public byte bySunsetMinute; public byte bySunsetSecond; public byte byGainRed;//红色增益调节,白平衡为"Custom"模式下有效0~100 public byte byGainBlue;//绿色增益调节,白平衡为"Custom"模式下有效0~100 public byte byGainGreen;//蓝色增益调节,白平衡为"Custom"模式下有效0~100 public byte byExposure;//曝光模式;取值范围取决于设备能力集:0-自动曝光,1-曝光等级1,2-曝光等级2…n-1最大曝光等级数n带时间上下限的自动曝光n+1自定义时间手动曝光 (n==byExposureEn) public float fExposureValue1;//自动曝光时间下限或者手动曝光自定义时间,毫秒为单位,取值0.1ms~80ms public float fExposureValue2;//自动曝光时间上限,毫秒为单位,取值0.1ms~80ms public byte byWhiteBalance;//白平衡,0-"unAble", 1-"Auto", 2-"Custom", 3-"Sunny", 4-"Cloudy", 5-"Home", 6-"Office", 7-"Night", 8-"HighColorTemperature", 9-"LowColorTemperature", 10-"AutoColorTemperature", 11-"CustomColorTemperature" public byte byGain;//0~100,GainAuto为true时表示自动增益的上限,否则表示固定的增益值 public byte bGainAuto;//自动增益, 类型为bool, 取值0或1 public byte bIrisAuto;//自动光圈, 类型为bool, 取值0或1 public float fExternalSyncPhase;//外同步的相位设置0~360 public byte byGainMin;//增益下限 public byte byGainMax;//增益上限 public byte byBacklight;//背光补偿:取值范围取决于设备能力集:0-关闭1-启用2-指定区域背光补偿 public byte byAntiFlicker;//防闪烁模式0-Outdoor1-50Hz防闪烁 2-60Hz防闪烁 public byte byDayNightColor;//日/夜模式;0-总是彩色,1-根据亮度自动切换,2-总是黑白 public byte byExposureMode;//曝光模式调节曝光等级为自动曝光时有效,取值:0-默认自动,1-增益优先,2-快门优先 public byte byRotate90;//0-不旋转,1-顺时针90°,2-逆时针90° public byte bMirror;//镜像, 类型为bool, 取值0或1 public byte byWideDynamicRange;//宽动态值0-关闭,1~100-为真实范围值 public byte byGlareInhibition;//强光抑制0-关闭,1~100为范围值 public CFG_RECT stuBacklightRegion = new CFG_RECT();//背光补偿区域 public byte byFocusMode;//0-关闭,1-辅助聚焦,2-自动聚焦 public byte bFlip;//翻转, 类型为bool, 取值0或1 public byte[] reserved = new byte[74];//保留 } // 闪光灯配置 public static class CFG_FLASH_CONTROL extends SdkStructure { public byte byMode;//工作模式,0-禁止闪光,1-始终闪光,2-自动闪光 public byte byValue;//工作值,0-0us,1-64us, 2-128us, 3-192...15-960us public byte byPole;//触发模式,0-低电平1-高电平 2-上升沿 3-下降沿 public byte byPreValue;//亮度预设值区间0~100 public byte byDutyCycle;//占空比,0~100 public byte byFreqMultiple;//倍频,0~10 public byte[] reserved = new byte[122];//保留 } // 抓拍参数特殊配置 public static class CFG_VIDEO_IN_SNAPSHOT_OPTIONS extends SdkStructure { public byte byGainRed;//红色增益调节,白平衡为"Custom"模式下有效0~100 public byte byGainBlue;//绿色增益调节,白平衡为"Custom"模式下有效0~100 public byte byGainGreen;//蓝色增益调节,白平衡为"Custom"模式下有效0~100 public byte byExposure;//曝光模式;取值范围取决于设备能力集:0-自动曝光,1-曝光等级1,2-曝光等级2…n-1最大曝光等级数n带时间上下限的自动曝光n+1自定义时间手动曝光 (n==byExposureEn) public float fExposureValue1;//自动曝光时间下限或者手动曝光自定义时间,毫秒为单位,取值0.1ms~80ms public float fExposureValue2;//自动曝光时间上限,毫秒为单位,取值0.1ms~80ms public byte byWhiteBalance;//白平衡,0-"unAble", 1-"Auto", 2-"Custom", 3-"Sunny", 4-"Cloudy", 5-"Home", 6-"Office", 7-"Night", 8-"HighColorTemperature", 9-"LowColorTemperature", 10-"AutoColorTemperature", 11-"CustomColorTemperature" public byte byColorTemperature;//色温等级,白平衡为"CustomColorTemperature"模式下有效 public byte bGainAuto;//自动增益, 类型为bool, 取值0或1 public byte byGain;//增益调节,GainAuto为true时表示自动增益的上限,否则表示固定的增益值 public byte[] reversed = new byte[112];//保留 } // 鱼眼镜头配置 public static class CFG_FISH_EYE extends SdkStructure { public CFG_POLYGON stuCenterPoint;//鱼眼圆心坐标,范围[0,8192] public int nRadius;//鱼眼半径大小,范围[0,8192], 类型为unsigned int public float fDirection;//镜头旋转方向,旋转角度[0,360.0] public byte byPlaceHolder;//镜头安装方式1顶装,2壁装;3地装,默认1 public byte byCalibrateMode;//鱼眼矫正模式,详见CFG_CALIBRATE_MODE枚举值 public byte[] reversed = new byte[31];//保留 } public static class CFG_VIDEO_IN_NORMAL_OPTIONS extends SdkStructure { public byte byGainRed;//红色增益调节,白平衡为"Custom"模式下有效0~100 public byte byGainBlue;//绿色增益调节,白平衡为"Custom"模式下有效0~100 public byte byGainGreen;//蓝色增益调节,白平衡为"Custom"模式下有效0~100 public byte byExposure;//曝光模式;取值范围取决于设备能力集:0-自动曝光,1-曝光等级1,2-曝光等级2…n-1最大曝光等级数n带时间上下限的自动曝光n+1自定义时间手动曝光 (n==byExposureEn) public float fExposureValue1;//自动曝光时间下限或者手动曝光自定义时间,毫秒为单位,取值0.1ms~80ms public float fExposureValue2;//自动曝光时间上限,毫秒为单位,取值0.1ms~80ms public byte byWhiteBalance;//白平衡,0-"unAble", 1-"Auto", 2-"Custom", 3-"Sunny", 4-"Cloudy", 5-"Home", 6-"Office", 7-"Night", 8-"HighColorTemperature", 9-"LowColorTemperature", 10-"AutoColorTemperature", 11-"CustomColorTemperature" public byte byGain;//0~100,GainAuto为true时表示自动增益的上限,否则表示固定的增益值 public byte bGainAuto;//自动增益, 类型为bool, 取值0或1 public byte bIrisAuto;//自动光圈, 类型为bool, 取值0或1 public float fExternalSyncPhase;//外同步的相位设置0~360 public byte byGainMin;//增益下限 public byte byGainMax;//增益上限 public byte byBacklight;//背光补偿:取值范围取决于设备能力集:0-关闭1-启用2-指定区域背光补偿 public byte byAntiFlicker;//防闪烁模式0-Outdoor1-50Hz防闪烁 2-60Hz防闪烁 public byte byDayNightColor;//日/夜模式;0-总是彩色,1-根据亮度自动切换,2-总是黑白 public byte byExposureMode;//曝光模式调节曝光等级为自动曝光时有效,取值:0-默认自动,1-增益优先,2-快门优先 public byte byRotate90;//0-不旋转,1-顺时针90°,2-逆时针90° public byte bMirror;//镜像, 类型为bool, 取值0或1 public byte byWideDynamicRange;//宽动态值0-关闭,1~100-为真实范围值 public byte byGlareInhibition;//强光抑制0-关闭,1~100为范围值 public CFG_RECT stuBacklightRegion;//背光补偿区域 public byte byFocusMode;//0-关闭,1-辅助聚焦,2-自动聚焦 public byte bFlip;//翻转, 类型为bool, 取值0或1 public byte[] reserved = new byte[74];//保留 } // 视频输入前端选项 public static class CFG_VIDEO_IN_OPTIONS extends SdkStructure { public byte byBacklight;//背光补偿:取值范围取决于设备能力集:0-关闭1-启用2-指定区域背光补偿 public byte byDayNightColor;//日/夜模式;0-总是彩色,1-根据亮度自动切换,2-总是黑白 public byte byWhiteBalance;//白平衡,0-"unAble", 1-"Auto", 2-"Custom", 3-"Sunny", 4-"Cloudy", 5-"Home", 6-"Office", 7-"Night", 8-"HighColorTemperature", 9-"LowColorTemperature", 10-"AutoColorTemperature", 11-"CustomColorTemperature" public byte byColorTemperature;//色温等级,白平衡为"CustomColorTemperature"模式下有效 public byte bMirror;//镜像, 类型为bool, 取值0或1 public byte bFlip;//翻转, 类型为bool, 取值0或1 public byte bIrisAuto;//自动光圈, 类型为bool, 取值0或1 public byte bInfraRed;//根据环境光自动开启红外补偿灯, 类型为bool, 取值0或1 public byte byGainRed;//红色增益调节,白平衡为"Custom"模式下有效0~100 public byte byGainBlue;//绿色增益调节,白平衡为"Custom"模式下有效0~100 public byte byGainGreen;//蓝色增益调节,白平衡为"Custom"模式下有效0~100 public byte byExposure;//曝光模式;取值范围取决于设备能力集:0-自动曝光,1-曝光等级1,2-曝光等级2…n-1最大曝光等级数n带时间上下限的自动曝光n+1自定义时间手动曝光 (n==byExposureEn) public float fExposureValue1;//自动曝光时间下限或者手动曝光自定义时间,毫秒为单位,取值0.1ms~80ms public float fExposureValue2;//自动曝光时间上限,毫秒为单位,取值0.1ms~80ms public byte bGainAuto;//自动增益, 类型为bool, 取值0或1 public byte byGain;//增益调节,GainAuto为true时表示自动增益的上限,否则表示固定的增益值 public byte bySignalFormat;//信号格式,0-Inside(内部输入)1-BT656 2-720p 3-1080p 4-1080i 5-1080sF public byte byRotate90;//0-不旋转,1-顺时针90°,2-逆时针90° public float fExternalSyncPhase;//外同步的相位设置 0~360 public byte byExternalSync;//外部同步信号输入,0-内部同步 1-外部同步 public byte bySwitchMode;//0-不切换,总是使用白天配置;1-根据亮度切换;2-根据时间切换;3-不切换,总是使用夜晚配置;4-使用普通配置 public byte byDoubleExposure;//双快门,0-不启用,1-双快门全帧率,即图像和视频只有快门参数不同,2-双快门半帧率,即图像和视频快门及白平衡参数均不同 public byte byWideDynamicRange;//宽动态值 public CFG_VIDEO_IN_NIGHT_OPTIONS stuNightOptions;//夜晚参数 public CFG_FLASH_CONTROL stuFlash;//闪光灯配置 public CFG_VIDEO_IN_SNAPSHOT_OPTIONS stuSnapshot;//抓拍参数,双快门时有效 public CFG_FISH_EYE stuFishEye;//鱼眼镜头 public byte byFocusMode;//0-关闭,1-辅助聚焦,2-自动聚焦 public byte[] reserved = new byte[28];//保留 public byte byGainMin;//增益下限 public byte byGainMax;//增益上限 public byte byAntiFlicker;//防闪烁模式 0-Outdoor 1-50Hz防闪烁 2-60Hz防闪烁 public byte byExposureMode;//曝光模式调节曝光等级为自动曝光时有效,取值:0-默认自动,1-增益优先,2-快门优先,4-手动 public byte byGlareInhibition;//强光抑制0-关闭,1~100为范围值 public CFG_RECT stuBacklightRegion;//背光补偿区域 public CFG_VIDEO_IN_NORMAL_OPTIONS stuNormalOptions;//普通参数 } // 通用云台控制命令 public static class NET_PTZ_ControlType extends SdkStructure { public static final int NET_PTZ_UP_CONTROL = 0;//上 public static final int NET_PTZ_DOWN_CONTROL = NET_PTZ_UP_CONTROL+1; //下 public static final int NET_PTZ_LEFT_CONTROL = NET_PTZ_DOWN_CONTROL+1; //左 public static final int NET_PTZ_RIGHT_CONTROL = NET_PTZ_LEFT_CONTROL+1; //右 public static final int NET_PTZ_ZOOM_ADD_CONTROL = NET_PTZ_RIGHT_CONTROL+1; //变倍+ public static final int NET_PTZ_ZOOM_DEC_CONTROL = NET_PTZ_ZOOM_ADD_CONTROL+1; //变倍- public static final int NET_PTZ_FOCUS_ADD_CONTROL = NET_PTZ_ZOOM_DEC_CONTROL+1; //调焦+ public static final int NET_PTZ_FOCUS_DEC_CONTROL = NET_PTZ_FOCUS_ADD_CONTROL+1; //调焦- public static final int NET_PTZ_APERTURE_ADD_CONTROL = NET_PTZ_FOCUS_DEC_CONTROL+1; //光圈+ public static final int NET_PTZ_APERTURE_DEC_CONTROL = NET_PTZ_APERTURE_ADD_CONTROL+1; //光圈- public static final int NET_PTZ_POINT_MOVE_CONTROL = NET_PTZ_APERTURE_DEC_CONTROL+1; //转至预置点 public static final int NET_PTZ_POINT_SET_CONTROL = NET_PTZ_POINT_MOVE_CONTROL+1; //设置 public static final int NET_PTZ_POINT_DEL_CONTROL = NET_PTZ_POINT_SET_CONTROL+1; //删除 public static final int NET_PTZ_POINT_LOOP_CONTROL = NET_PTZ_POINT_DEL_CONTROL+1; //点间巡航 public static final int NET_PTZ_LAMP_CONTROL = NET_PTZ_POINT_LOOP_CONTROL+1; //灯光雨刷 } // 云台控制扩展命令 public static class NET_EXTPTZ_ControlType extends SdkStructure { public static final int NET_EXTPTZ_LEFTTOP = 0x20;//左上 public static final int NET_EXTPTZ_RIGHTTOP = NET_EXTPTZ_LEFTTOP+1; //右上 public static final int NET_EXTPTZ_LEFTDOWN = NET_EXTPTZ_RIGHTTOP+1; //左下 public static final int NET_EXTPTZ_RIGHTDOWN = NET_EXTPTZ_LEFTDOWN+1; //右下 public static final int NET_EXTPTZ_ADDTOLOOP = NET_EXTPTZ_RIGHTDOWN+1; //加入预置点到巡航巡航线路预置点值 public static final int NET_EXTPTZ_DELFROMLOOP = NET_EXTPTZ_ADDTOLOOP+1; //删除巡航中预置点巡航线路预置点值 public static final int NET_EXTPTZ_CLOSELOOP = NET_EXTPTZ_DELFROMLOOP+1; //清除巡航巡航线路 public static final int NET_EXTPTZ_STARTPANCRUISE = NET_EXTPTZ_CLOSELOOP+1; //开始水平旋转 public static final int NET_EXTPTZ_STOPPANCRUISE = NET_EXTPTZ_STARTPANCRUISE+1; //停止水平旋转 public static final int NET_EXTPTZ_SETLEFTBORDER = NET_EXTPTZ_STOPPANCRUISE+1; //设置左边界 public static final int NET_EXTPTZ_SETRIGHTBORDER = NET_EXTPTZ_SETLEFTBORDER+1; //设置右边界 public static final int NET_EXTPTZ_STARTLINESCAN = NET_EXTPTZ_SETRIGHTBORDER+1; //开始线扫 public static final int NET_EXTPTZ_CLOSELINESCAN = NET_EXTPTZ_STARTLINESCAN+1; //停止线扫 public static final int NET_EXTPTZ_SETMODESTART = NET_EXTPTZ_CLOSELINESCAN+1; //设置模式开始模式线路 public static final int NET_EXTPTZ_SETMODESTOP = NET_EXTPTZ_SETMODESTART+1; //设置模式结束模式线路 public static final int NET_EXTPTZ_RUNMODE = NET_EXTPTZ_SETMODESTOP+1; //运行模式模式线路 public static final int NET_EXTPTZ_STOPMODE = NET_EXTPTZ_RUNMODE+1; //停止模式模式线路 public static final int NET_EXTPTZ_DELETEMODE = NET_EXTPTZ_STOPMODE+1; //清除模式模式线路 public static final int NET_EXTPTZ_REVERSECOMM = NET_EXTPTZ_DELETEMODE+1; //翻转命令 public static final int NET_EXTPTZ_FASTGOTO = NET_EXTPTZ_REVERSECOMM+1; //快速定位水平坐标(8192)垂直坐标(8192)变倍(4) public static final int NET_EXTPTZ_AUXIOPEN = NET_EXTPTZ_FASTGOTO+1; //辅助开关开辅助点 public static final int NET_EXTPTZ_AUXICLOSE = NET_EXTPTZ_AUXIOPEN+1; //辅助开关关辅助点 public static final int NET_EXTPTZ_OPENMENU = 0x36;//打开球机菜单 public static final int NET_EXTPTZ_CLOSEMENU = NET_EXTPTZ_OPENMENU+1; //关闭菜单 public static final int NET_EXTPTZ_MENUOK = NET_EXTPTZ_CLOSEMENU+1; //菜单确定 public static final int NET_EXTPTZ_MENUCANCEL = NET_EXTPTZ_MENUOK+1; //菜单取消 public static final int NET_EXTPTZ_MENUUP = NET_EXTPTZ_MENUCANCEL+1; //菜单上 public static final int NET_EXTPTZ_MENUDOWN = NET_EXTPTZ_MENUUP+1; //菜单下 public static final int NET_EXTPTZ_MENULEFT = NET_EXTPTZ_MENUDOWN+1; //菜单左 public static final int NET_EXTPTZ_MENURIGHT = NET_EXTPTZ_MENULEFT+1; //菜单右 public static final int NET_EXTPTZ_ALARMHANDLE = 0x40;//报警联动云台parm1:报警输入通道;parm2:报警联动类型1-预置点2-线扫3-巡航;parm3:联动值,如预置点号 public static final int NET_EXTPTZ_MATRIXSWITCH = 0x41;//矩阵切换parm1:预览器号(视频输出号);parm2:视频输入号;parm3:矩阵号 public static final int NET_EXTPTZ_LIGHTCONTROL= NET_EXTPTZ_MATRIXSWITCH+1; //灯光控制器 public static final int NET_EXTPTZ_EXACTGOTO = NET_EXTPTZ_LIGHTCONTROL+1; //三维精确定位parm1:水平角度(0~3600);parm2:垂直坐标(0~900);parm3:变倍(1~128) public static final int NET_EXTPTZ_RESETZERO = NET_EXTPTZ_EXACTGOTO+1; //三维定位重设零位 public static final int NET_EXTPTZ_MOVE_ABSOLUTELY = NET_EXTPTZ_RESETZERO+1; //绝对移动控制命令,param4对应结构PTZ_CONTROL_ABSOLUTELY public static final int NET_EXTPTZ_MOVE_CONTINUOUSLY = NET_EXTPTZ_MOVE_ABSOLUTELY+1; //持续移动控制命令,param4对应结构PTZ_CONTROL_CONTINUOUSLY public static final int NET_EXTPTZ_GOTOPRESET = NET_EXTPTZ_MOVE_CONTINUOUSLY+1; //云台控制命令,以一定速度转到预置位点,parm4对应结构PTZ_CONTROL_GOTOPRESET public static final int NET_EXTPTZ_SET_VIEW_RANGE = 0x49;//设置可视域(param4对应结构PTZ_VIEW_RANGE_INFO) public static final int NET_EXTPTZ_FOCUS_ABSOLUTELY = 0x4A;//绝对聚焦(param4对应结构PTZ_FOCUS_ABSOLUTELY) public static final int NET_EXTPTZ_HORSECTORSCAN = 0x4B;//水平扇扫(param4对应PTZ_CONTROL_SECTORSCAN,param1、param2、param3无效) public static final int NET_EXTPTZ_VERSECTORSCAN = 0x4C;//垂直扇扫(param4对应PTZ_CONTROL_SECTORSCAN,param1、param2、param3无效) public static final int NET_EXTPTZ_SET_ABS_ZOOMFOCUS = 0x4D;//设定绝对焦距、聚焦值,param1为焦距,范围:0,255],param2为聚焦,范围:[0,255],param3、param4无效 public static final int NET_EXTPTZ_SET_FISHEYE_EPTZ = 0x4E;//控制鱼眼电子云台,param4对应结构PTZ_CONTROL_SET_FISHEYE_EPTZ public static final int NET_EXTPTZ_UP_TELE = 0x70; //上 + TELE param1=速度(1-8),下同 public static final int NET_EXTPTZ_DOWN_TELE = NET_EXTPTZ_UP_TELE+1; //下 + TELE public static final int NET_EXTPTZ_LEFT_TELE = NET_EXTPTZ_DOWN_TELE+1; //左 + TELE public static final int NET_EXTPTZ_RIGHT_TELE = NET_EXTPTZ_LEFT_TELE+1; //右 + TELE public static final int NET_EXTPTZ_LEFTUP_TELE = NET_EXTPTZ_RIGHT_TELE+1; //左上 + TELE public static final int NET_EXTPTZ_LEFTDOWN_TELE = NET_EXTPTZ_LEFTUP_TELE+1; //左下 + TELE public static final int NET_EXTPTZ_TIGHTUP_TELE = NET_EXTPTZ_LEFTDOWN_TELE+1; //右上 + TELE public static final int NET_EXTPTZ_RIGHTDOWN_TELE = NET_EXTPTZ_TIGHTUP_TELE+1; //右下 + TELE public static final int NET_EXTPTZ_UP_WIDE = NET_EXTPTZ_RIGHTDOWN_TELE+1; // 上 + WIDEparam1=速度(1-8),下同 public static final int NET_EXTPTZ_DOWN_WIDE = NET_EXTPTZ_UP_WIDE+1; //下 + WIDE public static final int NET_EXTPTZ_LEFT_WIDE = NET_EXTPTZ_DOWN_WIDE+1; //左 + WIDE public static final int NET_EXTPTZ_RIGHT_WIDE = NET_EXTPTZ_LEFT_WIDE+1; //右 + WIDE public static final int NET_EXTPTZ_LEFTUP_WIDE = NET_EXTPTZ_RIGHT_WIDE+1; //左上 + WIDENET_IN_PTZBASE_SET_FOCUS_MAP_VALUE_INFO public static final int NET_EXTPTZ_LEFTDOWN_WIDE = NET_EXTPTZ_LEFTUP_WIDE+1; //左下 + WIDE public static final int NET_EXTPTZ_TIGHTUP_WIDE = NET_EXTPTZ_LEFTDOWN_WIDE+1; //右上 + WIDE public static final int NET_EXTPTZ_RIGHTDOWN_WIDE = NET_EXTPTZ_TIGHTUP_WIDE+1; //右下 + WIDE public static final int NET_EXTPTZ_GOTOPRESETSNAP = 0x80; // 转至预置点并抓图 public static final int NET_EXTPTZ_DIRECTIONCALIBRATION = 0x82; // 校准云台方向(双方向校准) public static final int NET_EXTPTZ_SINGLEDIRECTIONCALIBRATION = 0x83; // 校准云台方向(单防线校准),param4对应结构 NET_IN_CALIBRATE_SINGLEDIRECTION public static final int NET_EXTPTZ_MOVE_RELATIVELY = 0x84; // 云台相对定位,param4对应结构 NET_IN_MOVERELATIVELY_INFO public static final int NET_EXTPTZ_SET_DIRECTION = 0x85; // 设置云台方向, param4对应结构 NET_IN_SET_DIRECTION_INFO public static final int NET_EXTPTZ_BASE_MOVE_ABSOLUTELY = 0x86; // 精准绝对移动控制命令, param4对应结构 NET_IN_PTZBASE_MOVEABSOLUTELY_INFO(通过 CFG_CAP_CMD_PTZ 命令获取云台能力集( CFG_PTZ_PROTOCOL_CAPS_INFO ),若bSupportReal为TRUE则设备支持该操作) public static final int NET_EXTPTZ_BASE_MOVE_CONTINUOUSLY = NET_EXTPTZ_BASE_MOVE_ABSOLUTELY+1; // 云台连续移动控制命令, param4 对应结构 NET_IN_PTZBASE_MOVE_CONTINUOUSLY_INFO. 通过 CFG_CAP_CMD_PTZ 命令获取云台能力集 // 若 CFG_PTZ_PROTOCOL_CAPS_INFO 中 stuMoveContinuously 字段的 stuType.bSupportExtra 为 TRUE, 表示设备支持该操作 public static final int NET_EXTPTZ_BASE_SET_FOCUS_MAP_VALUE = NET_EXTPTZ_BASE_MOVE_CONTINUOUSLY+1; // 设置当前位置聚焦值, param4对应结构体 NET_IN_PTZBASE_SET_FOCUS_MAP_VALUE_INFO public static final int NET_EXTPTZ_BASE_MOVE_ABSOLUTELY_ONLYPT=NET_EXTPTZ_BASE_SET_FOCUS_MAP_VALUE+1;// 绝对定位独立控制PT并能以度/秒为单位的速度控制, param4对应结构 NET_IN_PTZBASE_MOVEABSOLUTELY_ONLYPT_INFO public static final int NET_EXTPTZ_BASE_MOVE_ABSOLUTELY_ONLYZOOM=NET_EXTPTZ_BASE_MOVE_ABSOLUTELY_ONLYPT+1; // 绝对定位独立控制zoom,并能控制变倍速度, param4对应结构 NET_IN_PTZBASE_MOVEABSOLUTELY_ONLYZOOM_INFO public static final int NET_EXTPTZ_STOP_MOVE=NET_EXTPTZ_BASE_MOVE_ABSOLUTELY_ONLYZOOM+1; // 云台移动停止,同时也停止巡航模式,param4对应结构体 NET_IN_STOP_MOVE_INFO public static final int NET_EXTPTZ_START=NET_EXTPTZ_STOP_MOVE+1; // 开始云台控制,param4对应结构体 NET_IN_PTZ_START_INFO public static final int NET_EXTPTZ_STOP=NET_EXTPTZ_START+1; // 结束云台控制,param4对应结构体 NET_IN_PTZ_STOP_INFO public static final int NET_EXTPTZ_START_PATTERN_RECORD=NET_EXTPTZ_STOP+1; // 开始模式记录,param4对应结构体 NET_IN_START_PATTERN_RECORD_INFO public static final int NET_EXTPTZ_STOP_PATTERN_RECORD=NET_EXTPTZ_START_PATTERN_RECORD+1; // 停止模式记录,param4对应结构体 NET_IN_STOP_PATTERN_RECORD_INFO public static final int NET_EXTPTZ_START_PATTERN_REPLAY=NET_EXTPTZ_STOP_PATTERN_RECORD+1; // 开始模式回放,param4对应结构体 NET_IN_START_PATTERN_REPLAY_INFO public static final int NET_EXTPTZ_STOP_PATTERN_REPLAY=NET_EXTPTZ_START_PATTERN_REPLAY+1; // 停止模式回放,param4对应结构体 NET_IN_STOP_PATTERN_REPLAY_INFO public static final int NET_EXTPTZ_MOVE_DIRECTLY=NET_EXTPTZ_STOP_PATTERN_REPLAY+1; // 云台三维定位, param4对应结构体 NET_IN_MOVE_DIRECTLY_INFO public static final int NET_EXTPTZ_TOTAL = NET_EXTPTZ_MOVE_DIRECTLY+1; //最大命令值 } // 雨刷工作模式 public static class EM_CFG_RAINBRUSHMODE_MODE extends SdkStructure { public static final int EM_CFG_RAINBRUSHMODE_MODE_UNKNOWN = 0; //未知 public static final int EM_CFG_RAINBRUSHMODE_MODE_MANUAL = EM_CFG_RAINBRUSHMODE_MODE_UNKNOWN+1; //手动模式 public static final int EM_CFG_RAINBRUSHMODE_MODE_TIMING = EM_CFG_RAINBRUSHMODE_MODE_MANUAL+1; //定时模式 } // 雨刷使能电平模式 public static class EM_CFG_RAINBRUSHMODE_ENABLEMODE extends SdkStructure { public static final int EM_CFG_RAINBRUSHMODE_ENABLEMODE_UNKNOWN = 0; //未知 public static final int EM_CFG_RAINBRUSHMODE_ENABLEMODE_LOW = EM_CFG_RAINBRUSHMODE_ENABLEMODE_UNKNOWN+1; //低电平有效(常闭) public static final int EM_CFG_RAINBRUSHMODE_ENABLEMODE_HIGH = EM_CFG_RAINBRUSHMODE_ENABLEMODE_LOW+1; //高电平有效(常开) } // 雨刷模式相关配置(对应 CFG_RAINBRUSHMODE_INFO 命令) public static class CFG_RAINBRUSHMODE_INFO extends SdkStructure { public int emMode;//雨刷工作模式, 取值为EM_CFG_RAINBRUSHMODE_MODE中的值 public int emEnableMode;//雨刷使能电平模式, 取值为EM_CFG_RAINBRUSHMODE_ENABLEMODE中的值 public int nPort;//雨刷使用的IO端口,-1表示未接入设备,-2表示该字段无效(设备未传送该字段) public int nSensitivity; // 雨刷灵敏度, 只有当mode为Auto时有效, 范围[0, 10] } public static class CFG_RAINBRUSH_INFO extends SdkStructure { public byte bEnable; // 雨刷使能, 类型为bool, 取值0或1 public byte bSpeedRate; // 雨刷速度,1:快速;2:中速;3:慢速 public byte[] bReserved = new byte[2]; // 保留对齐 public TIME_SECTION_WEEK_DAY_6[] stuTimeSectionWeekDay = (TIME_SECTION_WEEK_DAY_6[])new TIME_SECTION_WEEK_DAY_6().toArray(WEEK_DAY_NUM);// 事件响应时间段 public int nInterval; // 雨刷运动间隔事件, 单位: 秒 public int bProtectEnable; // 雨刷保护使能: true 保护开启, false 保护关闭 public int nProtectTime; // 保护时间, 单位: 秒 public CFG_RAINBRUSH_TOUR_INFO stuRainBrushTour=new CFG_RAINBRUSH_TOUR_INFO(); // 雨刷巡航模式配置,当CFG_RAINBRUSHMODE_INFO中EM_CFG_RAINBRUSHMODE_MODE为EM_CFG_RAINBRUSHMODE_MODE_TOUR时有效 } // 控制类型,对应CLIENT_ControlDevice接口 public static class CtrlType extends SdkStructure { public static final int CTRLTYPE_CTRL_REBOOT = 0;//重启设备 public static final int CTRLTYPE_CTRL_SHUTDOWN = CTRLTYPE_CTRL_REBOOT+1; //关闭设备 public static final int CTRLTYPE_CTRL_DISK = CTRLTYPE_CTRL_SHUTDOWN+1; //硬盘管理 public static final int CTRLTYPE_KEYBOARD_POWER =3;//网络键盘 public static final int CTRLTYPE_KEYBOARD_ENTER = CTRLTYPE_KEYBOARD_POWER+1; public static final int CTRLTYPE_KEYBOARD_ESC = CTRLTYPE_KEYBOARD_ENTER+1; public static final int CTRLTYPE_KEYBOARD_UP = CTRLTYPE_KEYBOARD_ESC+1; public static final int CTRLTYPE_KEYBOARD_DOWN = CTRLTYPE_KEYBOARD_UP+1; public static final int CTRLTYPE_KEYBOARD_LEFT = CTRLTYPE_KEYBOARD_DOWN+1; public static final int CTRLTYPE_KEYBOARD_RIGHT = CTRLTYPE_KEYBOARD_LEFT+1; public static final int CTRLTYPE_KEYBOARD_BTN0 = CTRLTYPE_KEYBOARD_RIGHT+1; public static final int CTRLTYPE_KEYBOARD_BTN1 = CTRLTYPE_KEYBOARD_BTN0+1; public static final int CTRLTYPE_KEYBOARD_BTN2 = CTRLTYPE_KEYBOARD_BTN1+1; public static final int CTRLTYPE_KEYBOARD_BTN3 = CTRLTYPE_KEYBOARD_BTN2+1; public static final int CTRLTYPE_KEYBOARD_BTN4 = CTRLTYPE_KEYBOARD_BTN3+1; public static final int CTRLTYPE_KEYBOARD_BTN5 = CTRLTYPE_KEYBOARD_BTN4+1; public static final int CTRLTYPE_KEYBOARD_BTN6 = CTRLTYPE_KEYBOARD_BTN5+1; public static final int CTRLTYPE_KEYBOARD_BTN7 = CTRLTYPE_KEYBOARD_BTN6+1; public static final int CTRLTYPE_KEYBOARD_BTN8 = CTRLTYPE_KEYBOARD_BTN7+1; public static final int CTRLTYPE_KEYBOARD_BTN9 = CTRLTYPE_KEYBOARD_BTN8+1; public static final int CTRLTYPE_KEYBOARD_BTN10 = CTRLTYPE_KEYBOARD_BTN9+1; public static final int CTRLTYPE_KEYBOARD_BTN11 = CTRLTYPE_KEYBOARD_BTN10+1; public static final int CTRLTYPE_KEYBOARD_BTN12 = CTRLTYPE_KEYBOARD_BTN11+1; public static final int CTRLTYPE_KEYBOARD_BTN13 = CTRLTYPE_KEYBOARD_BTN12+1; public static final int CTRLTYPE_KEYBOARD_BTN14 = CTRLTYPE_KEYBOARD_BTN13+1; public static final int CTRLTYPE_KEYBOARD_BTN15 = CTRLTYPE_KEYBOARD_BTN14+1; public static final int CTRLTYPE_KEYBOARD_BTN16 = CTRLTYPE_KEYBOARD_BTN15+1; public static final int CTRLTYPE_KEYBOARD_SPLIT = CTRLTYPE_KEYBOARD_BTN16+1; public static final int CTRLTYPE_KEYBOARD_ONE = CTRLTYPE_KEYBOARD_SPLIT+1; public static final int CTRLTYPE_KEYBOARD_NINE = CTRLTYPE_KEYBOARD_ONE+1; public static final int CTRLTYPE_KEYBOARD_ADDR = CTRLTYPE_KEYBOARD_NINE+1; public static final int CTRLTYPE_KEYBOARD_INFO = CTRLTYPE_KEYBOARD_ADDR+1; public static final int CTRLTYPE_KEYBOARD_REC = CTRLTYPE_KEYBOARD_INFO+1; public static final int CTRLTYPE_KEYBOARD_FN1 = CTRLTYPE_KEYBOARD_REC+1; public static final int CTRLTYPE_KEYBOARD_FN2 = CTRLTYPE_KEYBOARD_FN1+1; public static final int CTRLTYPE_KEYBOARD_PLAY = CTRLTYPE_KEYBOARD_FN2+1; public static final int CTRLTYPE_KEYBOARD_STOP = CTRLTYPE_KEYBOARD_PLAY+1; public static final int CTRLTYPE_KEYBOARD_SLOW = CTRLTYPE_KEYBOARD_STOP+1; public static final int CTRLTYPE_KEYBOARD_FAST = CTRLTYPE_KEYBOARD_SLOW+1; public static final int CTRLTYPE_KEYBOARD_PREW = CTRLTYPE_KEYBOARD_FAST+1; public static final int CTRLTYPE_KEYBOARD_NEXT = CTRLTYPE_KEYBOARD_PREW+1; public static final int CTRLTYPE_KEYBOARD_JMPDOWN = CTRLTYPE_KEYBOARD_NEXT+1; public static final int CTRLTYPE_KEYBOARD_JMPUP = CTRLTYPE_KEYBOARD_JMPDOWN+1; public static final int CTRLTYPE_KEYBOARD_10PLUS = CTRLTYPE_KEYBOARD_JMPUP+1; public static final int CTRLTYPE_KEYBOARD_SHIFT = CTRLTYPE_KEYBOARD_10PLUS+1; public static final int CTRLTYPE_KEYBOARD_BACK = CTRLTYPE_KEYBOARD_SHIFT+1; public static final int CTRLTYPE_KEYBOARD_LOGIN = CTRLTYPE_KEYBOARD_BACK+1; // 新网络键盘功能 public static final int CTRLTYPE_KEYBOARD_CHNNEL = CTRLTYPE_KEYBOARD_LOGIN+1; // 切换视频通道 public static final int CTRLTYPE_TRIGGER_ALARM_IN =100; // 触发报警输入 public static final int CTRLTYPE_TRIGGER_ALARM_OUT = CTRLTYPE_TRIGGER_ALARM_IN+1; // 触发报警输出 public static final int CTRLTYPE_CTRL_MATRIX = CTRLTYPE_TRIGGER_ALARM_OUT+1; // 矩阵控制 public static final int CTRLTYPE_CTRL_SDCARD = CTRLTYPE_CTRL_MATRIX+1; // SD卡控制(IPC产品)参数同硬盘控制 public static final int CTRLTYPE_BURNING_START = CTRLTYPE_CTRL_SDCARD+1; // 刻录机控制,开始刻录 public static final int CTRLTYPE_BURNING_STOP = CTRLTYPE_BURNING_START+1; // 刻录机控制,结束刻录 public static final int CTRLTYPE_BURNING_ADDPWD = CTRLTYPE_BURNING_STOP+1; // 刻录机控制,叠加密码(以'\0'为结尾的字符串,最大长度8位) public static final int CTRLTYPE_BURNING_ADDHEAD = CTRLTYPE_BURNING_ADDPWD+1; // 刻录机控制,叠加片头(以'\0'为结尾的字符串,最大长度1024字节,支持分行,行分隔符'\n') public static final int CTRLTYPE_BURNING_ADDSIGN = CTRLTYPE_BURNING_ADDHEAD+1; // 刻录机控制,叠加打点到刻录信息(参数无) public static final int CTRLTYPE_BURNING_ADDCURSTOMINFO = CTRLTYPE_BURNING_ADDSIGN+1; // 刻录机控制,自定义叠加(以'\0'为结尾的字符串,最大长度1024字节,支持分行,行分隔符'\n') public static final int CTRLTYPE_CTRL_RESTOREDEFAULT = CTRLTYPE_BURNING_ADDCURSTOMINFO+1; // 恢复设备的默认设置 public static final int CTRLTYPE_CTRL_CAPTURE_START = CTRLTYPE_CTRL_RESTOREDEFAULT+1; // 触发设备抓图 public static final int CTRLTYPE_CTRL_CLEARLOG = CTRLTYPE_CTRL_CAPTURE_START+1; // 清除日志 public static final int CTRLTYPE_TRIGGER_ALARM_WIRELESS =200; // 触发无线报警(IPC产品) public static final int CTRLTYPE_MARK_IMPORTANT_RECORD = CTRLTYPE_TRIGGER_ALARM_WIRELESS+1; // 标识重要录像文件 public static final int CTRLTYPE_CTRL_DISK_SUBAREA = CTRLTYPE_MARK_IMPORTANT_RECORD+1; // 网络硬盘分区 public static final int CTRLTYPE_BURNING_ATTACH = CTRLTYPE_CTRL_DISK_SUBAREA+1; // 刻录机控制,附件刻录. public static final int CTRLTYPE_BURNING_PAUSE = CTRLTYPE_BURNING_ATTACH+1; // 刻录暂停 public static final int CTRLTYPE_BURNING_CONTINUE = CTRLTYPE_BURNING_PAUSE+1; // 刻录继续 public static final int CTRLTYPE_BURNING_POSTPONE = CTRLTYPE_BURNING_CONTINUE+1; // 刻录顺延 public static final int CTRLTYPE_CTRL_OEMCTRL = CTRLTYPE_BURNING_POSTPONE+1; // 报停控制 public static final int CTRLTYPE_BACKUP_START = CTRLTYPE_CTRL_OEMCTRL+1; // 设备备份开始 public static final int CTRLTYPE_BACKUP_STOP = CTRLTYPE_BACKUP_START+1; // 设备备份停止 public static final int CTRLTYPE_VIHICLE_WIFI_ADD = CTRLTYPE_BACKUP_STOP+1; // 车载手动增加WIFI配置 public static final int CTRLTYPE_VIHICLE_WIFI_DEC = CTRLTYPE_VIHICLE_WIFI_ADD+1; // 车载手动删除WIFI配置 public static final int CTRLTYPE_BUZZER_START = CTRLTYPE_VIHICLE_WIFI_DEC+1; // 蜂鸣器控制开始 public static final int CTRLTYPE_BUZZER_STOP = CTRLTYPE_BUZZER_START+1; // 蜂鸣器控制结束 public static final int CTRLTYPE_REJECT_USER = CTRLTYPE_BUZZER_STOP+1; // 剔除用户 public static final int CTRLTYPE_SHIELD_USER = CTRLTYPE_REJECT_USER+1; // 屏蔽用户 public static final int CTRLTYPE_RAINBRUSH = CTRLTYPE_SHIELD_USER+1; // 智能交通,雨刷控制 public static final int CTRLTYPE_MANUAL_SNAP = CTRLTYPE_RAINBRUSH+1; // 智能交通,手动抓拍(对应结构体MANUAL_SNAP_PARAMETER) public static final int CTRLTYPE_MANUAL_NTP_TIMEADJUST = CTRLTYPE_MANUAL_SNAP+1; // 手动NTP校时 public static final int CTRLTYPE_NAVIGATION_SMS = CTRLTYPE_MANUAL_NTP_TIMEADJUST+1; // 导航信息和短消息 public static final int CTRLTYPE_CTRL_ROUTE_CROSSING = CTRLTYPE_NAVIGATION_SMS+1; // 路线点位信息 public static final int CTRLTYPE_BACKUP_FORMAT = CTRLTYPE_CTRL_ROUTE_CROSSING+1; // 格式化备份设备 public static final int CTRLTYPE_DEVICE_LOCALPREVIEW_SLIPT = CTRLTYPE_BACKUP_FORMAT+1; // 控制设备端本地预览分割(对应结构体DEVICE_LOCALPREVIEW_SLIPT_PARAMETER) public static final int CTRLTYPE_CTRL_INIT_RAID = CTRLTYPE_DEVICE_LOCALPREVIEW_SLIPT+1; // RAID初始化 public static final int CTRLTYPE_CTRL_RAID = CTRLTYPE_CTRL_INIT_RAID+1; // RAID操作 public static final int CTRLTYPE_CTRL_SAPREDISK = CTRLTYPE_CTRL_RAID+1; // 热备盘操作 public static final int CTRLTYPE_WIFI_CONNECT = CTRLTYPE_CTRL_SAPREDISK+1; // 手动发起WIFI连接(对应结构体WIFI_CONNECT) public static final int CTRLTYPE_WIFI_DISCONNECT = CTRLTYPE_WIFI_CONNECT+1; // 手动断开WIFI连接(对应结构体WIFI_CONNECT) public static final int CTRLTYPE_CTRL_ARMED = CTRLTYPE_WIFI_DISCONNECT+1; // 布撤防操作 public static final int CTRLTYPE_CTRL_IP_MODIFY = CTRLTYPE_CTRL_ARMED+1; // 修改前端IP(对应结构体 NET_CTRL_IPMODIFY_PARAM) public static final int CTRLTYPE_CTRL_WIFI_BY_WPS = CTRLTYPE_CTRL_IP_MODIFY+1; // wps连接wifi(对应结构体NET_CTRL_CONNECT_WIFI_BYWPS) public static final int CTRLTYPE_CTRL_FORMAT_PATITION = CTRLTYPE_CTRL_WIFI_BY_WPS+1; // 格式化分区(对应结构体NET_FORMAT_PATITION) public static final int CTRLTYPE_CTRL_EJECT_STORAGE = CTRLTYPE_CTRL_FORMAT_PATITION+1; // 手动卸载设备(对应结构体NET_EJECT_STORAGE_DEVICE) public static final int CTRLTYPE_CTRL_LOAD_STORAGE = CTRLTYPE_CTRL_EJECT_STORAGE+1; // 手动装载设备(对应结构体NET_LOAD_STORAGE_DEVICE) public static final int CTRLTYPE_CTRL_CLOSE_BURNER = CTRLTYPE_CTRL_LOAD_STORAGE+1; // 关闭刻录机光驱门(对应结构体NET_CTRL_BURNERDOOR)一般需要等6 public static final int CTRLTYPE_CTRL_EJECT_BURNER = CTRLTYPE_CTRL_CLOSE_BURNER+1; // 弹出刻录机光驱门(对应结构体NET_CTRL_BURNERDOOR)一般需要等4秒 public static final int CTRLTYPE_CTRL_CLEAR_ALARM = CTRLTYPE_CTRL_EJECT_BURNER+1; // 消警(对应结构体NET_CTRL_CLEAR_ALARM) public static final int CTRLTYPE_CTRL_MONITORWALL_TVINFO = CTRLTYPE_CTRL_CLEAR_ALARM+1; // 电视墙信息显示(对应结构体NET_CTRL_MONITORWALL_TVINFO) public static final int CTRLTYPE_CTRL_START_VIDEO_ANALYSE = CTRLTYPE_CTRL_MONITORWALL_TVINFO+1; // 开始视频智能分析(对应结构体NET_CTRL_START_VIDEO_ANALYSE) public static final int CTRLTYPE_CTRL_STOP_VIDEO_ANALYSE = CTRLTYPE_CTRL_START_VIDEO_ANALYSE+1; // 停止视频智能分析(对应结构体NET_CTRL_STOP_VIDEO_ANALYSE) public static final int CTRLTYPE_CTRL_UPGRADE_DEVICE = CTRLTYPE_CTRL_STOP_VIDEO_ANALYSE+1; // 控制启动设备升级,由设备独立完成升级过程,不需要传输升级文件 public static final int CTRLTYPE_CTRL_MULTIPLAYBACK_CHANNALES = CTRLTYPE_CTRL_UPGRADE_DEVICE+1; // 切换多通道预览回放的通道(对应结构体NET_CTRL_MULTIPLAYBACK_CHANNALES) public static final int CTRLTYPE_CTRL_SEQPOWER_OPEN = CTRLTYPE_CTRL_MULTIPLAYBACK_CHANNALES+1; // 电源时序器打开开关量输出口(对应NET_CTRL_SEQPOWER_PARAM) public static final int CTRLTYPE_CTRL_SEQPOWER_CLOSE = CTRLTYPE_CTRL_SEQPOWER_OPEN+1; // 电源时序器关闭开关量输出口(对应NET_CTRL_SEQPOWER_PARAM) public static final int CTRLTYPE_CTRL_SEQPOWER_OPEN_ALL = CTRLTYPE_CTRL_SEQPOWER_CLOSE+1; // 电源时序器打开开关量输出口组(对应NET_CTRL_SEQPOWER_PARAM) public static final int CTRLTYPE_CTRL_SEQPOWER_CLOSE_ALL = CTRLTYPE_CTRL_SEQPOWER_OPEN_ALL+1; // 电源时序器关闭开关量输出口组(对应NET_CTRL_SEQPOWER_PARAM) public static final int CTRLTYPE_CTRL_PROJECTOR_RISE = CTRLTYPE_CTRL_SEQPOWER_CLOSE_ALL+1; // 投影仪上升(对应NET_CTRL_PROJECTOR_PARAM) public static final int CTRLTYPE_CTRL_PROJECTOR_FALL = CTRLTYPE_CTRL_PROJECTOR_RISE+1; // 投影仪下降(对应NET_CTRL_PROJECTOR_PARAM) public static final int CTRLTYPE_CTRL_PROJECTOR_STOP = CTRLTYPE_CTRL_PROJECTOR_FALL+1; // 投影仪停止(对应NET_CTRL_PROJECTOR_PARAM) public static final int CTRLTYPE_CTRL_INFRARED_KEY = CTRLTYPE_CTRL_PROJECTOR_STOP+1; // 红外按键(对应NET_CTRL_INFRARED_KEY_PARAM) public static final int CTRLTYPE_CTRL_START_PLAYAUDIO = CTRLTYPE_CTRL_INFRARED_KEY+1; // 设备开始播放音频文件(对应结构体NET_CTRL_START_PLAYAUDIO) public static final int CTRLTYPE_CTRL_STOP_PLAYAUDIO = CTRLTYPE_CTRL_START_PLAYAUDIO+1; // 设备停止播放音频文件 public static final int CTRLTYPE_CTRL_START_ALARMBELL = CTRLTYPE_CTRL_STOP_PLAYAUDIO+1; // 开启警号(对应结构体 NET_CTRL_ALARMBELL ) public static final int CTRLTYPE_CTRL_STOP_ALARMBELL = CTRLTYPE_CTRL_START_ALARMBELL+1; // 关闭警号(对应结构体 NET_CTRL_ALARMBELL ) public static final int CTRLTYPE_CTRL_ACCESS_OPEN = CTRLTYPE_CTRL_STOP_ALARMBELL+1; // 门禁控制-开门(对应结构体 NET_CTRL_ACCESS_OPEN) public static final int CTRLTYPE_CTRL_SET_BYPASS = CTRLTYPE_CTRL_ACCESS_OPEN+1; // 设置旁路功能(对应结构体NET_CTRL_SET_BYPASS) public static final int CTRLTYPE_CTRL_RECORDSET_INSERT = CTRLTYPE_CTRL_SET_BYPASS+1; // 添加记录,获得记录集编号(对应NET_CTRL_RECORDSET_INSERT_PARAM) public static final int CTRLTYPE_CTRL_RECORDSET_UPDATE = CTRLTYPE_CTRL_RECORDSET_INSERT+1; // 更新某记录集编号的记录(对应 NET_CTRL_RECORDSET_PARAM) public static final int CTRLTYPE_CTRL_RECORDSET_REMOVE = CTRLTYPE_CTRL_RECORDSET_UPDATE+1; // 根据记录集编号删除某记录(对应 NET_CTRL_RECORDSET_PARAM) public static final int CTRLTYPE_CTRL_RECORDSET_CLEAR = CTRLTYPE_CTRL_RECORDSET_REMOVE+1; // 清除所有记录集信息(对应NET_CTRL_RECORDSET_PARAM) public static final int CTRLTYPE_CTRL_ACCESS_CLOSE = CTRLTYPE_CTRL_RECORDSET_CLEAR+1; // 门禁控制-关门(对应结构体NET_CTRL_ACCESS_CLOSE) public static final int CTRLTYPE_CTRL_ALARM_SUBSYSTEM_ACTIVE_SET = CTRLTYPE_CTRL_ACCESS_CLOSE+1;// 报警子系统激活设置(对应结构体NET_CTRL_ALARM_SUBSYSTEM_SETACTIVE) public static final int CTRLTYPE_CTRL_FORBID_OPEN_STROBE = CTRLTYPE_CTRL_ALARM_SUBSYSTEM_ACTIVE_SET+1; // 禁止设备端开闸(对应结构体NET_CTRL_FORBID_OPEN_STROBE) public static final int CTRLTYPE_CTRL_OPEN_STROBE = CTRLTYPE_CTRL_FORBID_OPEN_STROBE+1; // 开启道闸(对应结构体 NET_CTRL_OPEN_STROBE) public static final int CTRLTYPE_CTRL_TALKING_REFUSE = CTRLTYPE_CTRL_OPEN_STROBE+1; // 对讲拒绝接听(对应结构体NET_CTRL_TALKING_REFUSE) public static final int CTRLTYPE_CTRL_ARMED_EX = CTRLTYPE_CTRL_TALKING_REFUSE+1; // 布撤防操作(对应结构体CTRL_ARM_DISARM_PARAM_EX),对CTRL_ARM_DISARM_PARAM升级,建议用这个 public static final int CTRLTYPE_CTRL_NET_KEYBOARD =400; // 网络键盘控制(对应结构体NET_CTRL_NET_KEYBOARD) public static final int CTRLTYPE_CTRL_AIRCONDITION_OPEN = CTRLTYPE_CTRL_NET_KEYBOARD+1; // 打开空调(对应结构体NET_CTRL_OPEN_AIRCONDITION) public static final int CTRLTYPE_CTRL_AIRCONDITION_CLOSE = CTRLTYPE_CTRL_AIRCONDITION_OPEN+1; // 关闭空调(对应结构体NET_CTRL_CLOSE_AIRCONDITION) public static final int CTRLTYPE_CTRL_AIRCONDITION_SET_TEMPERATURE = CTRLTYPE_CTRL_AIRCONDITION_CLOSE+1; // 设定空调温度(对应结构体NET_CTRL_SET_TEMPERATURE) public static final int CTRLTYPE_CTRL_AIRCONDITION_ADJUST_TEMPERATURE = CTRLTYPE_CTRL_AIRCONDITION_SET_TEMPERATURE+1; // 调节空调温度(对应结构体NET_CTRL_ADJUST_TEMPERATURE) public static final int CTRLTYPE_CTRL_AIRCONDITION_SETMODE = CTRLTYPE_CTRL_AIRCONDITION_ADJUST_TEMPERATURE+1; // 设置空调工作模式(对应结构体NET_CTRL_ADJUST_TEMPERATURE) public static final int CTRLTYPE_CTRL_AIRCONDITION_SETWINDMODE = CTRLTYPE_CTRL_AIRCONDITION_SETMODE+1; // 设置空调送风模式(对应结构体NET_CTRL_AIRCONDITION_SETMODE) public static final int CTRLTYPE_CTRL_RESTOREDEFAULT_EX = CTRLTYPE_CTRL_AIRCONDITION_SETWINDMODE+1; // 恢复设备的默认设置新协议(对应结构体 NET_CTRL_RESTORE_DEFAULT ) // 恢复配置优先使用该枚举,如果接口失败, // 且CLIENT_GetLastError返回NET_UNSUPPORTED,再尝试使用NET_CTRL_RESTOREDEFAULT恢复配置 public static final int CTRLTYPE_CTRL_NOTIFY_EVENT = CTRLTYPE_CTRL_RESTOREDEFAULT_EX+1; // 向设备发送事件(对应结构体NET_NOTIFY_EVENT_DATA) public static final int CTRLTYPE_CTRL_SILENT_ALARM_SET = CTRLTYPE_CTRL_NOTIFY_EVENT+1; // 无声报警设置 public static final int CTRLTYPE_CTRL_START_PLAYAUDIOEX = CTRLTYPE_CTRL_SILENT_ALARM_SET+1; // 设备开始语音播报(对应结构体NET_CTRL_START_PLAYAUDIOEX) public static final int CTRLTYPE_CTRL_STOP_PLAYAUDIOEX = CTRLTYPE_CTRL_START_PLAYAUDIOEX+1; // 设备停止语音播报 public static final int CTRLTYPE_CTRL_CLOSE_STROBE = CTRLTYPE_CTRL_STOP_PLAYAUDIOEX+1; // 关闭道闸(对应结构体 NET_CTRL_CLOSE_STROBE) public static final int CTRLTYPE_CTRL_SET_ORDER_STATE = CTRLTYPE_CTRL_CLOSE_STROBE+1; // 设置车位预定状态(对应结构体NET_CTRL_SET_ORDER_STATE) public static final int CTRLTYPE_CTRL_RECORDSET_INSERTEX = CTRLTYPE_CTRL_SET_ORDER_STATE+1; // 添加记录,获得记录集编号(对应 NET_CTRL_RECORDSET_INSERT_PARAM ) public static final int CTRLTYPE_CTRL_RECORDSET_UPDATEEX = CTRLTYPE_CTRL_RECORDSET_INSERTEX+1; // 更新某记录集编号的记录(对应NET_CTRL_RECORDSET_PARAM) public static final int CTRLTYPE_CTRL_CAPTURE_FINGER_PRINT = CTRLTYPE_CTRL_RECORDSET_UPDATEEX+1; // 信息采集(对应结构体NET_CTRL_CAPTURE_FINGER_PRINT) public static final int CTRLTYPE_CTRL_ECK_LED_SET = CTRLTYPE_CTRL_CAPTURE_FINGER_PRINT+1; // 停车场出入口控制器LED设置(对应结构体NET_CTRL_ECK_LED_SET_PARAM) public static final int CTRLTYPE_CTRL_ECK_IC_CARD_IMPORT = CTRLTYPE_CTRL_ECK_LED_SET+1; // 智能停车系统出入口机IC卡信息导入(对应结构体NET_CTRL_ECK_IC_CARD_IMPORT_PARAM) public static final int CTRLTYPE_CTRL_ECK_SYNC_IC_CARD = CTRLTYPE_CTRL_ECK_IC_CARD_IMPORT+1; // 智能停车系统出入口机IC卡信息同步指令,收到此指令后,设备删除原有IC卡信息(对应结构体NET_CTRL_ECK_SYNC_IC_CARD_PARAM) public static final int CTRLTYPE_CTRL_LOWRATEWPAN_REMOVE = CTRLTYPE_CTRL_ECK_SYNC_IC_CARD+1; // 删除指定无线设备(对应结构体NET_CTRL_LOWRATEWPAN_REMOVE) public static final int CTRLTYPE_CTRL_LOWRATEWPAN_MODIFY = CTRLTYPE_CTRL_LOWRATEWPAN_REMOVE+1; // 修改无线设备信息(对应结构体NET_CTRL_LOWRATEWPAN_MODIFY) public static final int CTRLTYPE_CTRL_ECK_SET_PARK_INFO = CTRLTYPE_CTRL_LOWRATEWPAN_MODIFY+1; // 智能停车系统出入口机设置车位信息(对应结构体NET_CTRL_ECK_SET_PARK_INFO_PARAM) public static final int CTRLTYPE_CTRL_VTP_DISCONNECT = CTRLTYPE_CTRL_ECK_SET_PARK_INFO+1; // 挂断视频电话(对应结构体NET_CTRL_VTP_DISCONNECT) public static final int CTRLTYPE_CTRL_UPDATE_FILES = CTRLTYPE_CTRL_VTP_DISCONNECT+1; // 远程投放多媒体文件更新(对应结构体NET_CTRL_UPDATE_FILES) public static final int CTRLTYPE_CTRL_MATRIX_SAVE_SWITCH = CTRLTYPE_CTRL_UPDATE_FILES+1; // 保存上下位矩阵输出关系(对应结构体NET_CTRL_MATRIX_SAVE_SWITCH) public static final int CTRLTYPE_CTRL_MATRIX_RESTORE_SWITCH = CTRLTYPE_CTRL_MATRIX_SAVE_SWITCH+1; // 恢复上下位矩阵输出关系(对应结构体NET_CTRL_MATRIX_RESTORE_SWITCH) public static final int CTRLTYPE_CTRL_VTP_DIVERTACK = CTRLTYPE_CTRL_MATRIX_RESTORE_SWITCH+1; // 呼叫转发响应(对应结构体NET_CTRL_VTP_DIVERTACK) public static final int CTRLTYPE_CTRL_RAINBRUSH_MOVEONCE = CTRLTYPE_CTRL_VTP_DIVERTACK+1; // 雨刷来回刷一次,雨刷模式配置为手动模式时有效(对应结构体NET_CTRL_RAINBRUSH_MOVEONCE) public static final int CTRLTYPE_CTRL_RAINBRUSH_MOVECONTINUOUSLY = CTRLTYPE_CTRL_RAINBRUSH_MOVEONCE+1; // 雨刷来回循环刷,雨刷模式配置为手动模式时有效(对应结构体NET_CTRL_RAINBRUSH_MOVECONTINUOUSLY) public static final int CTRLTYPE_CTRL_RAINBRUSH_STOPMOVE = CTRLTYPE_CTRL_RAINBRUSH_MOVECONTINUOUSLY+1; // 雨刷停止刷,雨刷模式配置为手动模式时有效(对应结构体NET_CTRL_RAINBRUSH_STOPMOVE) public static final int CTRLTYPE_CTRL_ALARM_ACK = CTRLTYPE_CTRL_RAINBRUSH_STOPMOVE+1; // 报警事件确认(对应结构体NET_CTRL_ALARM_ACK) // NET_CTRL_ALARM_ACK 该操作切勿在报警回调接口中调用 public static final int CTRLTYPE_CTRL_RECORDSET_IMPORT = CTRLTYPE_CTRL_ALARM_ACK + 1; // 批量导入记录集信息(对应 NET_CTRL_RECORDSET_PARAM ) public static final int CTRLTYPE_CTRL_DELIVERY_FILE = CTRLTYPE_CTRL_RECORDSET_IMPORT + 1; // 向视频输出口投放视频和图片文件, 楼宇对讲使用,同一时间投放(对应 NET_CTRL_DELIVERY_FILE ) public static final int CTRLTYPE_CTRL_FORCE_BREAKING = CTRLTYPE_CTRL_DELIVERY_FILE + 1; // 强制产生违章类型(对应 NET_CTRL_FORCE_BREAKING) public static final int CTRLTYPE_CTRL_RESTORE_EXCEPT = CTRLTYPE_CTRL_FORCE_BREAKING + 1; // 恢复除指定配置外的其他配置为默认。 public static final int CTRLTYPE_CTRL_SET_PARK_INFO = CTRLTYPE_CTRL_RESTORE_EXCEPT + 1; // 设置停车信息,平台设置给相机,内容用于点阵屏显示(对应结构体 NET_CTRL_SET_PARK_INFO) public static final int CTRLTYPE_CTRL_CLEAR_SECTION_STAT = CTRLTYPE_CTRL_SET_PARK_INFO + 1; // 清除当前时间段内人数统计信息, 重新从0开始计算(对应结构体NET_CTRL_CLEAR_SECTION_STAT_INFO) public static final int CTRLTYPE_CTRL_DELIVERY_FILE_BYCAR = CTRLTYPE_CTRL_CLEAR_SECTION_STAT + 1; // 向视频输出口投放视频和图片文件, 车载使用,广告单独时间投放(对应NET_CTRL_DELIVERY_FILE_BYCAR) public static final int CTRLTYPE_CTRL_ECK_GUIDINGPANEL_CONTENT = CTRLTYPE_CTRL_DELIVERY_FILE_BYCAR + 1; // 设置诱导屏显示内容(对应结构体 NET_CTRL_ECK_GUIDINGPANEL_CONTENT) public static final int CTRLTYPE_CTRL_SET_SAFE_LEVEL = CTRLTYPE_CTRL_ECK_GUIDINGPANEL_CONTENT + 1; // 设置门禁安全等级(对应结构体,pInBuf= NET_IN_SET_SAFE_LEVEL*, pOutBuf= NET_OUT_SET_SAFE_LEVEL * ) public static final int CTRLTYPE_CTRL_VTP_INVITEACK = CTRLTYPE_CTRL_SET_SAFE_LEVEL + 1; // 对讲请求回复(对应结构体 NET_CTRL_VTP_INVITEACK) public static final int CTRLTYPE_CTRL_ACCESS_RESET_PASSWORD = CTRLTYPE_CTRL_VTP_INVITEACK + 1; // 门禁控制-重置密码(对应结构体 NET_CTRL_ACCESS_RESET_PASSWORD) public static final int CTRLTYPE_CTRL_ACCESS_CALL_LIFT=CTRLTYPE_CTRL_ACCESS_RESET_PASSWORD+1; // 门禁控制-呼梯(对应结构体 NET_CTRL_ACCESS_CALL_LIFT) /** * 以下命令只在 CLIENT_ControlDeviceEx 上有效 */ public static final int CTRLTYPE_CTRL_THERMO_GRAPHY_ENSHUTTER = 0x10000; // 设置热成像快门启用/禁用,pInBuf= NET_IN_THERMO_EN_SHUTTER*, pOutBuf= NET_OUT_THERMO_EN_SHUTTER * public static final int CTRLTYPE_CTRL_RADIOMETRY_SETOSDMARK = CTRLTYPE_CTRL_THERMO_GRAPHY_ENSHUTTER+1; // 设置测温项的osd为高亮,pInBuf=NET_IN_RADIOMETRY_SETOSDMARK*,pOutBuf= NET_OUT_RADIOMETRY_SETOSDMARK * public static final int CTRLTYPE_CTRL_AUDIO_REC_START_NAME = CTRLTYPE_CTRL_RADIOMETRY_SETOSDMARK+1; // 开启音频录音并得到录音名,pInBuf = NET_IN_AUDIO_REC_MNG_NAME *, pOutBuf = NET_OUT_AUDIO_REC_MNG_NAME * public static final int CTRLTYPE_CTRL_AUDIO_REC_STOP_NAME = CTRLTYPE_CTRL_AUDIO_REC_START_NAME+1; // 关闭音频录音并返回文件名称,pInBuf = NET_IN_AUDIO_REC_MNG_NAME *, pOutBuf = NET_OUT_AUDIO_REC_MNG_NAME * public static final int CTRLTYPE_CTRL_SNAP_MNG_SNAP_SHOT = CTRLTYPE_CTRL_AUDIO_REC_STOP_NAME+1; // 即时抓图(又名手动抓图),pInBuf =NET_IN_SNAP_MNG_SHOT *, pOutBuf = NET_OUT_SNAP_MNG_SHOT * public static final int CTRLTYPE_CTRL_LOG_STOP = CTRLTYPE_CTRL_SNAP_MNG_SNAP_SHOT+1; // 强制同步缓存数据到数据库并关闭数据库,pInBuf = NET_IN_LOG_MNG_CTRL *, pOutBuf = NET_OUT_LOG_MNG_CTRL * public static final int CTRLTYPE_CTRL_LOG_RESUME = CTRLTYPE_CTRL_LOG_STOP+1; // 恢复数据库,pInBuf = NET_IN_LOG_MNG_CTRL *, pOutBuf = NET_OUT_LOG_MNG_CTRL * public static final int CTRLTYPE_CTRL_POS_ADD = CTRLTYPE_CTRL_LOG_RESUME + 1; // 增加一个Pos设备, pInBuf = NET_IN_POS_ADD *, pOutBuf = NET_OUT_POS_ADD * public static final int CTRLTYPE_CTRL_POS_REMOVE = CTRLTYPE_CTRL_POS_ADD + 1; // 删除一个Pos设备, pInBuf = NET_IN_POS_REMOVE *, pOutBuf = NET_OUT_POS_REMOVE * public static final int CTRLTYPE_CTRL_POS_REMOVE_MULTI = CTRLTYPE_CTRL_POS_REMOVE + 1; // 批量删除Pos设备, pInBuf = NET_IN_POS_REMOVE_MULTI *, pOutBuf = NET_OUT_POS_REMOVE_MULTI * public static final int CTRLTYPE_CTRL_POS_MODIFY = CTRLTYPE_CTRL_POS_REMOVE_MULTI + 1; // 修改一个Pos设备, pInBuf = NET_IN_POS_ADD *, pOutBuf = NET_OUT_POS_ADD * public static final int CTRLTYPE_CTRL_SET_SOUND_ALARM = CTRLTYPE_CTRL_POS_MODIFY + 1; // 触发有声报警, pInBuf = NET_IN_SOUND_ALARM *, pOutBuf = NET_OUT_SOUND_ALARM * public static final int CTRLTYPE_CTRL_AUDIO_MATRIX_SILENCE = CTRLTYPE_CTRL_SET_SOUND_ALARM + 1; // 音频举证一键静音控制(对应pInBuf = NET_IN_AUDIO_MATRIX_SILENCE, pOutBuf = NET_OUT_AUDIO_MATRIX_SILENCE) public static final int CTRLTYPE_CTRL_MANUAL_UPLOAD_PICTURE = CTRLTYPE_CTRL_AUDIO_MATRIX_SILENCE + 1; // 设置手动上传, pInBuf = NET_IN_MANUAL_UPLOAD_PICTURE *, pOutBUf = NET_OUT_MANUAL_UPLOAD_PICTURE * public static final int CTRLTYPE_CTRL_REBOOT_NET_DECODING_DEV = CTRLTYPE_CTRL_MANUAL_UPLOAD_PICTURE + 1; // 重启网络解码设备, pInBuf = NET_IN_REBOOT_NET_DECODING_DEV *, pOutBuf = NET_OUT_REBOOT_NET_DECODING_DEV * public static final int CTRLTYPE_CTRL_SET_IC_SENDER = CTRLTYPE_CTRL_REBOOT_NET_DECODING_DEV + 1; // ParkingControl 设置发卡设备, pInBuf = NET_IN_SET_IC_SENDER *, pOutBuf = NET_OUT_SET_IC_SENDER * public static final int CTRLTYPE_CTRL_SET_MEDIAKIND = CTRLTYPE_CTRL_SET_IC_SENDER + 1; // 设置预览码流组成,如仅音频,仅视频,音视频 pInBuf = NET_IN_SET_MEDIAKIND *, pOutBuf = NET_OUT_SET_MEDIAKIND *// 配合功能列表能力集使用, EN_ENCODE_CHN,2-预览支持音视频分开获取 public static final int CTRLTYPE_CTRL_LOWRATEWPAN_ADD = CTRLTYPE_CTRL_SET_MEDIAKIND + 1; // 增加无线设备信息(对应结构体 pInBuf = NET_CTRL_LOWRATEWPAN_ADD *, pOutBUf = NULL) public static final int CTRLTYPE_CTRL_LOWRATEWPAN_REMOVEALL = CTRLTYPE_CTRL_LOWRATEWPAN_ADD + 1; // 删除所有的无线设备信息(对应结构体 pInBuf = NET_CTRL_LOWRATEWPAN_REMOVEALL *, pOutBUf = NULL) public static final int CTRLTYPE_CTRL_SET_DOOR_WORK_MODE = CTRLTYPE_CTRL_LOWRATEWPAN_REMOVEALL + 1; // 设置门锁工作模式(对应结构体 pInBuf = NET_IN_CTRL_ACCESS_SET_DOOR_WORK_MODE *, pOutBUf = NULL) public static final int CTRLTYPE_CTRL_TEST_MAIL = CTRLTYPE_CTRL_SET_DOOR_WORK_MODE + 1; // 测试邮件 pInBuf = NET_IN_TEST_MAIL *, pOutBUf = NET_OUT_TEST_MAIL * public static final int CTRLTYPE_CTRL_CONTROL_SMART_SWITCH = CTRLTYPE_CTRL_TEST_MAIL + 1; // 控制智能开关 pInBuf = NET_IN_CONTROL_SMART_SWITCH *, pOutBUf = NET_OUT_CONTROL_SMART_SWITCH * public static final int CTRLTYPE_CTRL_LOWRATEWPAN_SETWORKMODE = CTRLTYPE_CTRL_CONTROL_SMART_SWITCH + 1; // 设置探测器的工作模式(对应结构体pInBuf = NET_IN_CTRL_LOWRATEWPAN_SETWORKMODE *, pOutBUf = NULL) public static final int CTRLTYPE_CTRL_COAXIAL_CONTROL_IO = CTRLTYPE_CTRL_LOWRATEWPAN_SETWORKMODE + 1; // 发送同轴IO控制命令(对应结构体pInBuf = NET_IN_CONTROL_COAXIAL_CONTROL_IO*, pOutBUf = NET_OUT_CONTROL_COAXIAL_CONTROL_IO*) public static final int CTRLTYPE_CTRL_START_REMOTELOWRATEWPAN_ALARMBELL = CTRLTYPE_CTRL_COAXIAL_CONTROL_IO + 1; // 开启无线警号 (对应结构体pInBuf = NET_IN_START_REMOTELOWRATEWPAN_ALARMBELL*, pOutBUf = NET_OUT_START_REMOTELOWRATEWPAN_ALARMBELL*) public static final int CTRLTYPE_CTRL_STOP_REMOTELOWRATEWPAN_ALARMBELL = CTRLTYPE_CTRL_START_REMOTELOWRATEWPAN_ALARMBELL + 1; // 关闭无线警号 (对应结构体pInBuf = NET_IN_STOP_REMOTELOWRATEWPAN_ALARMBELL*, pOutBUf = NET_OUT_STOP_REMOTELOWRATEWPAN_ALARMBELL*) public static final int CTRLTYPE_CTRL_THERMO_DO_FFC = CTRLTYPE_CTRL_STOP_REMOTELOWRATEWPAN_ALARMBELL + 1; // 热成像FFC校准(对应结构体 pInBuf = NET_IN_THERMO_DO_FFC *,pOutBuf = NET_OUT_THERMO_DO_FFC *) public static final int CTRLTYPE_CTRL_THERMO_FIX_FOCUS = CTRLTYPE_CTRL_THERMO_DO_FFC + 1; // 热成像双目定焦调(对应结构体 pInBuf = NET_IN_THERMO_FIX_FOCUS *,pOutBuf = NET_OUT_THERMO_FIX_FOCUS *) public static final int CTRLTYPE_CTRL_SET_THIRD_CALLSTATUS = CTRLTYPE_CTRL_THERMO_FIX_FOCUS + 1; // 设置对讲状态(对应结构体pInBuf = NET_IN_VTP_THIRDCALL_STATUS*, pOutBuf = NET_OUT_VTP_THIRDCALL_STATUS*) public static final int CTRL_ACCESS_CLEAR_STATUS = CTRLTYPE_CTRL_SET_THIRD_CALLSTATUS + 1; // 门禁-清除用户进出门状态 (对应结构体pInBuf = NET_IN_ACCESS_CLEAR_STATUS*, pOutBuf = NET_OUT_ACCESS_CLEAR_STATUS *) public static final int CTRL_ACCESS_DEAL_RECORD = CTRL_ACCESS_CLEAR_STATUS + 1; // 门禁-查询/设置用户进出门记录 (对应结构体pInBuf = NET_IN_ACCESS_DEAL_RECORD*, pOutBuf = NET_OUT_ACCESS_DEAL_RECORD*) public static final int CTRL_QUERY_DELIVERED_FILE = CTRL_ACCESS_DEAL_RECORD + 1; // 向视频输出口查询广告信息,楼宇对讲使用,(对应NET_CTRL_QUERY_DELIVERY_FILE) public static final int CTRL_SET_PARK_CONTROL_INFO = CTRL_QUERY_DELIVERED_FILE + 1; // 设置停车控制信息(点阵屏和语音播报的控制)(对应结构体pInBuf = NET_IN_SET_PARK_CONTROL_INFO*, pOutBuf = NET_OUT_SET_PARK_CONTROL_INFO*) /**********LowRateWPAN控制(0x10100-0x10150)**********************************************************************************/ public static final int CTRL_LOWRATEWPAN_GETWIRELESSDEVSIGNAL = 0x10100; // 获取无线设备信号强度(对应结构体 pInBuf = NET_IN_CTRL_LOWRATEWPAN_GETWIRELESSDEVSIGNAL *,pOutBuf = NET_OUT_CTRL_LOWRATEWPAN_GETWIRELESSDEVSIGNAL *) public static final int CTRL_LOWRATEWPAN_SET_ACCESSORY_PARAM= CTRL_LOWRATEWPAN_GETWIRELESSDEVSIGNAL+1; // 设置配件信息(对应结构体pInBuf = NET_IN_CTRL_LOWRATEWPAN_ACCESSORY_PARAM *,pOutBuf = NULL) } // 视频压缩格式 public static class CFG_VIDEO_COMPRESSION extends SdkStructure { public static final int VIDEO_FORMAT_MPEG4 = 0; //MPEG4 public static final int VIDEO_FORMAT_MS_MPEG4 = VIDEO_FORMAT_MPEG4+1; //MS-MPEG4 public static final int VIDEO_FORMAT_MPEG2 = VIDEO_FORMAT_MS_MPEG4+1; //MPEG2 public static final int VIDEO_FORMAT_MPEG1 = VIDEO_FORMAT_MPEG2+1; //MPEG1 public static final int VIDEO_FORMAT_H263 = VIDEO_FORMAT_MPEG1+1; //H.263 public static final int VIDEO_FORMAT_MJPG = VIDEO_FORMAT_H263+1; //MJPG public static final int VIDEO_FORMAT_FCC_MPEG4 = VIDEO_FORMAT_MJPG+1; //FCC-MPEG4 public static final int VIDEO_FORMAT_H264 = VIDEO_FORMAT_FCC_MPEG4+1; //H.264 public static final int VIDEO_FORMAT_H265 = VIDEO_FORMAT_H264+1; //H.265 } // 码流控制模式 public static class CFG_BITRATE_CONTROL extends SdkStructure { public static final int BITRATE_CBR = 0; //固定码流 public static final int BITRATE_VBR = BITRATE_CBR+1; //可变码流 } // H264 编码级别 public static class CFG_H264_PROFILE_RANK extends SdkStructure { public static final int PROFILE_BASELINE = 1;//提供I/P帧,仅支持progressive(逐行扫描)和CAVLC public static final int PROFILE_MAIN = PROFILE_BASELINE+1; //提供I/P/B帧,支持progressiv和interlaced,提供CAVLC或CABAC public static final int PROFILE_EXTENDED = PROFILE_MAIN+1; //提供I/P/B/SP/SI帧,仅支持progressive(逐行扫描)和CAVLC public static final int PROFILE_HIGH = PROFILE_EXTENDED+1; //即FRExt,Main_Profile基础上新增:8x8intraprediction(8x8帧内预测), custom // quant(自定义量化), lossless video coding(无损视频编码), 更多的yuv格式 } // 画质 public static class CFG_IMAGE_QUALITY extends SdkStructure { public static final int IMAGE_QUALITY_Q10 = 1;//图像质量10% public static final int IMAGE_QUALITY_Q30 = IMAGE_QUALITY_Q10+1; //图像质量30% public static final int IMAGE_QUALITY_Q50 = IMAGE_QUALITY_Q30+1; //图像质量50% public static final int IMAGE_QUALITY_Q60 = IMAGE_QUALITY_Q50+1; //图像质量60% public static final int IMAGE_QUALITY_Q80 = IMAGE_QUALITY_Q60+1; //图像质量80% public static final int IMAGE_QUALITY_Q100 = IMAGE_QUALITY_Q80+1; //图像质量100% } // 视频格式 public static class CFG_VIDEO_FORMAT extends SdkStructure { // 能力 public byte abCompression;// 类型为bool, 取值0或1 public byte abWidth;// 类型为bool, 取值0或1 public byte abHeight;// 类型为bool, 取值0或1 public byte abBitRateControl;// 类型为bool, 取值0或1 public byte abBitRate;// 类型为bool, 取值0或1 public byte abFrameRate;// 类型为bool, 取值0或1 public byte abIFrameInterval;// 类型为bool, 取值0或1 public byte abImageQuality;// 类型为bool, 取值0或1 public byte abFrameType;// 类型为bool, 取值0或1 public byte abProfile;// 类型为bool, 取值0或1 // 信息 public int emCompression;//视频压缩格式, 取值为CFG_VIDEO_COMPRESSION中的值 public int nWidth;//视频宽度 public int nHeight;//视频高度 public int emBitRateControl;//码流控制模式, 取值为CFG_BITRATE_CONTROL中的值 public int nBitRate;//视频码流(kbps) public float nFrameRate;//视频帧率 public int nIFrameInterval;//I帧间隔(1-100),比如50表示每49个B帧或P帧,设置一个I帧。 public int emImageQuality;//图像质量, 取值为CFG_IMAGE_QUALITY中的值 public int nFrameType;//打包模式,0-DHAV,1-"PS" public int emProfile;//H.264编码级别, 取值为CFG_H264_PROFILE_RANK中的值 public int nMaxBitrate;// 最大码流单位是kbps(博世专用) } // 音频编码模式 public static class CFG_AUDIO_FORMAT extends SdkStructure { public static final int AUDIO_FORMAT_G711A = 0; //G711a public static final int AUDIO_FORMAT_PCM = AUDIO_FORMAT_G711A+1; //PCM public static final int AUDIO_FORMAT_G711U = AUDIO_FORMAT_PCM+1; //G711u public static final int AUDIO_FORMAT_AMR = AUDIO_FORMAT_G711U+1; //AMR public static final int AUDIO_FORMAT_AAC = AUDIO_FORMAT_AMR+1; //AAC } // 音频格式 public static class CFG_AUDIO_ENCODE_FORMAT extends SdkStructure { // 能力 public byte abCompression;// 类型为bool, 取值0或1 public byte abDepth;// 类型为bool, 取值0或1 public byte abFrequency;// 类型为bool, 取值0或1 public byte abMode;// 类型为bool, 取值0或1 public byte abFrameType;// 类型为bool, 取值0或1 public byte abPacketPeriod;// 类型为bool, 取值0或1 public byte abChannels;// 类型为bool, 取值0或1 public byte abMix;// 类型为bool, 取值0或1 // 信息 public int emCompression;//音频压缩模式,取值为CFG_AUDIO_FORMAT中的值 public int nDepth;//音频采样深度 public int nFrequency;//音频采样频率 public int nMode;//音频编码模式 public int nFrameType;//音频打包模式,0-DHAV,1-PS public int nPacketPeriod;//音频打包周期,ms public int nChannelsNum; // 视频通道的伴音通道号列表个数 public int arrChannels[] = new int[8]; // 视频通道的伴音通道号列表 public int bMix; // 是否同源 } // 视频编码参数 public static class CFG_VIDEOENC_OPT extends SdkStructure { // 能力 public byte abVideoEnable;// 类型为bool, 取值0或1 public byte abAudioEnable;// 类型为bool, 取值0或1 public byte abSnapEnable;// 类型为bool, 取值0或1 public byte abAudioAdd;//音频叠加能力, 类型为bool, 取值0或1 public byte abAudioFormat;// 类型为bool, 取值0或1 // 信息 public int bVideoEnable;//视频使能, 类型为BOOL, 取值0或者1 public CFG_VIDEO_FORMAT stuVideoFormat;//视频格式 public int bAudioEnable;//音频使能, 类型为BOOL, 取值0或者1 public int bSnapEnable;//定时抓图使能, 类型为BOOL, 取值0或者1 public int bAudioAddEnable;//音频叠加使能, 类型为BOOL, 取值0或者1 public CFG_AUDIO_ENCODE_FORMAT stuAudioFormat;//音频格式 } // 遮挡信息 public static class CFG_COVER_INFO extends SdkStructure { // 能力 public byte abBlockType;// 类型为bool, 取值0或1 public byte abEncodeBlend;// 类型为bool, 取值0或1 public byte abPreviewBlend;// 类型为bool, 取值0或1 // 信息 public CFG_RECT stuRect = new CFG_RECT();//覆盖的区域坐标 public CFG_RGBA stuColor = new CFG_RGBA();//覆盖的颜色 public int nBlockType;//覆盖方式;0-黑块,1-马赛克 public int nEncodeBlend;//编码级遮挡;1-生效,0-不生效 public int nPreviewBlend;//预览遮挡;1-生效,0-不生效 } // 多区域遮挡配置 public static class CFG_VIDEO_COVER extends SdkStructure { public int nTotalBlocks;//支持的遮挡块数 public int nCurBlocks;//已设置的块数 public CFG_COVER_INFO[] stuCoverBlock = (CFG_COVER_INFO[])new CFG_COVER_INFO().toArray(MAX_VIDEO_COVER_NUM);// 覆盖的区域 } // OSD信息 public static class CFG_OSD_INFO extends SdkStructure { // 能力 public byte abShowEnable;// 类型为bool, 取值0或1 // 信息 public CFG_RGBA stuFrontColor = new CFG_RGBA();//前景颜色 public CFG_RGBA stuBackColor = new CFG_RGBA();//背景颜色 public CFG_RECT stuRect = new CFG_RECT();//矩形区域 public int bShowEnable;//显示使能, 类型为BOOL, 取值0或者1 } // 画面颜色属性 public static class CFG_COLOR_INFO extends SdkStructure { public int nBrightness;//亮度(0-100) public int nContrast;//对比度(0-100) public int nSaturation;//饱和度(0-100) public int nHue;//色度(0-100) public int nGain;//增益(0-100) public int bGainEn;//增益使能, 类型为BOOL, 取值0或者1 } // 图像通道属性信息 public static class CFG_ENCODE_INFO extends SdkStructure { public int nChannelID;//通道号(0开始),获取时,该字段有效;设置时,该字段无效 public byte[] szChnName = new byte[MAX_CHANNELNAME_LEN];//无效字段 public CFG_VIDEOENC_OPT[] stuMainStream = (CFG_VIDEOENC_OPT[])new CFG_VIDEOENC_OPT().toArray(MAX_VIDEOSTREAM_NUM); // 主码流,0-普通录像,1-动检录像,2-报警录像 public int nValidCountMainStream; // 主码流数组中有效的个数 public CFG_VIDEOENC_OPT[] stuExtraStream = (CFG_VIDEOENC_OPT[])new CFG_VIDEOENC_OPT().toArray(MAX_VIDEOSTREAM_NUM); // 辅码流,0-辅码流1,1-辅码流2,2-辅码流3 public int nValidCountExtraStream; // 辅码流数组中有效的个数 public CFG_VIDEOENC_OPT[] stuSnapFormat = (CFG_VIDEOENC_OPT[])new CFG_VIDEOENC_OPT().toArray(MAX_VIDEOSTREAM_NUM); // 抓图,0-普通抓图,1-动检抓图,2-报警抓图 public int nValidCountSnapFormat; // 抓图数组中有效的个数 public int dwCoverAbilityMask;//无效字段 public int dwCoverEnableMask;//无效字段 public CFG_VIDEO_COVER stuVideoCover;//无效字段 public CFG_OSD_INFO stuChnTitle;//无效字段 public CFG_OSD_INFO stuTimeTitle;//无效字段 public CFG_COLOR_INFO stuVideoColor;//无效字段 public int emAudioFormat;//无效字段, 取值为CFG_AUDIO_FORMAT中的值 public int nProtocolVer;//协议版本号,只读,获取时,该字段有效;设置时,该字段无效 } // 设备软件版本信息,高16位表示主版本号,低16位表示次版本号 public static class NET_VERSION_INFO extends SdkStructure { public int dwSoftwareVersion; public int dwSoftwareBuildDate; public int dwDspSoftwareVersion; public int dwDspSoftwareBuildDate; public int dwPanelVersion; public int dwPanelSoftwareBuildDate; public int dwHardwareVersion; public int dwHardwareDate; public int dwWebVersion; public int dwWebBuildDate; } // 设备软件版本信息,对应CLIENT_QueryDevState接口 public static class NETDEV_VERSION_INFO extends SdkStructure { public byte[] szDevSerialNo = new byte[NET_DEV_SERIALNO_LEN]; // 序列号 public int byDevType; // 设备类型,见枚举 NET_DEVICE_TYPE public byte[] szDevType = new byte[NET_DEV_TYPE_LEN]; // 设备详细型号,字符串格式,可能为空 public int nProtocalVer; // 协议版本号 public byte[] szSoftWareVersion = new byte[NET_MAX_URL_LEN]; public int dwSoftwareBuildDate; public byte[] szPeripheralSoftwareVersion = new byte[NET_MAX_URL_LEN];// 从片版本信息,字符串格式,可能为空 public int dwPeripheralSoftwareBuildDate; public byte[] szGeographySoftwareVersion = new byte[NET_MAX_URL_LEN]; // 地理信息定位芯片版本信息,字符串格式,可能为空 public int dwGeographySoftwareBuildDate; public byte[] szHardwareVersion = new byte[NET_MAX_URL_LEN]; public int dwHardwareDate; public byte[] szWebVersion = new byte[NET_MAX_URL_LEN]; public int dwWebBuildDate; public byte[] reserved = new byte[256]; } // 设备类型 public static class NET_DEVICE_TYPE extends SdkStructure { public static final int NET_PRODUCT_NONE = 0; public static final int NET_DVR_NONREALTIME_MACE = 1; // 非实时MACE public static final int NET_DVR_NONREALTIME = 2; // 非实时 public static final int NET_NVS_MPEG1 = 3; // 网络视频服务器 public static final int NET_DVR_MPEG1_2 = 4; // MPEG1二路录像机 public static final int NET_DVR_MPEG1_8 = 5; // MPEG1八路录像机 public static final int NET_DVR_MPEG4_8 = 6; // MPEG4八路录像机 public static final int NET_DVR_MPEG4_16 = 7; // MPEG4十六路录像机 public static final int NET_DVR_MPEG4_SX2 = 8; // LB系列录像机 public static final int NET_DVR_MEPG4_ST2 = 9; // GB系列录像机 public static final int NET_DVR_MEPG4_SH2 = 10; // HB系列录像机 10 public static final int NET_DVR_MPEG4_GBE = 11; // GBE系列录像机 public static final int NET_DVR_MPEG4_NVSII = 12; // II代网络视频服务器 public static final int NET_DVR_STD_NEW = 13; // 新标准配置协议 public static final int NET_DVR_DDNS = 14; // DDNS服务器 public static final int NET_DVR_ATM = 15; // ATM机 public static final int NET_NB_SERIAL = 16; // 二代非实时NB系列机器 public static final int NET_LN_SERIAL = 17; // LN系列产品 public static final int NET_BAV_SERIAL = 18; // BAV系列产品 public static final int NET_SDIP_SERIAL = 19; // SDIP系列产品 public static final int NET_IPC_SERIAL = 20; // IPC系列产品 20 public static final int NET_NVS_B = 21; // NVS B系列 public static final int NET_NVS_C = 22; // NVS H系列 public static final int NET_NVS_S = 23; // NVS S系列 public static final int NET_NVS_E = 24; // NVS E系列 public static final int NET_DVR_NEW_PROTOCOL = 25; // 从QueryDevState中查询设备类型,以字符串格式 public static final int NET_NVD_SERIAL = 26; // 解码器 public static final int NET_DVR_N5 = 27; // N5 public static final int NET_DVR_MIX_DVR = 28; // 混合DVR public static final int NET_SVR_SERIAL = 29; // SVR系列 public static final int NET_SVR_BS = 30; // SVR-BS 30 public static final int NET_NVR_SERIAL = 31; // NVR系列 public static final int NET_DVR_N51 = 32; // N51 public static final int NET_ITSE_SERIAL = 33; // ITSE 智能分析盒 public static final int NET_ITC_SERIAL = 34; // 智能交通像机设备 public static final int NET_HWS_SERIAL = 35; // 雷达测速仪HWS public static final int NET_PVR_SERIAL = 36; // 便携式音视频录像机 public static final int NET_IVS_SERIAL = 37; // IVS(智能视频服务器系列) public static final int NET_IVS_B = 38; // 通用智能视频侦测服务器 public static final int NET_IVS_F = 39; // 目标识别服务器 public static final int NET_IVS_V = 40; // 视频质量诊断服务器 40 public static final int NET_MATRIX_SERIAL = 41; // 矩阵 public static final int NET_DVR_N52 = 42; // N52 public static final int NET_DVR_N56 = 43; // N56 public static final int NET_ESS_SERIAL = 44; // ESS public static final int NET_IVS_PC = 45; // 人数统计服务器 public static final int NET_PC_NVR = 46; // pc-nvr public static final int NET_DSCON = 47; // 大屏控制器 public static final int NET_EVS = 48; // 网络视频存储服务器 public static final int NET_EIVS = 49; // 嵌入式智能分析视频系统 public static final int NET_DVR_N6 = 50; // DVR-N6 50 public static final int NET_UDS = 51; // 万能解码器 public static final int NET_AF6016 = 52; // 银行报警主机 public static final int NET_AS5008 = 53; // 视频网络报警主机 public static final int NET_AH2008 = 54; // 网络报警主机 public static final int NET_A_SERIAL = 55; // 报警主机系列 public static final int NET_BSC_SERIAL = 56; // 门禁系列产品 public static final int NET_NVS_SERIAL = 57; // NVS系列产品 public static final int NET_VTO_SERIAL = 58; // VTO系列产品 public static final int NET_VTNC_SERIAL = 59; // VTNC系列产品 public static final int NET_TPC_SERIAL = 60; // TPC系列产品, 即热成像设备 60 public static final int NET_ASM_SERIAL = 61; // 无线中继设备 public static final int NET_VTS_SERIAL = 62; // 管理机 } // DSP能力描述,对应CLIENT_GetDevConfig接口 public static class NET_DSP_ENCODECAP extends SdkStructure { public int dwVideoStandardMask;//视频制式掩码,按位表示设备能够支持的视频制式 public int dwImageSizeMask;//分辨率掩码,按位表示设备能够支持的分辨率设置 public int dwEncodeModeMask;//编码模式掩码,按位表示设备能够支持的编码模式设置 public int dwStreamCap; // 按位表示设备支持的多媒体功能, // 第一位表示支持主码流 // 第二位表示支持辅码流1 // 第三位表示支持辅码流2 // 第五位表示支持jpg抓图 public int[] dwImageSizeMask_Assi = new int[8];//表示主码流为各分辨率时,支持的辅码流分辨率掩码。 public int dwMaxEncodePower;//DSP支持的最高编码能力 public short wMaxSupportChannel;//每块DSP支持最多输入视频通道数 public short wChannelMaxSetSync;//DSP每通道的最大编码设置是否同步;0:不同步,1:同步 } // 系统信息 public static class NET_DEV_SYSTEM_ATTR_CFG extends SdkStructure { public int dwSize; /* 下面是设备的只读部分 */ public NET_VERSION_INFO stVersion; public NET_DSP_ENCODECAP stDspEncodeCap;//DSP能力描述 public byte[] szDevSerialNo = new byte[NET_DEV_SERIALNO_LEN];//序列号 public byte byDevType;//设备类型,见枚举NET_DEVICE_TYPE public byte[] szDevType = new byte[NET_DEV_TYPE_LEN];//设备详细型号,字符串格式,可能为空 public byte byVideoCaptureNum;//视频口数量 public byte byAudioCaptureNum;//音频口数量 public byte byTalkInChanNum;//对讲输入接口数量 public byte byTalkOutChanNum;//对讲输出接口数量 public byte byDecodeChanNum;//NSP public byte byAlarmInNum;//报警输入口数 public byte byAlarmOutNum;//报警输出口数 public byte byNetIONum;//网络口数 public byte byUsbIONum;//USB口数量 public byte byIdeIONum;//IDE数量 public byte byComIONum;//串口数量 public byte byLPTIONum;//并口数量 public byte byVgaIONum;//NSP public byte byIdeControlNum;//NSP public byte byIdeControlType;//NSP public byte byCapability;//NSP,扩展描述 public byte byMatrixOutNum;//视频矩阵输出口数 /* 下面是设备的可写部分 */ public byte byOverWrite;//硬盘满处理方式(覆盖、停止) public byte byRecordLen;//录象打包长度 public byte byDSTEnable;//是否实行夏令时1-实行0-不实行 public short wDevNo;//设备编号,用于遥控 public byte byVideoStandard;//视频制式:0-PAL,1-NTSC public byte byDateFormat;//日期格式 public byte byDateSprtr;//日期分割符(0:".",1:"-",2:"/") public byte byTimeFmt;//时间格式(0-24小时,1-12小时) public byte byLanguage;//枚举值详见NET_LANGUAGE_TYPE public NET_DEV_SYSTEM_ATTR_CFG() { this.dwSize = this.size(); } } // 入侵方向 public static class EM_MSG_OBJ_PERSON_DIRECTION extends SdkStructure { public static final int EM_MSG_OBJ_PERSON_DIRECTION_UNKOWN = 0; //未知方向 public static final int EM_MSG_OBJ_PERSON_DIRECTION_LEFT_TO_RIGHT = EM_MSG_OBJ_PERSON_DIRECTION_UNKOWN+1; //从左向右 public static final int EM_MSG_OBJ_PERSON_DIRECTION_RIGHT_TO_LEFT = EM_MSG_OBJ_PERSON_DIRECTION_LEFT_TO_RIGHT+1; //从右向左 } // 视频分析物体信息扩展结构体 public static class NET_MSG_OBJECT_EX extends SdkStructure { public int dwSize; public int nObjectID;//物体ID,每个ID表示一个唯一的物体 public byte[] szObjectType = new byte[128];//物体类型 public int nConfidence;//置信度(0~255),值越大表示置信度越高 public int nAction;//物体动作:1:Appear2:Move3:Stay 4:Remove 5:Disappear 6:Split 7:Merge 8:Rename public DH_RECT BoundingBox;//包围盒 public NET_POINT Center;//物体型心 public int nPolygonNum;//多边形顶点个数 public NET_POINT[] Contour = (NET_POINT[])new NET_POINT().toArray(NET_MAX_POLYGON_NUM);// 较精确的轮廓多边形 public int rgbaMainColor;//表示车牌、车身等物体主要颜色;按字节表示,分别为红、绿、蓝和透明度,例如:RGB值为(0,255,0),透明度为0时,其值为0x00ff0000. public byte[] szText = new byte[128];//同NET_MSG_OBJECT相应字段 public byte[] szObjectSubType = new byte[64];//物体子类别,根据不同的物体类型,可以取以下子类型: // 同NET_MSG_OBJECT相应字段 public byte[] byReserved1 = new byte[3]; public byte bPicEnble;//是否有物体对应图片文件信息, 类型为bool, 取值0或1 public NET_PIC_INFO stPicInfo;//物体对应图片信息 public byte bShotFrame;//是否是抓拍张的识别结果, 类型为bool, 取值0或1 public byte bColor;//物体颜色(rgbaMainColor)是否可用, 类型为bool, 取值0或1 public byte bLowerBodyColor;//下半身颜色(rgbaLowerBodyColor)是否可用 public byte byTimeType;//时间表示类型,详见EM_TIME_TYPE说明 public NET_TIME_EX stuCurrentTime;//针对视频浓缩,当前时间戳(物体抓拍或识别时,会将此识别智能帧附在一个视频帧或jpeg图片中,此帧所在原始视频中的出现时间) public NET_TIME_EX stuStartTime;//开始时间戳(物体开始出现时) public NET_TIME_EX stuEndTime;//结束时间戳(物体最后出现时) public DH_RECT stuOriginalBoundingBox;//包围盒(绝对坐标) public DH_RECT stuSignBoundingBox;//车标坐标包围盒 public int dwCurrentSequence;//当前帧序号(抓下这个物体时的帧) public int dwBeginSequence;//开始帧序号(物体开始出现时的帧序号) public int dwEndSequence;//结束帧序号(物体消逝时的帧序号) public long nBeginFileOffset;//开始时文件偏移,单位:字节(物体开始出现时,视频帧在原始视频文件中相对于文件起始处的偏移) public long nEndFileOffset;//结束时文件偏移,单位:字节(物体消逝时,视频帧在原始视频文件中相对于文件起始处的偏移) public byte[] byColorSimilar = new byte[EM_COLOR_TYPE.NET_COLOR_TYPE_MAX];//物体颜色相似度,取值范围:0-100,数组下标值代表某种颜色,详见EM_COLOR_TYPE public byte[] byUpperBodyColorSimilar = new byte[EM_COLOR_TYPE.NET_COLOR_TYPE_MAX];//上半身物体颜色相似度(物体类型为人时有效) public byte[] byLowerBodyColorSimilar = new byte[EM_COLOR_TYPE.NET_COLOR_TYPE_MAX];//下半身物体颜色相似度(物体类型为人时有效) public int nRelativeID;//相关物体ID public byte[] szSubText = new byte[20];//"ObjectType"为"Vehicle"或者"Logo"时,表示车标下的某一车系,比如奥迪A6L,由于车系较多,SDK实现时透传此字段,设备如实填写。 public int nPersonStature;//入侵人员身高,单位cm public int emPersonDirection;//人员入侵方向, 取值为EM_MSG_OBJ_PERSON_DIRECTION中的值 public int rgbaLowerBodyColor;//使用方法同rgbaMainColor,物体类型为人时有效 public NET_MSG_OBJECT_EX() { this.dwSize = this.size(); } protected int getNativeAlignment(Class type, Object value, boolean isFirstElement) { int alignment = super.getNativeAlignment(type, value, isFirstElement); return Math.min(4, alignment); } } // 视频分析物体信息扩展结构体,扩展版本2 public static class NET_MSG_OBJECT_EX2 extends SdkStructure { public int dwSize; public int nObjectID;//物体ID,每个ID表示一个唯一的物体 public byte[] szObjectType = new byte[128];//物体类型 public int nConfidence;//置信度(0~255),值越大表示置信度越高 public int nAction;//物体动作:1:Appear2:Move3:Stay 4:Remove 5:Disappear 6:Split 7:Merge 8:Rename public DH_RECT BoundingBox;//包围盒 public NET_POINT Center;//物体型心 public int nPolygonNum;//多边形顶点个数 public NET_POINT[] Contour = (NET_POINT[])new NET_POINT().toArray(NET_MAX_POLYGON_NUM);//较精确的轮廓多边形 public int rgbaMainColor;//表示车牌、车身等物体主要颜色;按字节表示,分别为红、绿、蓝和透明度,例如:RGB值为(0,255,0),透明度为0时,其值为0x00ff0000. public byte[] szText = new byte[128];//同NET_MSG_OBJECT相应字段 public byte[] szObjectSubType = new byte[64];//物体子类别,根据不同的物体类型,可以取以下子类型: // 同NET_MSG_OBJECT相应字段 public byte[] byReserved1 = new byte[3]; public byte bPicEnble;//是否有物体对应图片文件信息, 类型为bool, 取值0或者1 public NET_PIC_INFO stPicInfo;//物体对应图片信息 public byte bShotFrame;//是否是抓拍张的识别结果, 类型为bool, 取值0或者1 public byte bColor;//物体颜色(rgbaMainColor)是否可用, 类型为bool, 取值0或者1 public byte bLowerBodyColor;//下半身颜色(rgbaLowerBodyColor)是否可用 public byte byTimeType;//时间表示类型,详见EM_TIME_TYPE说明 public NET_TIME_EX stuCurrentTime;//针对视频浓缩,当前时间戳(物体抓拍或识别时,会将此识别智能帧附在一个视频帧或jpeg图片中,此帧所在原始视频中的出现时间) public NET_TIME_EX stuStartTime;//开始时间戳(物体开始出现时) public NET_TIME_EX stuEndTime;//结束时间戳(物体最后出现时) public DH_RECT stuOriginalBoundingBox;//包围盒(绝对坐标) public DH_RECT stuSignBoundingBox;//车标坐标包围盒 public int dwCurrentSequence;//当前帧序号(抓下这个物体时的帧) public int dwBeginSequence;//开始帧序号(物体开始出现时的帧序号) public int dwEndSequence;//结束帧序号(物体消逝时的帧序号) public long nBeginFileOffset;//开始时文件偏移,单位:字节(物体开始出现时,视频帧在原始视频文件中相对于文件起始处的偏移) public long nEndFileOffset;//结束时文件偏移,单位:字节(物体消逝时,视频帧在原始视频文件中相对于文件起始处的偏移) public byte[] byColorSimilar = new byte[EM_COLOR_TYPE.NET_COLOR_TYPE_MAX];//物体颜色相似度,取值范围:0-100,数组下标值代表某种颜色,详见EM_COLOR_TYPE public byte[] byUpperBodyColorSimilar = new byte[EM_COLOR_TYPE.NET_COLOR_TYPE_MAX];//上半身物体颜色相似度(物体类型为人时有效) public byte[] byLowerBodyColorSimilar = new byte[EM_COLOR_TYPE.NET_COLOR_TYPE_MAX];//下半身物体颜色相似度(物体类型为人时有效) public int nRelativeID;//相关物体ID public byte[] szSubText = new byte[20];//"ObjectType"为"Vehicle"或者"Logo"时,表示车标下的某一车系,比如奥迪A6L,由于车系较多,SDK实现时透传此字段,设备如实填写。 public int nPersonStature;//入侵人员身高,单位cm public int emPersonDirection;//人员入侵方向, 取值为EM_MSG_OBJ_PERSON_DIRECTION中的值 public int rgbaLowerBodyColor;//使用方法同rgbaMainColor,物体类型为人时有效 //视频浓缩额外信息 public int nSynopsisSpeed;//浓缩速度域值,共分1~10共十个档位,5表示浓缩后只保留5以上速度的物体。是个相对单位 // 为0时,该字段无效 public int nSynopsisSize;//浓缩尺寸域值,共分1~10共十个档位,3表示浓缩后只保留3以上大小的物体。是个相对单位 // 为0时,该字段无效 public int bEnableDirection;//为True时,对物体运动方向做过滤, 类型为BOOL, 取值0或者1 // 为False时,不对物体运动方向做过滤, public NET_POINT stuSynopsisStartLocation;//浓缩运动方向,起始坐标点,点的坐标归一化到[0,8192)区间,bEnableDirection为True时有效 public NET_POINT stuSynopsisEndLocation;//浓缩运动方向,终止坐标点,点的坐标归一化到[0,8192)区间,bEnableDirection为True时有效 public byte[] byReserved = new byte[2048];//扩展字节 public NET_MSG_OBJECT_EX2() { this.dwSize = this.size(); } protected int getNativeAlignment(Class type, Object value, boolean isFirstElement) { int alignment = super.getNativeAlignment(type, value, isFirstElement); return Math.min(4, alignment); } } // 设备协议类型 public static class NET_DEVICE_PROTOCOL extends SdkStructure { public static final int NET_PROTOCOL_PRIVATE2 = 0; //私有2代协议 public static final int NET_PROTOCOL_PRIVATE3 = NET_PROTOCOL_PRIVATE2+1; //私有3代协议 public static final int NET_PROTOCOL_ONVIF = NET_PROTOCOL_PRIVATE3+1; //Onvif public static final int NET_PROTOCOL_VNC = NET_PROTOCOL_ONVIF+1; //虚拟网络计算机 public static final int NET_PROTOCOL_TS = NET_PROTOCOL_VNC+1; //标准TS public static final int NET_PROTOCOL_PRIVATE = 100;//私有协议 public static final int NET_PROTOCOL_AEBELL = NET_PROTOCOL_PRIVATE+1; //美电贝尔 public static final int NET_PROTOCOL_PANASONIC = NET_PROTOCOL_AEBELL+1; //松下 public static final int NET_PROTOCOL_SONY = NET_PROTOCOL_PANASONIC+1; //索尼 public static final int NET_PROTOCOL_DYNACOLOR = NET_PROTOCOL_SONY+1; //Dynacolor public static final int NET_PROTOCOL_TCWS = NET_PROTOCOL_DYNACOLOR+1; //天城威视 public static final int NET_PROTOCOL_SAMSUNG = NET_PROTOCOL_TCWS+1; //三星 public static final int NET_PROTOCOL_YOKO = NET_PROTOCOL_SAMSUNG+1; //YOKO public static final int NET_PROTOCOL_AXIS = NET_PROTOCOL_YOKO+1; //安讯视 public static final int NET_PROTOCOL_SANYO = NET_PROTOCOL_AXIS+1; //三洋 public static final int NET_PROTOCOL_BOSH = NET_PROTOCOL_SANYO+1; //Bosch public static final int NET_PROTOCOL_PECLO = NET_PROTOCOL_BOSH+1; //Peclo public static final int NET_PROTOCOL_PROVIDEO = NET_PROTOCOL_PECLO+1; //Provideo public static final int NET_PROTOCOL_ACTI = NET_PROTOCOL_PROVIDEO+1; //ACTi public static final int NET_PROTOCOL_VIVOTEK = NET_PROTOCOL_ACTI+1; //Vivotek public static final int NET_PROTOCOL_ARECONT = NET_PROTOCOL_VIVOTEK+1; //Arecont public static final int NET_PROTOCOL_PRIVATEEH = NET_PROTOCOL_ARECONT+1; //PrivateEH public static final int NET_PROTOCOL_IMATEK = NET_PROTOCOL_PRIVATEEH+1; //IMatek public static final int NET_PROTOCOL_SHANY = NET_PROTOCOL_IMATEK+1; //Shany public static final int NET_PROTOCOL_VIDEOTREC = NET_PROTOCOL_SHANY+1; //动力盈科 public static final int NET_PROTOCOL_URA = NET_PROTOCOL_VIDEOTREC+1; //Ura public static final int NET_PROTOCOL_BITICINO = NET_PROTOCOL_URA+1; //Bticino public static final int NET_PROTOCOL_ONVIF2 = NET_PROTOCOL_BITICINO+1; //Onvif协议类型,同NET_PROTOCOL_ONVIF public static final int NET_PROTOCOL_SHEPHERD = NET_PROTOCOL_ONVIF2+1; //视霸 public static final int NET_PROTOCOL_YAAN = NET_PROTOCOL_SHEPHERD+1; //亚安 public static final int NET_PROTOCOL_AIRPOINT = NET_PROTOCOL_YAAN+1; //Airpop public static final int NET_PROTOCOL_TYCO = NET_PROTOCOL_AIRPOINT+1; //TYCO public static final int NET_PROTOCOL_XUNMEI = NET_PROTOCOL_TYCO+1; //讯美 public static final int NET_PROTOCOL_HIKVISION = NET_PROTOCOL_XUNMEI+1; // public static final int NET_PROTOCOL_LG = NET_PROTOCOL_HIKVISION+1; //LG public static final int NET_PROTOCOL_AOQIMAN = NET_PROTOCOL_LG+1; //奥奇曼 public static final int NET_PROTOCOL_BAOKANG = NET_PROTOCOL_AOQIMAN+1; //宝康 public static final int NET_PROTOCOL_WATCHNET = NET_PROTOCOL_BAOKANG+1; //Watchnet public static final int NET_PROTOCOL_XVISION = NET_PROTOCOL_WATCHNET+1; //Xvision public static final int NET_PROTOCOL_FUSITSU = NET_PROTOCOL_XVISION+1; //富士通 public static final int NET_PROTOCOL_CANON = NET_PROTOCOL_FUSITSU+1; //Canon public static final int NET_PROTOCOL_GE = NET_PROTOCOL_CANON+1; //GE public static final int NET_PROTOCOL_Basler = NET_PROTOCOL_GE+1; //巴斯勒 public static final int NET_PROTOCOL_Patro = NET_PROTOCOL_Basler+1; //帕特罗 public static final int NET_PROTOCOL_CPKNC = NET_PROTOCOL_Patro+1; //CPPLUSK系列 public static final int NET_PROTOCOL_CPRNC = NET_PROTOCOL_CPKNC+1; //CPPLUSR系列 public static final int NET_PROTOCOL_CPUNC = NET_PROTOCOL_CPRNC+1; //CPPLUSU系列 public static final int NET_PROTOCOL_CPPLUS = NET_PROTOCOL_CPUNC+1; //CPPLUSIPC public static final int NET_PROTOCOL_XunmeiS = NET_PROTOCOL_CPPLUS+1; //讯美s,实际协议为Onvif public static final int NET_PROTOCOL_GDDW = NET_PROTOCOL_XunmeiS+1; //广东电网 public static final int NET_PROTOCOL_PSIA = NET_PROTOCOL_GDDW+1; //PSIA public static final int NET_PROTOCOL_GB2818 = NET_PROTOCOL_PSIA+1; //GB2818 public static final int NET_PROTOCOL_GDYX = NET_PROTOCOL_GB2818+1; //GDYX public static final int NET_PROTOCOL_OTHER = NET_PROTOCOL_GDYX+1; //由用户自定义 } // 雨刷来回循环刷,雨刷模式配置为手动模式时有效(对应命令 CTRLTYPE_CTRL_RAINBRUSH_MOVECONTINUOUSLY) public static class NET_CTRL_RAINBRUSH_MOVECONTINUOUSLY extends SdkStructure { public int dwSize; public int nChannel;//表示雨刷的索引 public int nInterval;//雨刷间隔 public NET_CTRL_RAINBRUSH_MOVECONTINUOUSLY() { this.dwSize = this.size(); } } // 雨刷停止刷,雨刷模式配置为手动模式时有效(对应命令 CTRLTYPE_CTRL_RAINBRUSH_STOPMOVE) public static class NET_CTRL_RAINBRUSH_STOPMOVE extends SdkStructure { public int dwSize; public int nChannel;//表示雨刷的索引 public NET_CTRL_RAINBRUSH_STOPMOVE() { this.dwSize = this.size(); } } // 雨刷来回刷一次,雨刷模式配置为手动模式时有效(对应命令 CTRLTYPE_CTRL_RAINBRUSH_MOVEONCE) public static class NET_CTRL_RAINBRUSH_MOVEONCE extends SdkStructure { public int dwSize; public int nChannel;//表示雨刷的索引 public NET_CTRL_RAINBRUSH_MOVEONCE() { this.dwSize = this.size(); } } // DSP能力描述,扩展类型,对应CLIENT_QueryDevState接口 public static class NET_DEV_DSP_ENCODECAP extends SdkStructure { public int dwVideoStandardMask; //视频制式掩码,按位表示设备能够支持的视频制式 public int dwImageSizeMask; //分辨率掩码,按位表示设备能够支持的分辨率 public int dwEncodeModeMask; //编码模式掩码,按位表示设备能够支持的编码模式 public int dwStreamCap; //按位表示设备支持的多媒体功能, // 第一位表示支持主码流 // 第二位表示支持辅码流1 // 第三位表示支持辅码流2 // 第五位表示支持jpg抓图 public int[] dwImageSizeMask_Assi = new int[32];//表示主码流为各分辨率时,支持的辅码流分辨率掩码。 public int dwMaxEncodePower; //DSP支持的最高编码能力 public short wMaxSupportChannel;//每块DSP支持最多输入视频通道数 public short wChannelMaxSetSync;//DSP每通道的最大编码设置是否同步;0:不同步,1:同步 public byte[] bMaxFrameOfImageSize = new byte[32];//不同分辨率下的最大采集帧率,与dwVideoStandardMask按位对应 public byte bEncodeCap; //标志,配置时要求符合下面条件,否则配置不能生效; // 0:主码流的编码能力+辅码流的编码能力 <= 设备的编码能力, // 1:主码流的编码能力+辅码流的编码能力 <= 设备的编码能力, // 辅码流的编码能力 <= 主码流的编码能力, // 辅码流的分辨率 <= 主码流的分辨率, // 主码流和辅码流的帧率 <= 前端视频采集帧率 // 2:N5的计算方法 // 辅码流的分辨率 <= 主码流的分辨率 // 查询支持的分辨率和相应最大帧率 public byte[] reserved = new byte[95]; } //云台控制坐标单元 public static class PTZ_SPACE_UNIT extends SdkStructure { public int nPositionX; // 云台水平运动位置,有效范围:0,3600] public int nPositionY; // 云台垂直运动位置,有效范围:-1800,1800] public int nZoom; // 云台光圈变动位置,有效范围:0,128] public byte[] szReserve = new byte[32];//预留32字节 } //云台控制速度单元 public static class PTZ_SPEED_UNIT extends SdkStructure { public float fPositionX;//云台水平方向速率,归一化到-1~1 public float fPositionY;//云台垂直方向速率,归一化到-1~1 public float fZoom;//云台光圈放大倍率,归一化到0~1 public byte[] szReserve = new byte[32];//预留32字节 } //持续控制云台对应结构 public static class PTZ_CONTROL_CONTINUOUSLY extends SdkStructure { public PTZ_SPEED_UNIT stuSpeed; //云台运行速度 public int nTimeOut; //连续移动超时时间,单位为秒 public byte[] szReserve = new byte[64]; //预留64字节 } //绝对控制云台对应结构 public static class PTZ_CONTROL_ABSOLUTELY extends SdkStructure { public PTZ_SPACE_UNIT stuPosition; //云台绝对移动位置 public PTZ_SPEED_UNIT stuSpeed; //云台运行速度 public byte[] szReserve = new byte[64]; //预留64字节 } //带速度转动到预置位点云台控制对应结构 public static class PTZ_CONTROL_GOTOPRESET extends SdkStructure { public int nPresetIndex; //预置位索引 public PTZ_SPEED_UNIT stuSpeed; //云台运行速度 public byte[] szReserve = new byte[64]; //预留64字节 } //设置云台可视域信息 public static class PTZ_VIEW_RANGE_INFO extends SdkStructure { public int nStructSize; public int nAzimuthH; //水平方位角度,0~3600,单位:度 public PTZ_VIEW_RANGE_INFO() { this.nStructSize = this.size(); } } //云台绝对聚焦对应结构 public static class PTZ_FOCUS_ABSOLUTELY extends SdkStructure { public int dwValue; //云台聚焦位置,取值范围(0~8191) public int dwSpeed; //云台聚焦速度,取值范围(0~7) public byte[] szReserve = new byte[64]; //预留64字节 } // 云台控制-扇扫对应结构 public static class PTZ_CONTROL_SECTORSCAN extends SdkStructure { public int nBeginAngle; //起始角度,范围:-180,180] public int nEndAngle; //结束角度,范围:-180,180] public int nSpeed; //速度,范围:0,255] public byte[] szReserve = new byte[64]; //预留64字节 } // 控制鱼眼电子云台信息 public static class PTZ_CONTROL_SET_FISHEYE_EPTZ extends SdkStructure { public int dwSize; //结构体大小 public int dwWindowID; //进行EPtz控制的窗口编号 public int dwCommand; //电子云台命令 public int dwParam1; //命令对应参数1 public int dwParam2; //命令对应参数2 public int dwParam3; //命令对应参数3 public int dwParam4; //命令对应参数4 } // 光照场景类型 public static class EM_LIGHT_SCENE extends SdkStructure { public static final int EM_LIGHT_SCENE_UNKNOWN=0; // 未知 public static final int EM_LIGHT_SCENE_DAY=1; // 白天 public static final int EM_LIGHT_SCENE_NIGHT=2; // 夜晚 public static final int EM_LIGHT_SCENE_NORMAL=3; // 普通 public static final int EM_LIGHT_SCENE_FRONT_LIGHT=4; // 顺光 public static final int EM_LIGHT_SCENE_BACK_LIGHT=5; // 一般逆光 public static final int EM_LIGHT_SCENE_STRONG_LIGHT=6; // 强逆光 public static final int EM_LIGHT_SCENE_LOW_LIGHT=7; // 低照度 public static final int EM_LIGHT_SCENE_CUSTOM=8; // 自定义 }; // 变倍设置基本信息单元 public static class CFG_VIDEO_IN_ZOOM_UNIT extends SdkStructure { public int nSpeed;//变倍速率(0~7) public int bDigitalZoom;//是否数字变倍, 类型为BOOL, 取值0或者1 public int nZoomLimit;//当前速率下最大变倍上限(0~13)。 public int emLightScene; //光照场景名称 EM_LIGHT_SCENE } // 单通道变倍设置基本信息 public static class CFG_VIDEO_IN_ZOOM extends SdkStructure { public int nChannelIndex;//通道号 public int nVideoInZoomRealNum;//配置使用个数 public CFG_VIDEO_IN_ZOOM_UNIT[] stVideoInZoomUnit = new CFG_VIDEO_IN_ZOOM_UNIT[MAX_VIDEO_IN_ZOOM];//通道变速配置单元信息 public CFG_VIDEO_IN_ZOOM(){ for(int i=0;i*/ public byte byEmailMaxLength;/*<附件录像时的最大长度,单位MB>*/ public byte byEmailMaxTime;/*<附件是录像时最大时间长度,单位秒>*/ public byte[] byReserved = new byte[475]; } public static class EM_NET_DEFENCE_AREA_TYPE extends SdkStructure { public static final int EM_NET_DEFENCE_AREA_TYPE_UNKNOW = 0; //未知 public static final int EM_NET_DEFENCE_AREA_TYPE_INTIME = 1; //即时防区 public static final int EM_NET_DEFENCE_AREA_TYPE_DELAY = 2; //延时防区 public static final int EM_NET_DEFENCE_AREA_TYPE_FULLDAY = 3; //24小时防区 public static final int EM_NET_DEFENCE_AREA_TYPE_Follow = 4; //跟随防区 public static final int EM_NET_DEFENCE_AREA_TYPE_MEDICAL = 5; //医疗紧急防区 public static final int EM_NET_DEFENCE_AREA_TYPE_PANIC = 6; //恐慌防区 public static final int EM_NET_DEFENCE_AREA_TYPE_FIRE = 7; //火警防区 public static final int EM_NET_DEFENCE_AREA_TYPE_FULLDAYSOUND = 8; //24小时有声防区 public static final int EM_NET_DEFENCE_AREA_TYPE_FULLDATSLIENT = 9; //24小时无声防区 public static final int EM_NET_DEFENCE_AREA_TYPE_ENTRANCE1 = 10; //出入防区1 public static final int EM_NET_DEFENCE_AREA_TYPE_ENTRANCE2 = 11; //出入防区2 public static final int EM_NET_DEFENCE_AREA_TYPE_INSIDE = 12; //内部防区 public static final int EM_NET_DEFENCE_AREA_TYPE_OUTSIDE = 13; //外部防区 public static final int EN_NET_DEFENCE_AREA_TYPE_PEOPLEDETECT = 14; //人员检测防区 } // 本地报警事件(对NET_ALARM_ALARM_EX升级) public static class ALARM_ALARM_INFO_EX2 extends SdkStructure { public int dwSize; public int nChannelID; //通道号 public int nAction; //0:开始, 1:停止 public NET_TIME stuTime; //报警事件发生的时间 public int emSenseType; //传感器类型, 取值范围为 NET_SENSE_METHOD 中的值 public NET_MSG_HANDLE_EX stuEventHandler; //联动信息 public int emDefenceAreaType; //防区类型, 取值类型为EM_NET_DEFENCE_AREA_TYPE中的值 public int nEventID; //事件ID public byte[] szName = new byte[NET_COMMON_STRING_32]; // 通道名称 public int nCount; // 事件发生次数 public NET_GPS_STATUS_INFO stuGPS; // GPS信息 /** * 本地报警时登陆的用户ID */ public byte[] szUserID = new byte[32]; /** * 本地报警时登陆的用户名 */ public byte[] szUserName = new byte[128]; /** * 设备序列号 */ public byte[] szSN = new byte[32]; /** * 外部输入报警 */ public int bExAlarmIn; /** * 报警通道所属区域的个数 */ public int nAreaNums; /** * 报警通道所属的区域 */ public int[] nAreas = new int[64]; /** * 事件公共扩展字段结构体 */ public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); /** * 保留字节 */ public byte[] byReserved = new byte[568]; public ALARM_ALARM_INFO_EX2() { this.dwSize = this.size(); } } // 布撤防状态变化事件的信息 public static class ALARM_ARMMODE_CHANGE_INFO extends SdkStructure { public int dwSize; public NET_TIME stuTime; // 报警事件发生的时间 public int bArm; // 变化后的状态,对应 NET_ALARM_MODE public int emSceneMode; // 情景模式,对应 NET_SCENE_MODE public int dwID; // ID号, 遥控器编号或键盘地址, emTriggerMode为NET_EM_TRIGGER_MODE_NET类型时为0 public int emTriggerMode; // 触发方式,对应 NET_EM_TRIGGER_MODE public byte[] szNetClientAddr = new byte[64]; //网络用户IP地址或网络地址 public int nUserCode; //用户ID,0:管理员,1~20:普通用户,21:安装员,22:挟持用户 public ALARM_ARMMODE_CHANGE_INFO() { this.dwSize = this.size(); } } // 布撤防模式 public static class NET_ALARM_MODE extends SdkStructure { public static final int NET_ALARM_MODE_UNKNOWN = -1; // 未知 public static final int NET_ALARM_MODE_DISARMING = 0; // 撤防 public static final int NET_ALARM_MODE_ARMING = 1; // 布防 public static final int NET_ALARM_MODE_FORCEON = 2; // 强制布防 public static final int NET_ALARM_MODE_PARTARMING = 3; // 部分布防 } // 布撤防场景模式 public static class NET_SCENE_MODE extends SdkStructure { public static final int NET_SCENE_MODE_UNKNOWN = 0; // 未知场景 public static final int NET_SCENE_MODE_OUTDOOR = 1; // 外出模式 public static final int NET_SCENE_MODE_INDOOR = 2; // 室内模式 public static final int NET_SCENE_MODE_WHOLE = 3; // 全局模式 public static final int NET_SCENE_MODE_RIGHTNOW = 4; // 立即模式 public static final int NET_SCENE_MODE_SLEEPING = 5; // 就寝模式 public static final int NET_SCENE_MODE_CUSTOM = 6; // 自定义模式 } // 触发方式 public static class NET_EM_TRIGGER_MODE extends SdkStructure { public static final int NET_EM_TRIGGER_MODE_UNKNOWN = 0; public static final int NET_EM_TRIGGER_MODE_NET = 1; // 网络用户(平台或Web) public static final int NET_EM_TRIGGER_MODE_KEYBOARD = 2; // 键盘 public static final int NET_EM_TRIGGER_MODE_REMOTECONTROL = 3; // 遥控器 } // 紧急救助事件详情 public static class ALARM_RCEMERGENCY_CALL_INFO extends SdkStructure { public int dwSize; public int nAction; // -1:未知 0:开始 1:停止 public int emType; // 紧急类型,对应 EM_RCEMERGENCY_CALL_TYPE public NET_TIME stuTime; // 事件发生时间 public int emMode; // 报警方式,对应 EM_RCEMERGENCY_MODE_TYPE public int dwID; // 用于标示不同的紧急事件(只有emMode是遥控器类型时有效, 表示遥控器的编号, 0表示无效ID) public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] szDelayUploadSeq = new byte[128]; // 延时上传序号 public byte[] szResvered = new byte[1020]; // 保留字节 public ALARM_RCEMERGENCY_CALL_INFO() { this.dwSize = this.size(); } } // 紧急救助事件类型 public static class EM_RCEMERGENCY_CALL_TYPE extends SdkStructure { public static final int EM_RCEMERGENCY_CALL_UNKNOWN = 0; public static final int EM_RCEMERGENCY_CALL_FIRE = 1; // 火警 public static final int EM_RCEMERGENCY_CALL_DURESS = 2; // 胁迫 public static final int EM_RCEMERGENCY_CALL_ROBBER = 3; // 匪警 public static final int EM_RCEMERGENCY_CALL_MEDICAL = 4; // 医疗 public static final int EM_RCEMERGENCY_CALL_EMERGENCY = 5; // 紧急 } // 报警方式 public static class EM_RCEMERGENCY_MODE_TYPE extends SdkStructure { public static final int EM_RCEMERGENCY_MODE_UNKNOWN = 0; public static final int EM_RCEMERGENCY_MODE_KEYBOARD = 1; // 键盘 public static final int EM_RCEMERGENCY_MODE_WIRELESS_CONTROL = 2; // 遥控器 } ///////////////////////////////////////////////////// ////////用户信息管理对应接口CLIENT_QueryUserInfoNew///////// // 用户信息表 public static class USER_MANAGE_INFO_NEW extends SdkStructure { public int dwSize; // 结构体大小 public int dwRightNum; // 权限信息有效个数 public OPR_RIGHT_NEW[] rightList = new OPR_RIGHT_NEW[NET_NEW_MAX_RIGHT_NUM]; // 权限信息,有效个数由 dwRightNum 成员决定, 用户权限个数上限NET_NEW_MAX_RIGHT_NUM = 1024 public int dwGroupNum; // 用户组信息有效个数 public USER_GROUP_INFO_NEW[] groupList = new USER_GROUP_INFO_NEW[NET_MAX_GROUP_NUM]; // 用户组信息,此参数废弃,请使用groupListEx public int dwUserNum; // 用户数 public USER_INFO_NEW[] userList = new USER_INFO_NEW[NET_MAX_USER_NUM]; // 用户列表, 用户个数上限NET_MAX_USER_NUM=200 public int dwFouctionMask; // 掩码: 0x00000001 - 支持用户复用, 0x00000002 - 密码修改需要校验 public byte byNameMaxLength; // 支持的用户名最大长度 public byte byPSWMaxLength; // 支持的密码最大长度 public byte[] byReserve = new byte[254]; public USER_GROUP_INFO_EX2[] groupListEx = new USER_GROUP_INFO_EX2[NET_MAX_GROUP_NUM]; // 用户组信息扩展, 用户组个数上限NET_MAX_GROUP_NUM=20 public USER_MANAGE_INFO_NEW() { this.dwSize = this.size(); for(int i = 0; i < NET_NEW_MAX_RIGHT_NUM; i++) { rightList[i] = new OPR_RIGHT_NEW(); } for(int i = 0; i < NET_MAX_USER_NUM; i++) { userList[i] = new USER_INFO_NEW(); } for(int i = 0; i < NET_MAX_GROUP_NUM; i++) { groupList[i] = new USER_GROUP_INFO_NEW(); groupListEx[i] = new USER_GROUP_INFO_EX2(); } } } // 权限信息 public static class OPR_RIGHT_NEW extends SdkStructure { public int dwSize; //结构体大小 public int dwID; //权限ID,每个 权限都有各自的ID public byte[] name = new byte[NET_RIGHT_NAME_LENGTH]; //名称 权限名长度 NET_RIGHT_NAME_LENGTH=32 public byte[] memo = new byte[NET_MEMO_LENGTH]; //说明备注长度NET_MEMO_LENGTH=32 public OPR_RIGHT_NEW() { this.dwSize = this.size(); } } // 用户组信息 public static class USER_GROUP_INFO_NEW extends SdkStructure { public int dwSize; public int dwID; // 用户组ID, 每个用户组都有各自的ID public byte[] name = new byte[NET_USER_NAME_LENGTH_EX]; // 用户组名称/NET_USER_NAME_LENGTH_EX=16 public int dwRightNum; // 用户组权限有效个数 public int[] rights = new int[NET_NEW_MAX_RIGHT_NUM]; // 用户组支持权限数组 public byte[] memo = new byte[NET_MEMO_LENGTH]; // 用户组备注说明 public USER_GROUP_INFO_NEW() { this.dwSize = this.size(); } } // 用户组信息扩展,用户组名加长 public static class USER_GROUP_INFO_EX2 extends SdkStructure { public int dwSize; // 结构体大小 public int dwID; // ID public byte[] name = new byte[NET_NEW_USER_NAME_LENGTH]; // 用户名 长度NET_NEW_USER_NAME_LENGTH=128 public int dwRightNum; // 权限数量 public int[] rights = new int[NET_NEW_MAX_RIGHT_NUM]; // 用户权限 个数上限 NET_NEW_MAX_RIGHT_NUM = 1024 public byte[] memo = new byte[NET_MEMO_LENGTH]; // 说明, 备注长度NET_MEMO_LENGTH=32 public USER_GROUP_INFO_EX2() { this.dwSize = this.size(); } } // 用户信息结构体 public static class USER_INFO_NEW extends SdkStructure { public int dwSize; // 结构体大小 public int dwID; // 用户ID public int dwGroupID; // 用户组组ID public byte[] name = new byte[NET_NEW_USER_NAME_LENGTH]; // 用户名称,长度NET_NEW_USER_NAME_LENGTH=128 public byte[] passWord = new byte[NET_NEW_USER_PSW_LENGTH]; // 用户密码,NET_NEW_USER_PSW_LENGTH=128 public int dwRightNum; // 用户权限有效个数 public int[] rights = new int[NET_NEW_MAX_RIGHT_NUM]; // 用户支持权限数组,个数上限 NET_NEW_MAX_RIGHT_NUM = 1024 public byte[] memo = new byte[NET_MEMO_LENGTH]; // 用户备注说明, 备注长度NET_MEMO_LENGTH=32 public int dwFouctionMask; // 掩码,0x00000001 - 支持用户复用 public NET_TIME stuTime; // 最后修改时间 public byte byIsAnonymous; // 是否可以匿名登录, 0:不可匿名登录, 1: 可以匿名登录 public byte[] byReserve = new byte[7]; // 保留字节 public USER_INFO_NEW() { this.dwSize = this.size(); } } //------------------------允许名单相关结构体------------------------- // CLIENT_FindRecord接口输入参数 public static class NET_IN_FIND_RECORD_PARAM extends SdkStructure { public int dwSize; // 结构体大小 public int emType; // 待查询记录类型,emType对应 EM_NET_RECORD_TYPE public Pointer pQueryCondition; // 查询类型对应的查询条件 public NET_IN_FIND_RECORD_PARAM() { this.dwSize = this.size(); } } // 交通禁止/允许名单账户记录查询条件 public static class FIND_RECORD_TRAFFICREDLIST_CONDITION extends SdkStructure { public int dwSize; public byte[] szPlateNumber = new byte[NET_MAX_PLATE_NUMBER_LEN]; // 车牌号 public byte[] szPlateNumberVague = new byte[NET_MAX_PLATE_NUMBER_LEN]; // 车牌号码模糊查询 public int nQueryResultBegin; // 第一个条返回结果在查询结果中的偏移量 public int bRapidQuery; // 是否快速查询, TRUE:为快速,快速查询时不等待所有增、删、改操作完成。默认为非快速查询 public byte[] szProvince = new byte[64]; // 省份类型 public int emPlateType; // 车牌类型 ,参考枚举EM_NET_PLATE_TYPE public FIND_RECORD_TRAFFICREDLIST_CONDITION() { this.dwSize = this.size(); } } // 交通流量记录查询条件 public static class FIND_RECORD_TRAFFICFLOW_CONDITION extends SdkStructure { public int dwSize; public int abChannelId; // 通道号查询条件是否有效 public int nChannelId; // 通道号 public int abLane; // 车道号查询条件是否有效 public int nLane; // 车道号 public int bStartTime; // 开始时间查询条件是否有效 public NET_TIME stStartTime; // 开始时间 public int bEndTime; // 结束时间查询条件是否有效 public NET_TIME stEndTime; // 结束时间 public int bStatisticsTime; // 查询是否为统计时间,为BOOL类型,bStartTime及bEndTime均为1 public FIND_RECORD_TRAFFICFLOW_CONDITION() { this.dwSize = this.size(); } } // 门禁出入记录查询条件 public static class FIND_RECORD_ACCESSCTLCARDREC_CONDITION_EX extends SdkStructure { public int dwSize; public int bCardNoEnable; // 启用卡号查询, 为BOOL类型 public byte[] szCardNo = new byte[NET_MAX_CARDNO_LEN]; // 卡号 public int bTimeEnable; // 启用时间段查询, 为BOOL类型 public NET_TIME stStartTime; // 起始时间 public NET_TIME stEndTime; // 结束时间 public int nOrderNum; // 规则数 public FIND_RECORD_ACCESSCTLCARDREC_ORDER[] stuOrders = (FIND_RECORD_ACCESSCTLCARDREC_ORDER[])new FIND_RECORD_ACCESSCTLCARDREC_ORDER().toArray(MAX_ORDER_NUMBER); // 规则数组 public int bRealUTCTimeEnable; // 启动RealUTC时间查询, bRealUTCTimeEnable为TRUE时bTimeEnable无效 public int nStartRealUTCTime; // 真实UTC时间戳,起始时间 public int nEndRealUTCTime; // 真实UTC时间戳,结束时间 public byte[] szReserved = new byte[40]; // 字节对齐 public FIND_RECORD_ACCESSCTLCARDREC_CONDITION_EX() { this.dwSize = this.size(); } } // 门禁出入记录排序规则详情 public static class FIND_RECORD_ACCESSCTLCARDREC_ORDER extends SdkStructure { public int emField; // 排序字段, 对应枚举 EM_RECORD_ACCESSCTLCARDREC_ORDER_FIELD public int emOrderType; // 排序类型, 对应枚举 EM_RECORD_ORDER_TYPE public byte[] byReverse = new byte[64]; // 保留字节 } // 门禁出入记录排序字段 public static class EM_RECORD_ACCESSCTLCARDREC_ORDER_FIELD extends SdkStructure { public static final int EM_RECORD_ACCESSCTLCARDREC_ORDER_FIELD_UNKNOWN = 0; // 未知 public static final int EM_RECORD_ACCESSCTLCARDREC_ORDER_FIELD_RECNO = 1; // 记录集编号 public static final int EM_RECORD_ACCESSCTLCARDREC_ORDER_FIELD_CREATETIME = 2; // 创建时间 } // 排序类型 public static class EM_RECORD_ORDER_TYPE extends SdkStructure { public static final int EM_RECORD_ORDER_TYPE_UNKNOWN = 0; // 未知 public static final int EM_RECORD_ORDER_TYPE_ASCENT = 1; // 升序 public static final int EM_RECORD_ORDER_TYPE_DESCENT = 2; // 降序 } // 开门方式(门禁事件,门禁出入记录,实际的开门方式) public static class NET_ACCESS_DOOROPEN_METHOD extends SdkStructure { public static final int NET_ACCESS_DOOROPEN_METHOD_UNKNOWN = 0; public static final int NET_ACCESS_DOOROPEN_METHOD_PWD_ONLY = 1; // 密码开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD = 2; // 刷卡开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD_FIRST = 3; // 先刷卡后密码开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_PWD_FIRST = 4; // 先密码后刷卡开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_REMOTE = 5; // 远程开锁,如通过室内机或者平台对门口机开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_BUTTON = 6; // 开锁按钮进行开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_FINGERPRINT = 7; // 信息开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_PWD_CARD_FINGERPRINT = 8; // 密码+刷卡+信息组合开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_PWD_FINGERPRINT = 10; // 密码+信息组合开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD_FINGERPRINT = 11; // 刷卡+信息组合开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_PERSONS = 12; // 多人开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_KEY = 13; // 钥匙开门 public static final int NET_ACCESS_DOOROPEN_METHOD_COERCE_PWD = 14; // 胁迫密码开门 public static final int NET_ACCESS_DOOROPEN_METHOD_QRCODE = 15; // 二维码开门 public static final int NET_ACCESS_DOOROPEN_METHOD_FACE_RECOGNITION = 16; // 目标识别开门 public static final int NET_ACCESS_DOOROPEN_METHOD_FACEIDCARD = 18; // 人证对比 public static final int NET_ACCESS_DOOROPEN_METHOD_FACEIDCARD_AND_IDCARD = 19; // 证件+ 人证比对 public static final int NET_ACCESS_DOOROPEN_METHOD_BLUETOOTH = 20; // 蓝牙开门 public static final int NET_ACCESS_DOOROPEN_METHOD_CUSTOM_PASSWORD = 21; // 个性化密码开门 public static final int NET_ACCESS_DOOROPEN_METHOD_USERID_AND_PWD = 22; // UserID+密码 public static final int NET_ACCESS_DOOROPEN_METHOD_FACE_AND_PWD = 23; // 人脸+密码开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_FINGERPRINT_AND_PWD = 24; // 信息+密码开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_FINGERPRINT_AND_FACE = 25; // 信息+人脸开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD_AND_FACE = 26; // 刷卡+人脸开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_FACE_OR_PWD = 27; // 人脸或密码开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_FINGERPRINT_OR_PWD = 28; // 信息或密码开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_FINGERPRINT_OR_FACE = 29; // 信息或人脸开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD_OR_FACE = 30; // 刷卡或人脸开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD_OR_FINGERPRINT = 31; // 刷卡或信息开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_FINGERPRINT_AND_FACE_AND_PWD = 32; // 信息+人脸+密码开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD_AND_FACE_AND_PWD = 33; // 刷卡+人脸+密码开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD_AND_FINGERPRINT_AND_PWD = 34; // 刷卡+信息+密码开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD_AND_PWD_AND_FACE = 35; // 卡+信息+人脸组合开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_FINGERPRINT_OR_FACE_OR_PWD = 36; // 信息或人脸或密码 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD_OR_FACE_OR_PWD = 37; // 卡或人脸或密码开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD_OR_FINGERPRINT_OR_FACE = 38; // 卡或信息或人脸开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD_AND_FINGERPRINT_AND_FACE_AND_PWD = 39; // 卡+信息+人脸+密码组合开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_CARD_OR_FINGERPRINT_OR_FACE_OR_PWD = 40; // 卡或信息或人脸或密码开锁 public static final int NET_ACCESS_DOOROPEN_METHOD_FACEIPCARDANDIDCARD_OR_CARD_OR_FACE = 41; // (证件+人证比对)或 刷卡 或 人脸 public static final int NET_ACCESS_DOOROPEN_METHOD_FACEIDCARD_OR_CARD_OR_FACE = 42; // 人证比对 或 刷卡(二维码) 或 人脸 public static final int NET_ACCESS_DOOROPEN_METHOD_DTMF = 43; // DTMF开锁(包括SIPINFO,RFC2833,INBAND) public static final int NET_ACCESS_DOOROPEN_METHOD_REMOTE_QRCODE = 44; // 远程二维码开门 public static final int NET_ACCESS_DOOROPEN_METHOD_REMOTE_FACE = 45; // 远程人脸开门 public static final int NET_ACCESS_DOOROPEN_METHOD_CITIZEN_FINGERPRINT = 46; // 人证比对开门(信息) } // 卡类型 public static class NET_ACCESSCTLCARD_TYPE { public static final int NET_ACCESSCTLCARD_TYPE_UNKNOWN = -1; public static final int NET_ACCESSCTLCARD_TYPE_GENERAL = 0; // 一般卡 public static final int NET_ACCESSCTLCARD_TYPE_VIP = 1; // 卡 public static final int NET_ACCESSCTLCARD_TYPE_GUEST = 2; // 来宾卡 public static final int NET_ACCESSCTLCARD_TYPE_PATROL = 3; // 巡逻卡 public static final int NET_ACCESSCTLCARD_TYPE_BLACKLIST = 4; // 禁止名单卡 public static final int NET_ACCESSCTLCARD_TYPE_CORCE = 5; // 胁迫卡 public static final int NET_ACCESSCTLCARD_TYPE_POLLING = 6; // 巡检卡 public static final int NET_ACCESSCTLCARD_TYPE_MOTHERCARD = 0xff; // 母卡 } // 门禁刷卡记录记录集信息 public static class NET_RECORDSET_ACCESS_CTL_CARDREC extends SdkStructure { public int dwSize; public int nRecNo; // 记录集编号,只读 public byte[] szCardNo = new byte[NET_MAX_CARDNO_LEN];// 卡号 public byte[] szPwd = new byte[NET_MAX_CARDPWD_LEN]; // 密码 public NET_TIME stuTime; // 刷卡时间 public int bStatus; // 刷卡结果,TRUE表示成功,FALSE表示失败 public int emMethod; // 开门方式 NET_ACCESS_DOOROPEN_METHOD public int nDoor; // 门号,即CFG_CMD_ACCESS_EVENT配置CFG_ACCESS_EVENT_INFO的数组下标 public byte[] szUserID = new byte[NET_MAX_USERID_LEN];// 用户ID public int nReaderID; // 读卡器ID (废弃,不再使用) public byte[] szSnapFtpUrl = new byte[MAX_PATH]; // 开锁抓拍上传的FTP地址 public byte[] szReaderID = new byte[NET_COMMON_STRING_32];// 读卡器ID // 开门并上传抓拍照片,在记录集记录存储地址,成功才有 public int emCardType; // 卡类型 NET_ACCESSCTLCARD_TYPE public int nErrorCode; // 开门失败的原因,仅在bStatus为FALSE时有效 // 0x00 没有错误 // 0x10 未授权 // 0x11 卡挂失或注销 // 0x12 没有该门权限 // 0x13 开门模式错误 // 0x14 有效期错误 // 0x15 防反潜模式 // 0x16 胁迫报警未打开 // 0x17 门常闭状态 // 0x18 AB互锁状态 // 0x19 巡逻卡 // 0x1A 设备处于闯入报警状态 // 0x20 时间段错误 // 0x21 假期内开门时间段错误 // 0x30 需要先验证有首卡权限的卡片 // 0x40 卡片正确,输入密码错误 // 0x41 卡片正确,输入密码超时 // 0x42 卡片正确,输入信息错误 // 0x43 卡片正确,输入信息超时 // 0x44 信息正确,输入密码错误 // 0x45 信息正确,输入密码超时 // 0x50 组合开门顺序错误 // 0x51 组合开门需要继续验证 // 0x60 验证通过,控制台未授权 // 0x61 卡片正确,人脸错误 // 0x62 卡片正确,人脸超时 // 0x63 重复进入 // 0x64 未授权,需要后端平台识别 // 0x65 体温过高 // 0x66 未戴口罩 // 0x67 健康码获取失败 // 0x68 黄码禁止通行 // 0x69 红码禁止通行 // 0x6a 健康码无效 // 0x6b 绿码验证通过 // 0x70 获取健康码信息 public byte[] szRecordURL = new byte[NET_COMMON_STRING_128]; // 刷卡录像的地址 public int nNumbers; // 抓图的张数 public int emAttendanceState; // 考勤状态 ,参考 NET_ATTENDANCESTATE public int emDirection; // 开门方向, 参考 NET_ENUM_DIRECTION_ACCESS_CTL public byte[] szClassNumber = new byte[MAX_CLASS_NUMBER_LEN]; // 班级(考勤) public byte[] szPhoneNumber = new byte[MAX_PHONENUMBER_LEN]; // 电话(考勤) public byte[] szCardName = new byte[NET_MAX_CARDNAME_LEN]; // 卡命名 public byte[] szSN = new byte[NET_COMMON_STRING_32]; // 智能锁序列号,无线配件需要该字段 public int bCitizenIDResult; // 人证比对结果 public byte[] szCitizenIDName = new byte[30]; // 名字 public byte[] byReserved1 = new byte[2]; // 字节对齐 public int emCitizenIDSex; // 性别, 详见EM_CITIZENIDCARD_SEX_TYPE public int emCitizenIDEC; // 民族, 详见EM_CITIZENIDCARD_EC_TYPE public NET_TIME stuCitizenIDBirth; // 出生日期(时分秒无效) public byte[] szCitizenIDAddress = new byte[108]; // 住址 public byte[] szCitizenIDAuthority = new byte[48]; // 签发机关 public NET_TIME stuCitizenIDStart; // 有效起始日期(时分秒无效) public NET_TIME stuCitizenIDEnd; // 有效截止日期(时分秒无效, 年为负数时表示长期有效) public int bIsEndless; // 是否长期有效 public byte[] szSnapFaceURL = new byte[NET_COMMON_STRING_128];// 人脸图片保存地址 public byte[] szCitizenPictureURL = new byte[NET_COMMON_STRING_128]; // 证件图片保存地址 public byte[] szCitizenIDNo = new byte[20]; // 证件号码 public int emSex; // 性别, 详见NET_ACCESSCTLCARD_SEX public byte[] szRole = new byte[MAX_COMMON_STRING_32]; // 角色 public byte[] szProjectNo = new byte[MAX_COMMON_STRING_32]; // 项目ID public byte[] szProjectName = new byte[MAX_COMMON_STRING_64]; // 项目名称 public byte[] szBuilderName = new byte[MAX_COMMON_STRING_64]; // 施工单位全称 public byte[] szBuilderID = new byte[MAX_COMMON_STRING_32]; // 施工单位ID public byte[] szBuilderType = new byte[MAX_COMMON_STRING_32]; // 施工单位类型 public byte[] szBuilderTypeID = new byte[MAX_COMMON_STRING_8];// 施工单位类别ID public byte[] szPictureID = new byte[MAX_COMMON_STRING_64]; // 人员照片ID public byte[] szContractID = new byte[MAX_COMMON_STRING_16]; // 原合同系统合同编号 public byte[] szWorkerTypeID = new byte[MAX_COMMON_STRING_8]; // 工种ID public byte[] szWorkerTypeName = new byte[MAX_COMMON_STRING_32]; // 工种名称 public int bPersonStatus; // 人员状态, TRUE:启用, FALSE:禁用 public int emHatStyle; // 帽子类型 public int emHatColor; // 帽子颜色 public NET_MAN_TEMPERATURE_INFO stuManTemperatureInfo; // 人员温度信息 public int nCompanionInfo; // 陪同人员 stuCompanionInfo 个数 public NET_COMPANION_INFO[] stuCompanionInfo = new NET_COMPANION_INFO[12]; // 陪同人员信息:姓名、卡号字段有效 public int emMask; // 口罩状态(EM_MASK_STATE_UNKNOWN、EM_MASK_STATE_NOMASK、EM_MASK_STATE_WEAR 有效) EM_MASK_STATE_TYPE public int nFaceIndex; // 一人多脸的人脸序号 public int nScore; // 人脸质量评分 public int nLiftNo; // 电梯编号 public byte[] szQRCode=new byte[512]; // 二维码 /** * EM_FACE_CHECK */ public int emFaceCheck; // 功能,刷卡开门时,门禁后台校验人脸是否是同一个人 /** * EM_QRCODE_IS_EXPIRED */ public int emQRCodeIsExpired; // 二维码是否过期。默认值0 /** * EM_QRCODE_STATE */ public int emQRCodeState; // 二维码状态 public NET_TIME stuQRCodeValidTo; // 二维码截止日期 /** * EM_LIFT_CALLER_TYPE */ public int emLiftCallerType; // 梯控方式触发者 public int nBlockId; // 上报事件数据序列号从1开始自增 public byte[] szSection=new byte[64]; // 部门名称 public byte[] szWorkClass=new byte[256]; // 工作班级 /** * EM_TEST_ITEMS * */ public int emTestItems; // 测试项目 /** * NET_TEST_RESULT */ public NET_TEST_RESULT stuTestResult; // ESD阻值测试结果 public int bUseCardNameEx; // 是否使用卡命名扩展 public byte[] szCardNameEx=new byte[128]; // 卡命名扩展 public int nHSJCResult; //核酸检测报告结果 -1: 未知 2: 未检测 3: 过期 public int nVaccinateFlag; //是否已接种新冠疫苗(0:否,1:是) public byte[] szVaccineName=new byte[128]; //新冠疫苗名称 public int nDateCount; //历史接种日期有效数 // public byte[] szVaccinateDate=new byte[8*32]; //历史接种日期 历史接种日期 (yyyy-MM-dd)。 ”0000-00-00”,表示已接种,但无具体日期。 /** * 历史接种日期 (yyyy-MM-dd). 如提供不了时间, 则填"0000-00-00", 表示已接种 */ public VaccinateDateByteArr[] szVaccinateDate = (VaccinateDateByteArr[])new VaccinateDateByteArr().toArray(8); /** * EM_TRAVELCODE_COLOR_STATE */ public int emTravelCodeColor; //返回行程码状态信息 public int nCityCount; //最近14天经过的城市名有效数 /** * 最近14天经过的城市名. 按时间顺序排列, 最早经过的城市放第一个 */ public PassingCityByteArr[] szPassingCity = (PassingCityByteArr[])new PassingCityByteArr().toArray(16); public byte[] szTrafficPlate=new byte[32]; //车牌 public byte[] szRecordLocalUrl=new byte[128]; // 刷卡录像的地址 public byte[] szHSJCReportDate=new byte[32]; // 核酸检测报告日期(格式: yyyy-MM-dd) public int nHSJCExpiresIn; // 核酸检测报告有效期(单位:天) public byte[] szAntigenReportDate=new byte[32]; // 抗原检测报告日期(格式: yyyy-MM-dd) public int nAntigenStatus; // 抗原检测报告结果: -1:未知2: 未检测 3: 过期 public int nAntigenExpiresIn; // 抗原检测报告有效期(单位:天) public byte[] szCheckOutType = new byte[32]; // 签出类型 public byte[] szCheckOutCause = new byte[512]; // 签出原因 public int nCreateTimeRealUTC; // 刷卡时间,真实UTC时间戳 public byte[] szReserved = new byte[20]; // 字节对齐 public byte[] szLocationName = new byte[256]; // 场所码名称 public byte[] szLocationAddress = new byte[256];// 场所码详细地址 public byte[] szLocationType = new byte[256]; // 场所码类型 public NET_RECORDSET_ACCESS_CTL_CARDREC() { this.dwSize = this.size(); for(int i = 0; i0时表示支持多场景, stuMultiScene有效 //public CFG_ANALYSEGLOBAL_SCENE[] stuMultiScene = (CFG_ANALYSEGLOBAL_SCENE[])new CFG_ANALYSEGLOBAL_SCENE().toArray(MAX_ANALYSE_SCENE_NUM); // 多场景配置 public byte[] stuMultiScene=new byte[189872 * MAX_ANALYSE_SCENE_NUM]; public int nSceneCount; // 实际场景个数 public SCENE_TYPE_LIST[] szSceneTypeListArr = (SCENE_TYPE_LIST[])new SCENE_TYPE_LIST().toArray(MAX_SCENE_TYPE_LIST_SIZE);// 场景列别,同一视频通道下启用多个场景时,表示第2个之后的方案(可选) public int emDepthType; // 画面景深, 参考 EM_DEPTH_TYPE public int nPtzPresetId; // 云台预置点编号,0~255 public int unLongitude; // 经度 单位百万分之一度 public int unLatitude; // 纬度 单位百万分之一度 public int bSceneTypeListEx; // szSceneTypeListEx 是否有效,当为TRUE时,使用 szSceneTypeListEx;否则使用 szSceneTypeList public int nSceneCountEx; // 实际场景个数扩展,szSceneTypeListEx 的有效个数 public byte[] szSceneTypeListEx=new byte[32*128]; // 场景列表扩展,szSceneTypeList 扩展字段 public CFG_ANATOMYTEMP_SCENCE_INFO stuAnatomyTempScene; // 人体测温场景配置 public Pointer pstuDetectRegionsInfo=new Pointer(new CFG_DETECT_REGIONS_INFO().size()); // 规则相关检测区域信息,CFG_DETECT_REGIONS_INFO public int nMaxDetectRegions; // 最大规则相关检测区域个数,内存由客户申请 public int nDetectRegionsNum; // 规则相关检测区域信息个数 public CFG_DETAIL_DRIVEASSISTANT_INFO stuDriveAssistant=new CFG_DETAIL_DRIVEASSISTANT_INFO(); // 驾驶辅助场景配置 public int bParkingSpaceChangeEnable; // 车位变更使能 FALSE:不使能 TRUE:使能 public int emSceneType; // szSceneType的枚举形式 public int nSceneCountEm; // SceneTypeList数量 public int[] emSceneTypeList = new int[32]; // szSceneTypeList的枚举形式 public CFG_PARKING_STATISTICS_INFO stuParkingStatistics; // 车位统计场景配置信息, szSubType为ParkingStatistics时有效 @Override public int fieldOffset(String name) { return super.fieldOffset(name); } public CFG_ANALYSEGLOBAL_INFO(){ this.setAutoSynch(false); } } // 人体测温场景配置 public static class CFG_ANATOMYTEMP_SCENCE_INFO extends SdkStructure { public int emFaceDetectType; // 目标检测智能类型(参考CFG_EM_FACEDETECT_TYPE) public CFG_FACEDETECT_VISUAL_INFO stuVisual; // 可见光配置,emFaceDetectType为CFG_EM_FACEDETECT_TYPE_VISUAL或CFG_EM_FACEDETECT_TYPE_TIMESECTION时有效 public CFG_TIME_SECTION stuTimeSection; // 可见光时间段,emFaceDetectType为CFG_EM_FACEDETECT_TYPE_TIMESECTION时有效 public byte[] byReserved=new byte[1024]; // 预留字段 }; // 可见光配置 public static class CFG_FACEDETECT_VISUAL_INFO extends SdkStructure { public int nFaceAngleUp; // 需要检测的人脸向上(向下)最大偏角,超过此角度不上报,单位度,0-90。 public int nFaceAngleRight; // 需要检测的人脸向右(向左)最大偏角,超过此角度不上报,单位度,0-90。 public int nFaceRollRight; // 需要检测的人脸向右(向左)歪头最大偏角,超过此角度不上报,单位度,0-90。 public byte[] byReserved=new byte[1024]; // 预留字段 }; public static class PLATE_HINT extends SdkStructure { public byte[] szPlateHints = new byte[MAX_NAME_LEN]; // 车牌字符暗示数组,在拍摄图片质量较差车牌识别不确定时,根据此数组中的字符进行匹配,数组下标越小,匹配优先级越高 } public static class SCENE_TYPE_LIST extends SdkStructure { public byte[] szSceneTypeList = new byte[CFG_COMMON_STRING_16]; // 场景列别,同一视频通道下启用多个场景时,表示第2个之后的方案(可选) } // 车道信息 public static class CFG_LANE extends SdkStructure { public int nLaneId; // 车道编号 public int nDirection; // 车道方向(车开往的方向),0-北 1-东北 2-东 3-东南 4-南 5-西南 6-西 7-西北 public CFG_POLYLINE[] stuLeftLine = (CFG_POLYLINE[])new CFG_POLYLINE().toArray(MAX_POLYLINE_NUM); // 左车道线,车道线的方向表示车道方向,沿车道方向左边的称为左车道线 public int nLeftLineNum; // 左车道线顶点数 public CFG_POLYLINE[] stuRightLine = (CFG_POLYLINE[])new CFG_POLYLINE().toArray(MAX_POLYLINE_NUM); // 右车道线,车道线的方向表示车道方向,沿车道方向右边的称为右车道线 public int nRightLineNum; // 右车道线顶点数 public int nLeftLineType; // 左车道线属性,1-表示白实线,2- 白虚线,3- 黄线 public int nRightLineType; // 右车道线属性,1-表示白实线,2- 白虚线,3- 黄线 public int bDriveDirectionEnable; // 车道行驶方向使能, 1-true 0-false public int nDriveDirectionNum; // 车道行驶方向数 public DRIVE_DIRECTION[] szDriveDirectionArr = (DRIVE_DIRECTION[])new DRIVE_DIRECTION().toArray(MAX_LIGHT_DIRECTION); // 车道行驶方向,"Straight" 直行,"TurnLeft" 左转,"TurnRight" 右转,"U-Turn":掉头 public int nStopLineNum; // 车道对应停止线顶点数 public CFG_POLYLINE[] stuStopLine = (CFG_POLYLINE[])new CFG_POLYLINE().toArray(MAX_POLYLINE_NUM); // 车道对应停止线 public int nTrafficLightNumber; // 车道对应的红绿灯组编号 public byte abDetectLine; // 对应能力集 public byte abPreLine; public byte abPostLine; public byte[] byReserved = new byte[1]; public int nDetectLine; public CFG_POLYLINE[] stuDetectLine = (CFG_POLYLINE[])new CFG_POLYLINE().toArray(MAX_POLYLINE_NUM); // 车道对应的检测线 public int nPreLine; public CFG_POLYLINE[] stuPreLine = (CFG_POLYLINE[])new CFG_POLYLINE().toArray(MAX_POLYLINE_NUM); // 车道对应的前置线 public int nPostLine; public CFG_POLYLINE[] stuPostLine = (CFG_POLYLINE[])new CFG_POLYLINE().toArray(MAX_POLYLINE_NUM); // 车道对应的后置线 public CFG_TRAFFIC_FLOWSTAT_DIR_INFO stuTrafficFlowDir; // 车道流量信息 public int emRankType; // 道路等级,用于车流量统计上报交通状态, 参考 EM_LANE_RANK_TYPE public int nRoadwayNumber; // 用户自定义车道号, 1-16 } public static class DRIVE_DIRECTION extends SdkStructure { public byte[] szDriveDirection = new byte[MAX_NAME_LEN]; // 车道行驶方向,"Straight" 直行,"TurnLeft" 左转,"TurnRight" 右转,"U-Turn":掉头 } // 折线的端点信息 public static class CFG_POLYLINE extends SdkStructure { public int nX; //0~8191 public int nY; } // 车辆流量统计车道方向信息 public static class CFG_TRAFFIC_FLOWSTAT_DIR_INFO extends SdkStructure { public int emDrivingDir; //行驶方向, 参考 CFG_FLOWSTAT_DIRECTION public byte[] szUpGoing = new byte[CFG_FLOWSTAT_ADDR_NAME]; //上行地点 public byte[] szDownGoing = new byte[CFG_FLOWSTAT_ADDR_NAME]; //下行地点 } // 交通灯组配置信息 public static class CFG_LIGHTGROUPS extends SdkStructure { public int nLightGroupId; // 灯组编号 public CFG_RECT stuLightLocation; // 灯组坐标 public int nDirection; // 灯组的方向,1- 灯组水平向,2- 灯组垂直向 public int bExternalDetection; // 是否为外接红绿灯信号,当外接红绿灯时,以外界信号为判断依据。外界信号每次跳变时通知 public int bSwingDetection; // 是否支持自适应灯组摇摆检测,在风吹或者容易震动的场景下,位置会进行一定的浮动偏差。如果由算法自行检测,会增加检测时间 public int nLightNum; // 灯组中交通灯的数量 public CFG_LIGHTATTRIBUTE[] stuLightAtrributes = (CFG_LIGHTATTRIBUTE[])new CFG_LIGHTATTRIBUTE().toArray(MAX_LIGHT_NUM); // 灯组中各交通灯的属性 } // 交通灯属性 public static class CFG_LIGHTATTRIBUTE extends SdkStructure { public int bEnable; // 当前交通灯是否有效,与车辆通行无关的交通需要设置无效 public int nTypeNum; public LIGHT_TYPE[] szLightTypeArr = (LIGHT_TYPE[])new LIGHT_TYPE().toArray(MAX_LIGHT_TYPE); // 当前交通灯显现内容(包括:红-Red,黄-Yellow,绿-Green,倒计时-Countdown),如某交通灯可以显示红黄绿三种颜色,某交通灯只显示倒计时 public int nDirectionNum; public DIRECTION[] szDirectionArr = (DIRECTION[])new DIRECTION().toArray(MAX_LIGHT_DIRECTION); // 交通灯指示的行车方向,"Straight": 直行,"TurnLeft":左转,"TurnRight":右转,"U-Turn": 掉头 public int nYellowTime; // 黄灯亮时间 } public static class LIGHT_TYPE extends SdkStructure { public byte[] szLightType = new byte[MAX_NAME_LEN]; // 当前交通灯显现内容(包括:红-Red,黄-Yellow,绿-Green,倒计时-Countdown),如某交通灯可以显示红黄绿三种颜色,某交通灯只显示倒计时 } public static class DIRECTION extends SdkStructure { public byte[] szDirection = new byte[MAX_NAME_LEN]; // 交通灯指示的行车方向,"Straight": 直行,"TurnLeft":左转,"TurnRight":右转,"U-Turn": 掉头 } // 交通灯颜色校正配置 public static class CFG_ADJUST_LIGHT_COLOR extends SdkStructure { public int nMode; // 红灯颜色校正模式 0:未定义 1:红绿灯才校正 2:一直校正 public int bEnable; // 是否允许图片红绿灯颜色校正 public int nLevel; // 校正等级 范围0~100,数值越大矫正越明显 public int bVideoEnable; // 是否启用视频涂红功能,存在此项时,Level值使用LevelSeparate下的Level值 public ADJUST_LEVEL_SEP[] stLevelSep = (ADJUST_LEVEL_SEP[])new ADJUST_LEVEL_SEP().toArray(4); // 分立等级,目前为4个 } // 交通灯颜色校正配置,分立项 public static class ADJUST_LEVEL_SEP extends SdkStructure { public int nType; // 0:未定义,1:视频,2:图片 public int nTime; // 0:未定义,1:白天,2:夜晚 public int nLevel; // 范围0~100,数值越大矫正越明显 } public static class CFG_PARKING_SPACE extends SdkStructure { public int nNumber; //车位编号 public CFG_REGION stArea; //检测区域 public int nShieldAreaNum; //有效屏蔽区个数 public CFG_REGION[] stShieldArea = (CFG_REGION[])new CFG_REGION().toArray(MAX_SHIELD_AREA_NUM); //屏蔽区域 public byte[] szCustomParkNo=new byte[CFG_COMMON_STRING_32]; // 自定义车位名称 //public int nPtzPresetId; // 云台预置点编号,0~255 } public static class CFG_STAFF extends SdkStructure { public CFG_POLYLINE stuStartLocation; // 起始坐标点 public CFG_POLYLINE stuEndLocation; // 终止坐标点 public float nLenth; // 实际长度,单位米 public int emType; // 标尺类型, 参考 EM_STAFF_TYPE } // 标定区域,普通场景使用 public static class CFG_CALIBRATEAREA_INFO extends SdkStructure { public int nLinePoint; // 水平方向标尺线顶点数 public CFG_POLYGON[] stuLine = (CFG_POLYGON[])new CFG_POLYGON().toArray(MAX_POLYLINE_NUM);// 水平方向标尺线 public float fLenth; // 实际长度 public CFG_REGION stuArea; // 区域 public int nStaffNum; // 垂直标尺数 public CFG_STAFF[] stuStaffs = (CFG_STAFF[])new CFG_STAFF().toArray(MAX_STAFF_NUM); // 垂直标尺 public int emType; // 区域类型, 参考 EM_CALIBRATEAREA_TYPE public int emMethodType; // 标定方式, 参考 EM_METHOD_TYPE } // 目标识别场景 public static class CFG_FACERECOGNITION_SCENCE_INFO extends SdkStructure { public double dbCameraHeight; // 摄像头离地高度 单位:米 public double dbCameraDistance; // 摄像头离地面检测区域中心的水平距离 单位:米 public int nMainDirection; // 人流主要方向顶点数 public CFG_POLYGON[] stuMainDirection = (CFG_POLYGON[])new CFG_POLYGON().toArray(MAX_POLYLINE_NUM); // 人流主要方向,第一个点是起始点,第二个点是终止点 public byte byFaceAngleDown; // 需要检测的人脸向下最大偏角, 单位度,-45~45,负数表示人脸向画面上边,正数表示人脸向画面下边,0表示人脸垂直方向上正对着摄像头。 public byte byFaceAngleUp; // 需要检测的人脸向上最大偏角,单位度,-45~45,负数表示人脸向画面上边,正数表示人脸向画面下边,0表示人脸垂直方向上正对着摄像头。 public byte byFaceAngleLeft; // 需要检测的人脸向左最大偏角,单位度,-45~45,负数表示人脸向画面左边,正数表示人脸向画面右边,0表示人脸水平方向上正对着摄像头 public byte byFaceAngleRight; // 需要检测的人脸向右最大偏角,单位度,-45~45,负数表示人脸向画面左边,正数表示人脸向画面右边,0表示人脸水平方向上正对着摄像头 public int emDetectType; // 目标检测类型, 参考 EM_FACEDETECTION_TYPE } // 目标检测场景 public static class CFG_FACEDETECTION_SCENCE_INFO extends SdkStructure { public double dbCameraHeight; // 摄像头离地高度 单位:米 public double dbCameraDistance; // 摄像头离地面检测区域中心的水平距离 单位:米 public int nMainDirection; // 人流主要方向顶点数 public CFG_POLYGON[] stuMainDirection = (CFG_POLYGON[])new CFG_POLYGON().toArray(MAX_POLYLINE_NUM); // 人流主要方向,第一个点是起始点,第二个点是终止点 public byte byFaceAngleDown; // 需要检测的人脸向下最大偏角, 单位度,-45~45,负数表示人脸向画面上边,正数表示人脸向画面下边,0表示人脸垂直方向上正对着摄像头。 public byte byFaceAngleUp; // 需要检测的人脸向上最大偏角,单位度,-45~45,负数表示人脸向画面上边,正数表示人脸向画面下边,0表示人脸垂直方向上正对着摄像头。 public byte byFaceAngleLeft; // 需要检测的人脸向左最大偏角,单位度,-45~45,负数表示人脸向画面左边,正数表示人脸向画面右边,0表示人脸水平方向上正对着摄像头 public byte byFaceAngleRight; // 需要检测的人脸向右最大偏角,单位度,-45~45,负数表示人脸向画面左边,正数表示人脸向画面右边,0表示人脸水平方向上正对着摄像头 public int emDetectType; // 目标检测类型, 参考 EM_FACEDETECTION_TYPE } public static class CFG_TIME_PERIOD extends SdkStructure { public CFG_TIME stuStartTime; public CFG_TIME stuEndTime; } public static class CFG_TIME extends SdkStructure { public int dwHour; // 时 public int dwMinute; // 分 public int dwSecond; // 秒 } // 多场景标定白天和黑夜配置 public static class CFG_TIME_PERIOD_SCENE_INFO extends SdkStructure { public int dwMaxTimePeriodSceneNum; // 多场景标定白天和黑夜配置最大个数(需要申请此大小内存) public int dwRetTimePeriodSceneNum; // 实际包含多场景标定白天和黑夜配置个数 public Pointer pstuTimePeriodScene; // 多场景标白天和黑夜配置域单元,由用户申请内存,大小为sizeof(CFG_TIME_PERIOD_SCENE_UNIT)*dwMaxTimePeriodSceneNum // 指向 CFG_TIME_PERIOD_SCENE_UNIT[] } // 多场景标定区域配置 public static class CFG_CALIBRATEAREA_SCENE_INFO extends SdkStructure { public int dwMaxSceneCalibrateAreaNum; // 多场景标定区域最大个数(需要申请此大小内存) public int dwRetSceneCalibrateAreaNum; // 实际包含多场景标定区域个数 public Pointer pstuCalibrateArea; // 多场景标定区域单元, 由用户申请内存, 指向 CFG_CALIBRATEAREA_SCENE_UNIT[]。 // 大小为 sizeof(CFG_CALIBRATEAREA_SCENE_UNIT)*dwMaxSceneCalibrateAreaNum } // 昼夜算法切换模式 public static class CFG_TIMEPERIOD_SWITCH_MODE extends SdkStructure { public static final int CFG_TIMEPERIOD_SWITCH_MODE_UNKNOWN = 0; // 未知 public static final int CFG_TIMEPERIOD_SWITCH_MODE_BYCOLOR = 1; // 通过色彩切换 public static final int CFG_TIMEPERIOD_SWITCH_MODE_BYBRIGHTNESS = 2; // 通过亮度切换 public static final int CFG_TIMEPERIOD_SWITCH_MODE_BYPOS = 3; // 通过经纬度计算日出日落时间切换 } // 视频分析全局配置场景 public static class CFG_ANALYSEGLOBAL_SCENE extends SdkStructure { public byte[] szSceneType = new byte[MAX_NAME_LEN]; // 应用场景,详见"支持的场景列表" public union union = new union(); // 以下为场景具体信息, 根据szSceneType决定哪个场景有效 public static class union extends Union { public CFG_FACEDETECTION_SCENCE_INFO stuFaceDetectionScene; // 目标检测场景/目标识别检查 public CFG_TRAFFIC_SCENE_INFO stuTrafficScene; // 交通场景 public CFG_NORMAL_SCENE_INFO stuNormalScene; // 普通场景/远景场景/中景场景/近景场景/室内场景/人数统计场景 public CFG_TRAFFIC_TOUR_SCENE_INFO stuTrafficTourScene; // 交通巡视场景 public CFG_CROWD_SCENE_INFO stuCrowdScene; // 人群态势和人群密度场景 public CFG_ANATOMYTEMP_SCENCE_INFO stuAnatomyTempScene; // 人体测温场景 } public int emDepthType; // 画面景深, 参考 EM_DEPTH_TYPE public int nPtzPresetId; // 云台预置点编号,0~255 // 以下是有多个大类业务的情况 public int nSceneListCount; // 实际场景个数 public SCENE_TYPE_LIST[] szSceneTypeListArr = (SCENE_TYPE_LIST[])new SCENE_TYPE_LIST().toArray(MAX_SCENE_TYPE_LIST_SIZE);// 场景列别,同一视频通道下启用多个场景时,表示第2个之后的方案 // 多个大类业务时有效 public CFG_INTELLI_UNIFORM_SCENE stuUniformScene; // 统一场景配置 public int bSceneTypeListEx; // szSceneTypeListEx 是否有效,当为TRUE时,使用szSceneTypeListEx public int nSceneListCountEx; // 实际场景个数扩展,szSceneTypeListEx 的有效个数 public byte[] szSceneTypeListEx=new byte[32*128]; // 场景列表扩展,szSceneTypeList 的扩展字段 public Pointer pstuDetectRegionsInfo; // 规则相关检测区域信息,CFG_DETECT_REGIONS_INFO public int nMaxDetectRegions; // 最大规则相关检测区域个数,内存由客户申请 public int nDetectRegionsNum; // 规则相关检测区域信息个数 } public static class CFG_CROWD_SCENE_INFO extends SdkStructure{ public float fCameraHeight; // 摄像头离地高度 单位:米 } // 交通场景 public static class CFG_TRAFFIC_SCENE_INFO extends SdkStructure { public int abCompatibleMode; public int nCompatibleMode; // 0:"OldTrafficRule" : 交通老规则兼容模式;1:"NewTrafficRule" : 交通新规则兼容模式;-1:字符串错误 public float fCameraHeight; // 摄像头离地高度 单位:米 public float fCameraDistance; // 摄像头离地面检测区域中心的水平距离 单位:米 public byte[] szSubType = new byte[MAX_NAME_LEN]; // 交通场景的子类型,"Gate" 卡口类型,"Junction" 路口类型 // "Tunnel"隧道类型 , "ParkingSpace"车位检测类型 // "Bridge"桥梁类型 // "Freeway"高速公路类型 public CFG_POLYGON stuNearDetectPoint; // 近景检测点 public CFG_POLYGON stuFarDectectPoint; // 远景检测点 public int nNearDistance; // NearDetectPoint,转换到实际场景中时,离摄像头垂直线的水平距离 public int nFarDistance; // FarDectectPoint,转换到实际场景中时,离摄像头垂直线的水平距离 public int nPlateHintNum; // 车牌字符暗示个数 public PLATE_HINT[] szPlateHintsArr = (PLATE_HINT[])new PLATE_HINT().toArray(MAX_PLATEHINT_NUM); // 车牌字符暗示数组,在拍摄图片质量较差车牌识别不确定时,根据此数组中的字符进行匹配,数组下标越小,匹配优先级越高 public int nLaneNum; // 车道数 public CFG_LANE[] stuLanes = (CFG_LANE[])new CFG_LANE().toArray(MAX_LANE_NUM); // 车道信息 public int nLightGroupNum; // 灯组数 public CFG_LIGHTGROUPS[] stLightGroups = (CFG_LIGHTGROUPS[])new CFG_LIGHTGROUPS().toArray(MAX_LIGHTGROUP_NUM); // 灯组配置信息 public int bHangingWordPlate; // 是否识别挂字车牌 public int bNonStdPolicePlate; // 是否识别非标准警牌 public int bYellowPlateLetter; // 是否识别黄牌字母 public int nReportMode; // 上报模式,0:未定义,1:上报所有违章车辆,2:上报车牌识别成功的违章车辆 public int nPlateMatch; // 车牌匹配率,0~100,多次识别车牌使用,表示重复识别车牌和前一次识别车牌的一致性要求 public int nJudgment; // 违章判定依据,0:未定义,1:按车道,2:按行驶方向,3:按车道和行驶方向 public int nLeftDivisionPtCount; // 左转弯分界线点数 public CFG_POLYLINE[] stLeftDivisionLine = (CFG_POLYLINE[])new CFG_POLYLINE().toArray(MAX_POLYLINE_NUM); // 左转弯分界线 public int nRightDivisionPtCount; // 右转弯分界线点数 public CFG_POLYLINE[] stRightDivisionLine = (CFG_POLYLINE[])new CFG_POLYLINE().toArray(MAX_POLYLINE_NUM); // 右转弯分界线 public CFG_ADJUST_LIGHT_COLOR stAdjustLightColor; // 交通灯颜色校正配置 public int nParkingSpaceNum; // 车位数 public CFG_PARKING_SPACE[] stParkingSpaces = (CFG_PARKING_SPACE[])new CFG_PARKING_SPACE().toArray(MAX_PARKING_SPACE_NUM);// 车位配置信息,每个元素代表一个车位 } // 普遍场景 public static class CFG_NORMAL_SCENE_INFO extends SdkStructure { public float fCameraHeight; // 摄像头离地高度 单位:米 public float fCameraAngle; // 摄像头与垂方向的夹角 单位度,0~90, public float fCameraDistance; // 摄像头离地面检测区域中心的水平距离 单位:米 public CFG_POLYGON stuLandLineStart; // 地平线线段起始点(点的坐标坐标归一化到[0,8192)区间。) public CFG_POLYGON stuLandLineEnd; // 地平线线段终止点(点的坐标坐标归一化到[0,8192)区间。) } // 交通巡视场景 public static class CFG_TRAFFIC_TOUR_SCENE_INFO extends SdkStructure { public int nPlateHintNum; // 车牌字符暗示个数 public PLATE_HINT[] szPlateHintsArr = (PLATE_HINT[])new PLATE_HINT().toArray(MAX_PLATEHINT_NUM); // 车牌字符暗示数组,在拍摄图片质量较差车牌识别不确定时,根据此数组中的字符进行匹配,数组下标越小,匹配优先级越高 } // 统一场景配置,TypeList存在时配置此场景 public static class CFG_INTELLI_UNIFORM_SCENE extends SdkStructure { public byte[] szSubType = new byte[MAX_NAME_LEN]; // 交通场景的子类型,"Gate" 卡口类型,"Junction" 路口类型 // "Tunnel"隧道类型 , "ParkingSpace"车位检测类型 // "Bridge"桥梁类型 // "Freeway"高速公路类型 public int nPlateHintNum; // 车牌字符暗示个数 public PLATE_HINT[] szPlateHints = (PLATE_HINT[])new PLATE_HINT[MAX_PLATEHINT_NUM]; // 车牌字符暗示数组,在拍摄图片质量较差车牌识别不确定时,根据此数组中的字符进行匹配,数组下标越小,匹配优先级越高 public int nLaneNum; // 车道数 public CFG_LANE[] stuLanes = (CFG_LANE[])new CFG_LANE().toArray(MAX_LANE_NUM); // 车道信息 } // CLIENT_MatrixAddCamerasByDevice 接口输入参数 public static class NET_IN_ADD_LOGIC_BYDEVICE_CAMERA extends SdkStructure { public int dwSize; public byte[] pszDeviceID = new byte[NET_DEV_ID_LEN]; // 设备ID public NET_REMOTE_DEVICE stuRemoteDevice; // 远程设备信息 public int nCameraCount; // 视频源信息数量 public Pointer pCameras; // 视频源信息数组,用户分配内存,大小为sizeof(NET_LOGIC_BYDEVICE_ADD_CAMERA_PARAM)*nCameraCount // 对应 NET_LOGIC_BYDEVICE_ADD_CAMERA_PARAM[] public NET_IN_ADD_LOGIC_BYDEVICE_CAMERA() { this.dwSize = this.size(); } } // CLIENT_MatrixAddCamerasByDevice 接口输出参数 public static class NET_OUT_ADD_LOGIC_BYDEVICE_CAMERA extends SdkStructure { public int dwSize; public byte[] szDeviceID = new byte[NET_DEV_ID_LEN]; // 设备ID public int nMaxResultCount; // nMaxResultCount, 用户填写 public int nRetResultCount; // 实际结果数量 public Pointer pResults; // 添加视频源结果数组,用户分配内存,大小为sizeof(NET_LOGIC_BYDEVICE_ADD_CAMERA_RESULT)*nMaxResultCount // 对应 NET_LOGIC_BYDEVICE_ADD_CAMERA_RESULT[] public NET_OUT_ADD_LOGIC_BYDEVICE_CAMERA() { this.dwSize = this.size(); } } // 视频源信息 public static class NET_LOGIC_BYDEVICE_ADD_CAMERA_PARAM extends SdkStructure { public int dwSize; public int nUniqueChannel; // 统一编号 public int nChannel; // 通道号 public NET_LOGIC_BYDEVICE_ADD_CAMERA_PARAM() { this.dwSize = this.size(); } } // 添加视频源结果信息 public static class NET_LOGIC_BYDEVICE_ADD_CAMERA_RESULT extends SdkStructure { public int dwSize; public int nUniqueChannel; // 统一编号 public int nFailedCode; // 失败码, 0-成功,1-通道不支持设置 public NET_LOGIC_BYDEVICE_ADD_CAMERA_RESULT() { this.dwSize = this.size(); } } // 事件类型 EVENT_IVS_FACEDETECT (目标检测事件)对应的规则配置 public static class CFG_FACEDETECT_INFO extends SdkStructure { public byte[] szRuleName = new byte[MAX_NAME_LEN]; // 规则名称,不同规则不能重名 public byte bRuleEnable; // 规则使能, 1-true 0-false public byte[] bReserved = new byte[3]; // 保留字段 public int nObjectTypeNum; // 相应物体类型个数 public byte[] szObjectTypes = new byte[MAX_OBJECT_LIST_SIZE*MAX_NAME_LEN]; // 相应物体类型列表 public int nDetectRegionPoint; // 检测区顶点数 public CFG_POLYGON[] stuDetectRegion = (CFG_POLYGON[])new CFG_POLYGON().toArray(MAX_POLYGON_NUM); // 检测区 public int nHumanFaceTypeCount; // 触发事件的人脸类型个数 public byte[] szHumanFaceType = new byte[MAX_HUMANFACE_LIST_SIZE*MAX_NAME_LEN]; // 触发事件的人脸类型 public CFG_ALARM_MSG_HANDLE stuEventHandler; // 报警联动 public CFG_TIME_SECTION[] stuTimeSection = (CFG_TIME_SECTION[])new CFG_TIME_SECTION().toArray(WEEK_DAY_NUM*MAX_REC_TSECT_EX); // 事件响应时间段 public int nPtzPresetId; // 云台预置点编号 0~65535 public int nMinDuration; // 最短触发时间,单位:秒 public int nSensitivity; // 灵敏度,范围[1,10],灵敏度越高越容易检测 public int nReportInterval; // 重复报警间隔,单位:秒,[0,600](等于0表示不重复报警) public int bSizeFileter; // 规则特定的尺寸过滤器是否有效 public CFG_SIZEFILTER_INFO stuSizeFileter; // 规则特定的尺寸过滤器, 1-true 0-false public int bFeatureEnable; // 是否开启人脸属性识别, IPC增加, 1-true 0-false // (通过FaceDetection能力中的FeatureSupport来确定该配置是否可以设置) public int nFaceFeatureNum; // 需要检测的人脸属性个数 public int[] emFaceFeatureType = new int[MAX_FEATURE_LIST_SIZE]; // 需检测的人脸属性, 通过FaceDetection能力来获取支持哪些人脸属性, 参考 EM_FACEFEATURE_TYPE } public static class MAX_OBJECT_LIST extends SdkStructure { public byte[] szObjectTypes = new byte[MAX_NAME_LEN]; // 相应物体类型列表 } public static class MAX_HUMANFACE_LIST extends SdkStructure { public byte[] szHumanFaceType = new byte[MAX_NAME_LEN]; // 触发事件的人脸类型 } public static class TIME_SECTION_WEEK_DAY_10 extends SdkStructure { public CFG_TIME_SECTION[] stuTimeSection = (CFG_TIME_SECTION[])new CFG_TIME_SECTION().toArray(MAX_REC_TSECT_EX); // 事件响应时间段 public TIME_SECTION_WEEK_DAY_10(){ for(int i=0;idwSize == nBufLen public interface fAttachBurnStateCB extends Callback { public void invoke(LLong lLoginID, LLong lAttachHandle, NET_CB_BURNSTATE pBuf, int nBufLen, Pointer dwUser); } // 刻录设备回调扩展函数原形 public interface fAttachBurnStateCBEx extends Callback { public void invoke(LLong lLoginID, LLong lAttachHandle, NET_OUT_BURN_GET_STATE pBuf, int nBufLen, Pointer dwUser); } //刻录设备回调函数,lUploadHandle是CLIENT_StartUploadFileBurned返回值 //typedef void (CALLBACK *fBurnFileCallBack) (LLONG lLoginID, LLONG lUploadHandle, int nTotalSize, int nSendSize, LDWORD dwUser); public interface fBurnFileCallBack extends Callback { public void invoke(LLong lLoginID, LLong lUploadHandle, int nTotalSize, int nSendSize, Pointer dwUser); } // 升级回调 public interface fUpgradeCallBackEx extends Callback { public void invoke(LLong lLoginID, LLong lUpgradechannel, int nTotalSize, int nSendSize, Pointer dwUserData); } /************************************************************************ ** 接口 ***********************************************************************/ // JNA直接调用方法定义,cbDisConnect 实际情况并不回调Java代码,仅为定义可以使用如下方式进行定义。 fDisConnect 回调 public boolean CLIENT_Init(Callback cbDisConnect, Pointer dwUser); // JNA直接调用方法定义,SDK退出清理 public void CLIENT_Cleanup(); // JNA直接调用方法定义,设置断线重连成功回调函数,设置后SDK内部断线自动重连, fHaveReConnect 回调 public void CLIENT_SetAutoReconnect(Callback cbAutoConnect, Pointer dwUser); // 返回函数执行失败代码 public int CLIENT_GetLastError(); // 设置连接设备超时时间和尝试次数 public void CLIENT_SetConnectTime(int nWaitTime, int nTryTimes); // 设置登陆网络环境 public void CLIENT_SetNetworkParam(NET_PARAM pNetParam); // public boolean CLIENT_SetDeviceSearchParam(NET_DEVICE_SEARCH_PARAM pstParam); // 获取SDK的版本信息 public int CLIENT_GetSDKVersion(); // JNA直接调用方法定义,登陆接口 public LLong CLIENT_LoginEx(String pchDVRIP, int wDVRPort, String pchUserName, String pchPassword, int nSpecCap, Pointer pCapParam, NET_DEVICEINFO lpDeviceInfo, IntByReference error/*= 0*/); // JNA直接调用方法定义,登陆扩展接口/////////////////////////////////////////////////// // nSpecCap 对应 EM_LOGIN_SPAC_CAP_TYPE 登陆类型 public LLong CLIENT_LoginEx2(String pchDVRIP, int wDVRPort, String pchUserName, String pchPassword, int nSpecCap, Pointer pCapParam, NET_DEVICEINFO_Ex lpDeviceInfo, IntByReference error/*= 0*/); // JNA直接调用方法定义,向设备注销 public boolean CLIENT_Logout(LLong lLoginID); // 获取配置 // error 为设备返回的错误码: 0-成功 1-失败 2-数据不合法 3-暂时无法设置 4-没有权限 public boolean CLIENT_GetNewDevConfig(LLong lLoginID, String szCommand, int nChannelID, byte[] szOutBuffer, int dwOutBufferSize, IntByReference error, int waiitime,Pointer pReserved); // 设置配置 public boolean CLIENT_SetNewDevConfig(LLong lLoginID, String szCommand, int nChannelID, byte[] szInBuffer, int dwInBufferSize, IntByReference error, IntByReference restart, int waittime); // 删除配置接口(Json格式) public boolean CLIENT_DeleteDevConfig(LLong lLoginID, NET_IN_DELETECFG pInParam, NET_OUT_DELETECFG pOutParam, int waittime); // 获取配置成员名称接口(Json格式)(pInParam, pOutParam内存由用户申请释放) public boolean CLIENT_GetMemberNames(LLong lLoginID, NET_IN_MEMBERNAME pInParam, NET_OUT_MEMBERNAME pOutParam, int waittime); // 解析查询到的配置信息 public boolean CLIENT_ParseData(String szCommand, byte[] szInBuffer, Pointer lpOutBuffer, int dwOutBufferSize, Pointer pReserved); // 组成要设置的配置信息 public boolean CLIENT_PacketData(String szCommand, Pointer lpInBuffer, int dwInBufferSize, byte[] szOutBuffer, int dwOutBufferSize); // 设置报警回调函数, fMessCallBack 回调 public void CLIENT_SetDVRMessCallBack(Callback cbMessage, Pointer dwUser); // 设置报警回调函数, fMessCallBackEx1 回调 public void CLIENT_SetDVRMessCallBackEx1(fMessCallBackEx1 cbMessage, Pointer dwUser); // 向设备订阅报警--扩展 public boolean CLIENT_StartListenEx(LLong lLoginID); // 停止订阅报警 public boolean CLIENT_StopListen(LLong lLoginID); /////////////////////////////////目标识别接口///////////////////////////////////////// //目标识别数据库信息操作(包括添加,修改和删除) // pstInParam指向NET_IN_OPERATE_FACERECONGNITIONDB类型的指针 // pstOutParam指向NET_OUT_OPERATE_FACERECONGNITIONDB类型的指针 public boolean CLIENT_OperateFaceRecognitionDB(LLong lLoginID, NET_IN_OPERATE_FACERECONGNITIONDB pstInParam, NET_OUT_OPERATE_FACERECONGNITIONDB pstOutParam, int nWaitTime); // 按条件查询目标识别结果 // pstInParam指向NET_IN_STARTFIND_FACERECONGNITION类型的指针 // pstOutParam指向NET_OUT_STARTFIND_FACERECONGNITION类型的指针 public boolean CLIENT_StartFindFaceRecognition(LLong lLoginID, NET_IN_STARTFIND_FACERECONGNITION pstInParam, NET_OUT_STARTFIND_FACERECONGNITION pstOutParam, int nWaitTime); // 查找目标识别结果:nFilecount:需要查询的条数, 返回值为媒体文件条数 返回值NET_IN_DOWNLOAD_BYFILE_SELFADAPT // pstOutParam->NET_OUT_DOWNLOAD_BYFILE_SELFADAPT public LLong CLIENT_DownloadByFileSelfAdapt(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int dwWaitTime); // 自适应速度的按时间下载录像 // pstInParam->NET_IN_ADAPTIVE_DOWNLOAD_BY_TIME // pstOutParam->NET_OUT_ADAPTIVE_DOWNLOAD_BY_TIME public LLong CLIENT_AdaptiveDownloadByTime( LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int dwWaitTime ); // 私有云台控制扩展接口,支持三维快速定位 public boolean CLIENT_DHPTZControlEx(LLong lLoginID, int nChannelID, int dwPTZCommand, int lParam1, int lParam2, int lParam3, int dwStop); // 云台控制扩展接口,支持三维快速定位,鱼眼 // dwStop类型为BOOL, 取值0或者1 // dwPTZCommand取值为NET_EXTPTZ_ControlType中的值或者是NET_PTZ_ControlType中的值 // NET_IN_PTZBASE_MOVEABSOLUTELY_INFO // 精准绝对移动控制命令, param4对应结构 NET_IN_PTZBASE_MOVEABSOLUTELY_INFO(通过 CFG_CAP_CMD_PTZ 命令获取云台能力集( CFG_PTZ_PROTOCOL_CAPS_INFO ),若bSupportReal为TRUE则设备支持该操作) public boolean CLIENT_DHPTZControlEx2(LLong lLoginID, int nChannelID, int dwPTZCommand, int lParam1, int lParam2, int lParam3, int dwStop, Pointer param4); // 设备控制(param内存由用户申请释放) emType对应 枚举 CtrlType public boolean CLIENT_ControlDevice(LLong lLoginID, int emType, Pointer param, int waittime); // 设备控制扩展接口,兼容 CLIENT_ControlDevice (pInBuf, pOutBuf内存由用户申请释放) // emType的取值为CtrlType中的值 public boolean CLIENT_ControlDeviceEx(LLong lLoginID, int emType, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); // 查询配置信息(lpOutBuffer内存由用户申请释放) public boolean CLIENT_GetDevConfig(LLong lLoginID, int dwCommand, int lChannel, Pointer lpOutBuffer, int dwOutBufferSize, IntByReference lpBytesReturned, int waittime); // 设置配置信息(lpInBuffer内存由用户申请释放) public boolean CLIENT_SetDevConfig(LLong lLoginID, int dwCommand, int lChannel, Pointer lpInBuffer, int dwInBufferSize, int waittime); // 查询设备状态(pBuf内存由用户申请释放) // pBuf指向char *,输出参数 // pRetLen指向int *;输出参数,实际返回的数据长度,单位字节 public boolean CLIENT_QueryDevState(LLong lLoginID, int nType, Pointer pBuf, int nBufLen, IntByReference pRetLen, int waittime); // 查询远程设备状态(pBuf内存由用户申请释放) // nType为DH_DEVSTATE_ALARM_FRONTDISCONNECT时,通道号从1开始 public boolean CLIENT_QueryRemotDevState(LLong lLoginID, int nType, int nChannelID, Pointer pBuf, int nBufLen, IntByReference pRetLen, int waittime); // 获取设备能力接口 // pInBuf指向void*,输入参数结构体指针 pOutBuf指向void*,输出参数结构体指针 public boolean CLIENT_GetDevCaps(LLong lLoginID, int nType, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); // 新系统能力查询接口,查询系统能力信息(以Json格式,具体见配置SDK)(szOutBuffer内存由用户申请释放) // szCommand: 对应命令查看上文 // szOutBuffer: 获取到的信息, 通过 CLIENT_ParseData 解析 // error 指向 int * : 错误码大于0表示设备返回的,小于0表示缓冲不够或数据校验引起的 public boolean CLIENT_QueryNewSystemInfo(LLong lLoginID, String szCommand, int nChannelID, byte[] szOutBuffer, int dwOutBufferSize, IntByReference error, int waittime); // 新系统能力查询接口扩展,查询系统能力信息,入参新增扩展数据(以Json格式,具体见配置SDK)(szOutBuffer内存由用户申请释放) public boolean CLIENT_QueryNewSystemInfoEx(LLong lLoginID, String szCommand, int nChannelID, byte[] szOutBuffer, int dwOutBufferSize, IntByReference error, Pointer pExtendInfo , int waittime); // 查询系统能力信息(pSysInfoBuffer内存由用户申请释放,大小参照DH_SYS_ABILITY对应的结构体,若nSystemType为 ABILITY_DYNAMIC_CONNECT ,内存大小至少为sizeof(BOOL),若nSystemType为ABILITY_TRIGGER_MODE,内存大小为sizeof(int)) public boolean CLIENT_QuerySystemInfo(LLong lLoginID, int nSystemType, String pSysInfoBuffer, int nChannelID, byte[] szOutBuffer, int dwOutBufferSize, IntByReference error, int waittime); // 订阅视频统计摘要信息 public LLong CLIENT_AttachVideoStatSummary(LLong lLoginID, NET_IN_ATTACH_VIDEOSTAT_SUM pInParam, NET_OUT_ATTACH_VIDEOSTAT_SUM pOutParam, int nWaitTime); // 取消订阅视频统计摘要信息,lAttachHandle为CLIENT_AttachVideoStatSummary的返回值 public boolean CLIENT_DetachVideoStatSummary(LLong lAttachHandle); // 开始查询视频统计信息/获取人数统计信息 public LLong CLIENT_StartFindNumberStat(LLong lLoginID, NET_IN_FINDNUMBERSTAT pstInParam, NET_OUT_FINDNUMBERSTAT pstOutParam); // 继续查询视频统计/继续查询人数统计 public int CLIENT_DoFindNumberStat(LLong lFindHandle, NET_IN_DOFINDNUMBERSTAT pstInParam, NET_OUT_DOFINDNUMBERSTAT pstOutParam); // 结束查询视频统计/结束查询人数统计 public boolean CLIENT_StopFindNumberStat(LLong lFindHandle); // 设置语音对讲模式,客户端方式还是服务器方式 // emType : 方式类型 参照 EM_USEDEV_MODE public boolean CLIENT_SetDeviceMode(LLong lLoginID, int emType, Pointer pValue); ///////////////// 录像回放相关接口 /////////////////////// // 按时间方式回放 public LLong CLIENT_PlayBackByTime(LLong lLoginID, int nChannelID, NET_TIME lpStartTime, NET_TIME lpStopTime, Pointer hWnd, fDownLoadPosCallBack cbDownLoadPos, Pointer dwPosUser); // 按时间方式回放--扩展接口 // cbDownLoadPos 对应 fDownLoadPosCallBack 回调 // fDownLoadDataCallBack 对应 fDataCallBack 回调 public LLong CLIENT_PlayBackByTimeEx(LLong lLoginID, int nChannelID, NET_TIME lpStartTime, NET_TIME lpStopTime, Pointer hWnd, Callback cbDownLoadPos, Pointer dwPosUser, Callback fDownLoadDataCallBack, Pointer dwDataUser); public LLong CLIENT_PlayBackByTimeEx2(LLong lLoginID, int nChannelID, NET_IN_PLAY_BACK_BY_TIME_INFO pstNetIn, NET_OUT_PLAY_BACK_BY_TIME_INFO pstNetOut); // 停止录像回放接口 public boolean CLIENT_StopPlayBack(LLong lPlayHandle); // 获取回放OSD时间 public boolean CLIENT_GetPlayBackOsdTime(LLong lPlayHandle, NET_TIME lpOsdTime, NET_TIME lpStartTime, NET_TIME lpEndTime); // 暂停或恢复录像回放 // bPause: 1 - 暂停 0 - 恢复 public boolean CLIENT_PausePlayBack(LLong lPlayHandle, int bPause); // 快进录像回放 public boolean CLIENT_FastPlayBack(LLong lPlayHandle); // 慢进录像回放 public boolean CLIENT_SlowPlayBack(LLong lPlayHandle); // 恢复正常回放速度 public boolean CLIENT_NormalPlayBack(LLong lPlayHandle); // 设置录像回放速度, emSpeed 对应枚举 EM_PLAY_BACK_SPEED public boolean CLIENT_SetPlayBackSpeed(LLong lPlayHandle, int emSpeed); // 查询设备当前时间 public boolean CLIENT_QueryDeviceTime(LLong lLoginID, NET_TIME pDeviceTime, int waittime); // 设置设备当前时间 public boolean CLIENT_SetupDeviceTime(LLong lLoginID, NET_TIME pDeviceTime); // 获得亮度、色度、对比度、饱和度的参数 // param1/param2/param3/param4 四个参数范围0~255 public boolean CLIENT_ClientGetVideoEffect(LLong lPlayHandle, byte[] nBrightness, byte[] nContrast, byte[] nHue, byte[] nSaturation); // 设置亮度、色度、对比度、饱和度的参数 // nBrightness/nContrast/nHue/nSaturation四个参数为 unsigned byte 范围0~255 public boolean CLIENT_ClientSetVideoEffect(LLong lPlayHandle, byte nBrightness, byte nContrast, byte nHue, byte nSaturation); //------------------------用户管理----------------------- // 查询用户信息--扩展(info内存由用户申请释放,大小为sizeof(USER_MANAGE_INFO_EX)) public boolean CLIENT_QueryUserInfoEx(LLong lLoginID, USER_MANAGE_INFO_EX info, int waittime); // 查询用户信息--最大支持64通道设备 // pReserved指向void* public boolean CLIENT_QueryUserInfoNew(LLong lLoginID, USER_MANAGE_INFO_NEW info, Pointer pReserved, int nWaittime); // 设置用户信息接口--操作设备用户--最大支持64通道设备 // opParam指向void* subParam指向void* // pReserved指向void* // opParam(设置用户信息的输入缓冲)和subParam(设置用户信息的辅助输入缓冲)对应结构体类型USER_GROUP_INFO_NEW或USER_INFO_NEW public boolean CLIENT_OperateUserInfoNew(LLong lLoginID, int nOperateType, Pointer opParam, Pointer subParam, Pointer pReserved, int nWaittime); /** * // 查询设备日志,以分页方式查询(pQueryParam, pLogBuffer内存由用户申请释放) * CLIENT_NET_API BOOL CALL_METHOD CLIENT_QueryDeviceLog(LLONG lLoginID, QUERY_DEVICE_LOG_PARAM *pQueryParam, char *pLogBuffer, int nLogBufferLen, int *pRecLogNum, int waittime=3000); * pQueryParam 对应结构体QUERY_DEVICE_LOG_PARAM * pLogBuffer:char * * waitTime:默认3000 */ public boolean CLIENT_QueryDeviceLog(LLong lLoginID, Pointer pQueryParam, Pointer pLogBuffer, int nLogBufferLen, IntByReference pRecLogNum, int waittime); //----------------------语音对讲-------------------------- // 向设备发起语音对讲请求 pfcb是用户自定义的数据回调接口, pfAudioDataCallBack 回调 public LLong CLIENT_StartTalkEx(LLong lLoginID, Callback pfcb, Pointer dwUser); // 停止语音对讲 lTalkHandle语音对讲句柄,是CLIENT_StartTalkEx的返回 值 public boolean CLIENT_StopTalkEx(LLong lTalkHandle); // 启动本地录音功能(只在Windows平台下有效),录音采集出来的音频数据通过CLIENT_StartTalkEx的回调函数回调给用户,对应操作是CLIENT_RecordStopEx // lLoginID是CLIENT_Login的返回值 public boolean CLIENT_RecordStartEx(LLong lLoginID); // 开始PC端录音 public boolean CLIENT_RecordStart(); // 结束PC端录音 public boolean CLIENT_RecordStop(); // 停止本地录音(只在Windows平台下有效),对应操作是CLIENT_RecordStartEx。 public boolean CLIENT_RecordStopEx(LLong lLoginID); // 向设备发送用户的音频数据,这里的数据可以是从CLIENT_StartTalkEx的回调接口中回调出来的数据 public LLong CLIENT_TalkSendData(LLong lTalkHandle, Pointer pSendBuf, int dwBufSize); // 解码音频数据扩展接口(只在Windows平台下有效) pAudioDataBuf是要求解码的音频数据内容 public void CLIENT_AudioDec(Pointer pAudioDataBuf, int dwBufSize); public boolean CLIENT_AudioDecEx(LLong lTalkHandle, Pointer pAudioDataBuf, int dwBufSize); // 音频格式信息 public class NET_AUDIO_FORMAT extends SdkStructure { public byte byFormatTag; // 编码类型,如0:PCM public short nChannels; // 声道数 public short wBitsPerSample; // 采样深度 public int nSamplesPerSec; // 采样率 } // 音频格式信息 public class LPDH_AUDIO_FORMAT extends SdkStructure { public byte byFormatTag; // 编码类型,如0:PCM public short nChannels; // 声道数 public short wBitsPerSample; // 采样深度 public int nSamplesPerSec; // 采样率 } // 音频编码--初始化(特定标准格式->私有格式) 初始化对讲中的音频编码接口,告诉SDK内部要编码的源音频数据的音频格式,对不支持的音频格式初始化会失败 public int CLIENT_InitAudioEncode(NET_AUDIO_FORMAT aft); // 进行音频的数据二次编码,从标准音频格式转换成设备支持的格式 // 音频编码--数据编码(lpInBuf, lpOutBuf内存由用户申请释放) public int CLIENT_AudioEncode(LLong lTalkHandle, Pointer lpInBuf, IntByReference lpInLen, Pointer lpOutBuf, IntByReference lpOutLen); // 音频编码--完成退出 解码功能使用完毕后,告诉接口清理内部资源 public int CLIENT_ReleaseAudioEncode(); //----------------------语音对讲音频裸数据相关接口-------------------------- /** * 打开语音对讲,这个接口可以从回调中得到音频裸数据,而CLIENT_StartTalkEx只能得到带音频头的数据 * @param lLoginID * @param pInParam -> NET_IN_START_TALK_INFO * @param pOutParam -> NET_OUT_START_TALK_INFO * @param nWaittime * @return LLong */ public LLong CLIENT_StartTalkByDataType(LLong lLoginID, Pointer pInParam, Pointer pOutParam,int nWaittime); /** * 发送语音数据到设备 返回值为发送给设备的音频流长度,-1表示接口调用失败 * @param lTalkHandle * @param pInParam -> NET_IN_TALK_SEND_DATA_STREAM * @param pOutParam -> NET_OUT_TALK_SEND_DATA_STREAM * @return LLong 返回值为发送给设备的音频流长度,-1表示接口调用失败 */ public LLong CLIENT_TalkSendDataByStream(LLong lTalkHandle, Pointer pInParam, Pointer pOutParam); /** * 发送语音文件中的音频数据到设备 成功返回 lTalkHandle, 失败返回 0 * @param lTalkHandle * @param pInParam -> NET_IN_TALK_SEND_DATA_FILE * @param pOutParam -> NET_OUT_TALK_SEND_DATA_FILE * @return LLong 成功返回 lTalkHandle, 失败返回 0 */ public LLong CLIENT_TalkSendDataByFile(LLong lTalkHandle, Pointer pInParam, Pointer pOutParam); /** * 停止发送音频文件 */ public boolean CLIENT_StopTalkSendDataByFile(LLong lTalkHandle); /** * 用户自定义的数据回调 lTalkHandle是CLIENT_StartTalkByDataType的返回值 * @param stAudioInfo -> NET_AUDIO_DATA_CB_INFO * @param byAudioFlag -> 音频数据来源,参考枚举 EM_AUDIO_SOURCE_FLAG * @param dwUser -> 用户自定义数据 */ public interface fAudioDataCallBackEx extends Callback { public void invoke(LLong lTalkHandle, NET_AUDIO_DATA_CB_INFO stAudioInfo, int emAudioFlag,Pointer dwUser); } /** * 音频文件发送进度回调函数 * @param lTalkHandle * @param dwTotalSize * @param dwSendSize */ public interface fTalkSendPosCallBack extends Callback { public void invoke(LLong lTalkHandle, int dwTotalSize, int dwSendSize,Pointer dwUser); } //-------------------允许名单------------------------- // 按查询条件查询记录 pInParam查询记录参数 pOutParam返回查询句柄 // 可以先调用本接口获得查询句柄,再调用 CLIENT_FindNextRecord函数获取记录列表,查询完毕可以调用CLIENT_FindRecordClose关闭查询句柄。 public boolean CLIENT_FindRecord(LLong lLoginID, NET_IN_FIND_RECORD_PARAM pInParam, NET_OUT_FIND_RECORD_PARAM pOutParam, int waittime); // 查找记录:nFilecount:需要查询的条数, 返回值为媒体文件条数 返回值小于nFilecount则相应时间段内的文件查询完毕 public boolean CLIENT_FindNextRecord(NET_IN_FIND_NEXT_RECORD_PARAM pInParam, NET_OUT_FIND_NEXT_RECORD_PARAM pOutParam, int waittime); // 结束记录查找,lFindHandle是CLIENT_FindRecord的返回值 public boolean CLIENT_FindRecordClose(LLong lFindHandle); // 查找记录条数,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_QueryRecordCount(NET_IN_QUEYT_RECORD_COUNT_PARAM pInParam, NET_OUT_QUEYT_RECORD_COUNT_PARAM pOutParam, int waittime); // 禁止/允许名单操作 ,pstOutParam = null; public boolean CLIENT_OperateTrafficList(LLong lLoginID, NET_IN_OPERATE_TRAFFIC_LIST_RECORD pstInParam, NET_OUT_OPERATE_TRAFFIC_LIST_RECORD pstOutParam, int waittime); // 文件上传控制接口,允许名单上传需要三个步骤配合使用,CLIENT_FileTransmit的 NET_DEV_BLACKWHITETRANS_START、 NET_DEV_BLACKWHITETRANS_SEND、 NET_DEV_BLACKWHITETRANS_STOP,如下所示 // fTransFileCallBack 回调 public LLong CLIENT_FileTransmit(LLong lLoginID, int nTransType, Pointer szInBuf, int nInBufLen, Callback cbTransFile, Pointer dwUserData, int waittime); // 查询设备信息 public boolean CLIENT_QueryDevInfo(LLong lLoginID, int nQueryType, Pointer pInBuf, Pointer pOutBuf, Pointer pReservedL, int nWaitTime); // ------------------车载GPS------------------------- // 设置GPS订阅回调函数--扩展, fGPSRevEx 回调 public void CLIENT_SetSubcribeGPSCallBackEX(Callback OnGPSMessage, Pointer dwUser); // 设置GPS订阅回调函数--扩展2, fGPSRevEx2 回调 public void CLIENT_SetSubcribeGPSCallBackEX2(Callback OnGPSMessage, Pointer dwUser); // GPS信息订阅 // bStart:表明是订阅还是取消 InterTime:订阅时间内GPS发送频率(单位秒) // KeepTime:订阅持续时间(单位秒) 值为-1时,订阅时间为极大值,可视为永久订阅 // 订阅时间内GPS发送频率(单位秒) public boolean CLIENT_SubcribeGPS(LLong lLoginID, int bStart, int KeepTime, int InterTime); // 设置文件长度, pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_PreUploadRemoteFile(LLong lLoginID, NET_IN_PRE_UPLOAD_REMOTE_FILE pInParam, NET_OUT_PRE_UPLOAD_REMOTE_FILE pOutParam, int nWaitTime); // 同步文件上传, 只适用于小文件 public boolean CLIENT_UploadRemoteFile(LLong lLoginID, NET_IN_UPLOAD_REMOTE_FILE pInParam, NET_OUT_UPLOAD_REMOTE_FILE pOutParam, int nWaitTime); // 显示目录中文件和子目录,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_ListRemoteFile(LLong lLoginID, NET_IN_LIST_REMOTE_FILE pInParam, NET_OUT_LIST_REMOTE_FILE pOutParam, int nWaitTime); // 删除文件或目录,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_RemoveRemoteFiles(LLong lLoginID, NET_IN_REMOVE_REMOTE_FILES pInParam, NET_OUT_REMOVE_REMOTE_FILES pOutParam, int nWaitTime); // 过车记录订阅 public LLong CLIENT_ParkingControlAttachRecord(LLong lLoginID, NET_IN_PARKING_CONTROL_PARAM pInParam, NET_OUT_PARKING_CONTROL_PARAM pOutParam, int nWaitTime); // 取消过车记录订阅 public boolean CLIENT_ParkingControlDetachRecord(LLong lAttachHandle); // 开始过车记录查询 public LLong CLIENT_ParkingControlStartFind(LLong lLoginID, NET_IN_PARKING_CONTROL_START_FIND_PARAM pInParam, NET_OUT_PARKING_CONTROL_START_FIND_PARAM pOutParam, int waittime); // 获取过车记录 public boolean CLIENT_ParkingControlDoFind(LLong lFindeHandle, NET_IN_PARKING_CONTROL_DO_FIND_PARAM pInParam, NET_OUT_PARKING_CONTROL_DO_FIND_PARAM pOutParam, int waittime); // 结束过车记录查询 public boolean CLIENT_ParkingControlStopFind(LLong lFindHandle); // 车位状态订阅,pInParam与pOutParam内存由用户申请释放 public LLong CLIENT_ParkingControlAttachParkInfo(LLong lLoginID, NET_IN_PARK_INFO_PARAM pInParam, NET_OUT_PARK_INFO_PARAM pOutParam, int nWaitTime); // 取消车位状态订阅 public boolean CLIENT_ParkingControlDetachParkInfo(LLong lAttachHandle); // 清除异常车位车辆信息 NET_IN_REMOVE_PARKING_CAR_INFO, NET_OUT_REMOVE_PARKING_CAR_INFO public boolean CLIENT_RemoveParkingCarInfo(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); // 电源控制,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_PowerControl(LLong lLoginID, NET_IN_WM_POWER_CTRL pInParam, NET_OUT_WM_POWER_CTRL pOutParam, int nWaitTime); // 载入/保存预案,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_LoadMonitorWallCollection(LLong lLoginID, NET_IN_WM_LOAD_COLLECTION pInParam, NET_OUT_WM_LOAD_COLLECTION pOutParam, int nWaitTime); public boolean CLIENT_SaveMonitorWallCollection(LLong lLoginID, NET_IN_WM_SAVE_COLLECTION pInParam, NET_OUT_WM_SAVE_COLLECTION pOutParam, int nWaitTime); // 获取电视墙预案,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_GetMonitorWallCollections(LLong lLoginID, NET_IN_WM_GET_COLLECTIONS pInParam, NET_OUT_WM_GET_COLLECTIONS pOutParam, int nWaitTime); // 查询/设置显示源(pstuSplitSrc内存由用户申请释放), nWindow为-1表示所有窗口 ; pstuSplitSrc 对应 NET_SPLIT_SOURCE 指针 public boolean CLIENT_GetSplitSource(LLong lLoginID, int nChannel, int nWindow, NET_SPLIT_SOURCE[] pstuSplitSrc, int nMaxCount, IntByReference pnRetCount, int nWaitTime); public boolean CLIENT_SetSplitSource(LLong lLoginID, int nChannel, int nWindow, NET_SPLIT_SOURCE pstuSplitSrc, int nSrcCount, int nWaitTime); // 设置显示源, 支持同时设置多个窗口(pInparam, pOutParam内存由用户申请释放) public boolean CLIENT_SplitSetMultiSource(LLong lLoginID, NET_IN_SPLIT_SET_MULTI_SOURCE pInParam, NET_OUT_SPLIT_SET_MULTI_SOURCE pOutParam, int nWaitTime); // 查询矩阵子卡信息(pstuCardList内存由用户申请释放) public boolean CLIENT_QueryMatrixCardInfo(LLong lLoginID, NET_MATRIX_CARD_LIST pstuCardList, int nWaitTime); // 开始查找录像文件帧信息(pInParam, pOutParam内存由用户申请释放) public boolean CLIENT_FindFrameInfo(LLong lLoginID, NET_IN_FIND_FRAMEINFO_PRAM pInParam, NET_OUT_FIND_FRAMEINFO_PRAM pOutParam, int nWaitTime); // 获取标签信息 public boolean CLIENT_FileStreamGetTags(LLong lFindHandle, NET_IN_FILE_STREAM_GET_TAGS_INFO pInParam, NET_OUT_FILE_STREAM_GET_TAGS_INFO pOutParam, int nWaitTime); // 设置标签信息 public boolean CLIENT_FileStreamSetTags(LLong lFindHandle, NET_IN_FILE_STREAM_TAGS_INFO pInParam, NET_OUT_FILE_STREAM_TAGS_INFO pOutParam, int nWaitTime); // 查询/设置分割模式(pstuSplitInfo内存由用户申请释放) public boolean CLIENT_GetSplitMode(LLong lLoginID, int nChannel, NET_SPLIT_MODE_INFO pstuSplitInfo, int nWaitTime); public boolean CLIENT_SetSplitMode(LLong lLoginID, int nChannel, NET_SPLIT_MODE_INFO pstuSplitInfo, int nWaitTime); // 开窗/关窗(pInparam, pOutParam内存由用户申请释放) public boolean CLIENT_OpenSplitWindow(LLong lLoginID, NET_IN_SPLIT_OPEN_WINDOW pInParam, NET_OUT_SPLIT_OPEN_WINDOW pOutParam, int nWaitTime); public boolean CLIENT_CloseSplitWindow(LLong lLoginID, NET_IN_SPLIT_CLOSE_WINDOW pInParam, NET_OUT_SPLIT_CLOSE_WINDOW pOutParam, int nWaitTime); // 获取当前显示的窗口信息(pInparam, pOutParam内存由用户申请释放) public boolean CLIENT_GetSplitWindowsInfo(LLong lLoginID, NET_IN_SPLIT_GET_WINDOWS pInParam, NET_OUT_SPLIT_GET_WINDOWS pOutParam, int nWaitTime); // 查询分割能力(pstuCaps内存由用户申请释放) public boolean CLIENT_GetSplitCaps(LLong lLoginID, int nChannel, NET_SPLIT_CAPS pstuCaps, int nWaitTime); // 下位矩阵切换(pInparam, pOutParam内存由用户申请释放) public boolean CLIENT_MatrixSwitch(LLong lLoginID, NET_IN_MATRIX_SWITCH pInParam, NET_OUT_MATRIX_SWITCH pOutParam, int nWaitTime); // 打开刻录会话, 返回刻录会话句柄,pstInParam与pstOutParam内存由用户申请释放 public LLong CLIENT_StartBurnSession(LLong lLoginID, NET_IN_START_BURN_SESSION pstInParam, NET_OUT_START_BURN_SESSION pstOutParam, int nWaitTime); // 关闭刻录会话 public boolean CLIENT_StopBurnSession(LLong lBurnSession); //------------有盘/无盘刻录----lBurnSession 是 CLIENT_StartBurnSession返回的句柄// // 开始刻录,pstInParam与pstOutParam内存由用户申请释放 public boolean CLIENT_StartBurn(LLong lBurnSession, NET_IN_START_BURN pstInParam, NET_OUT_START_BURN pstOutParam, int nWaitTime); // 停止刻录 public boolean CLIENT_StopBurn(LLong lBurnSession); // 暂停/恢复刻录 public boolean CLIENT_PauseBurn(LLong lBurnSession, int bPause); // 获取刻录状态 public boolean CLIENT_BurnGetState(LLong lBurnSession, NET_IN_BURN_GET_STATE pstInParam, NET_OUT_BURN_GET_STATE pstOutParam, int nWaitTime); // 监听刻录状态,pstInParam与pstOutParam内存由用户申请释放 public LLong CLIENT_AttachBurnState(LLong lLoginID, NET_IN_ATTACH_STATE pstInParam, NET_OUT_ATTACH_STATE pstOutParam, int nWaitTime); // 取消监听刻录状态,lAttachHandle是CLIENT_AttachBurnState返回值 public boolean CLIENT_DetachBurnState(LLong lAttachHandle); // 开始刻录附件上传 // 刻录上传开始 返回此次上传操作句柄, 注意以下接口不能在fAttachBurnStateCB回调函数里面调用,pstInParam与pstOutParam内存由用户申请释放 public LLong CLIENT_StartUploadFileBurned(LLong lLoginID, NET_IN_FILEBURNED_START pstInParam, NET_OUT_FILEBURNED_START pstOutParam, int nWaitTime); //上传刻录附件,lUploadHandle是CLIENT_StartUploadFileBurned返回值 public boolean CLIENT_SendFileBurned(LLong lUploadHandle); //停止刻录附件上传 // 刻录上传停止,lUploadHandle是CLIENT_StartUploadFileBurned返回值,此接口不能在fBurnFileCallBack回调函数中调用 public boolean CLIENT_StopUploadFileBurned(LLong lUploadHandle); // 下载指定的智能分析数据 - 图片, fDownLoadPosCallBack 回调 // emType 参考 EM_FILE_QUERY_TYPE public LLong CLIENT_DownloadMediaFile(LLong lLoginID, int emType, Pointer lpMediaFileInfo, String sSavedFileName, Callback cbDownLoadPos, Pointer dwUserData, Pointer reserved); // 停止下载数据 public boolean CLIENT_StopDownloadMediaFile(LLong lFileHandle); // 下发通知到设备 接口, 以emNotifyType来区分下发的通知类型, pInParam 和 pOutParam 都由用户来分配和释放, emNotifyType对应结构体 NET_EM_NOTIFY_TYPE public boolean CLIENT_SendNotifyToDev(LLong lLoginID, int emNotifyType, Pointer pInParam, Pointer pOutParam, int nWaitTime); // 查询IO状态(pState内存由用户申请释放,根据emType对应的类型找到相应的结构体,进而确定申请内存大小), emType 参考 NET_IOTYPE public boolean CLIENT_QueryIOControlState(LLong lLoginID, int emType, Pointer pState, int maxlen, IntByReference nIOCount, int waittime); // IO控制(pState内存由用户申请释放,根据emType对应的类型找到相应的结构体,进而确定申请内存大小),emType 参考 NET_IOTYPE public boolean CLIENT_IOControl(LLong lLoginID, int emType, Pointer pState, int maxlen); // 订阅监测点位信息,pInParam与pOutParam内存由用户申请释放 public LLong CLIENT_SCADAAttachInfo(LLong lLoginID, NET_IN_SCADA_ATTACH_INFO pInParam, NET_OUT_SCADA_ATTACH_INFO pOutParam, int nWaitTime); // 取消监测点位信息订阅 public boolean CLIENT_SCADADetachInfo(LLong lAttachHandle); // 创建透明串口通道,TransComType高2个字节表示串口序号,低2个字节表示串口类型,目前类型支持 0:串口(232), 1:485 // baudrate 串口的波特率,1~8分别表示1200,2400,4800,9600,19200,38400,57600,115200 // databits 串口的数据位 4~8表示4位~8位 // stopbits 串口的停止位 232串口 : 数值0 代表停止位1; 数值1 代表停止位1.5; 数值2 代表停止位2. 485串口 : 数值1 代表停止位1; 数值2 代表停止位2. // parity 串口的检验位,0:无校验,1:奇校验;2:偶校验; // cbTransCom 串口数据回调,回调出前端设备发过来的信息 // fTransComCallBack 回调 public LLong CLIENT_CreateTransComChannel(LLong lLoginID, int TransComType, int baudrate, int databits, int stopbits, int parity, Callback cbTransCom, Pointer dwUser); // 透明串口发送数据(pBuffer内存由用户申请释放) public boolean CLIENT_SendTransComData(LLong lTransComChannel, byte[] pBuffer, int dwBufSize); // 释放通明串口通道 public boolean CLIENT_DestroyTransComChannel(LLong lTransComChannel); // 查询透明串口状态(pCommState内存由用户申请释放), TransComType 低2个字节表示串口类型, 0:串口(232), 1:485口;高2个字节表示串口通道号,从0开始 public boolean CLIENT_QueryTransComParams(LLong lLoginID, int TransComType, NET_COMM_STATE pCommState, int nWaitTime); // 订阅智能分析进度(适用于视频分析源为录像文件时),pstInParam与pstOutParam内存由用户申请释放 public boolean CLIENT_AttachVideoAnalyseState(LLong lLoginID, NET_IN_ATTACH_VIDEOANALYSE_STATE pstInParam, NET_OUT_ATTACH_VIDEOANALYSE_STATE pstOutParam, int nWaittime); // 停止订阅 public boolean CLIENT_DetachVideoAnalyseState(LLong lAttachHandle); // 抓图, hPlayHandle为预览或回放句柄 public boolean CLIENT_CapturePicture(LLong hPlayHandle, String pchPicFileName); // 抓图, hPlayHandle为预览或回放句柄 public boolean CLIENT_CapturePictureEx(LLong hPlayHandle, String pchPicFileName, int eFormat); // 获取设备自检信息,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_GetSelfCheckInfo(LLong lLoginID, NET_IN_GET_SELTCHECK_INFO pInParam, NET_SELFCHECK_INFO pOutParam, int nWaitTime); // 主动注册功能,启动服务;nTimeout参数已无效 . // cbListen对象为 fServiceCallBack 子类 public LLong CLIENT_ListenServer(String ip, int port, int nTimeout, Callback cbListen, Pointer dwUserData); // 停止服务 public boolean CLIENT_StopListenServer(LLong lServerHandle); // 指定回调数据类型 实施预览(预览), 数据回调函数 cbRealData 中得到的码流类型为 emDataType 所指定的类型 public LLong CLIENT_RealPlayByDataType(LLong lLoginID, NET_IN_REALPLAY_BY_DATA_TYPE pstInParam, NET_OUT_REALPLAY_BY_DATA_TYPE pstOutParam, int dwWaitTime); // 指定回调数据格式 开始回放, 数据回调函数 fDownLoadDataCallBack 中得到的码流类型为 emDataType 所指定的类型 public LLong CLIENT_PlayBackByDataType(LLong lLoginID, NET_IN_PLAYBACK_BY_DATA_TYPE pstInParam, NET_OUT_PLAYBACK_BY_DATA_TYPE pstOutParam, int dwWaitTime); // 指定码流类型 开始下载, 下载得到的文件和数据回调函数 fDownLoadDataCallBack 中得到的码流类型均为 emDataType 所指定的类型 // NET_IN_DOWNLOAD_BY_DATA_TYPE pstInParam, NET_OUT_DOWNLOAD_BY_DATA_TYPE pstOutParam public LLong CLIENT_DownloadByDataType(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int dwWaitTime); /************************************************************************/ /* BUS订阅 */ /************************************************************************/ // 订阅Bus状态,pstuInBus与pstuOutBus内存由用户申请释放 public LLong CLIENT_AttachBusState(LLong lLoginID, NET_IN_BUS_ATTACH pstuInBus, NET_OUT_BUS_ATTACH pstuOutBus, int nWaitTime); // 停止订阅Bus状态,lAttachHandle是CLIENT_AttachBusState返回值 public boolean CLIENT_DetachBusState(LLong lAttachHandle); //订阅事件重传,pInParam内存由用户申请释放 public LLong CLIENT_AttachEventRestore(LLong lLoginID, NET_IN_ATTACH_EVENT_RESTORE pInParam, int nWaitTime); // 停止订阅事件重传,pInParam内存由用户申请释放 public boolean CLIENT_DetachEventRestore(LLong lAttachHandle); // 设置GPS温湿度订阅回调函数, fGPSTempHumidityRev public void CLIENT_SetSubcribeGPSTHCallBack(Callback OnGPSMessage, Pointer dwUser); // GPS温湿度信息订阅, bStart为BOOL类型 public boolean CLIENT_SubcribeGPSTempHumidity(LLong lLoginID, int bStart, int InterTime, Pointer Reserved); // 人脸信息记录操作函数 public boolean CLIENT_FaceInfoOpreate(LLong lLoginID, int emType, Pointer pInParam, Pointer pOutParam, int nWaitTime); // 下发人脸图片信息 public boolean CLIENT_DeliverUserFacePicture(LLong lLoginID, NET_IN_DELIVER_USER_PICTURE pInParam, NET_OUT_DELIVER_USER_PICTURE pOutParam, int nWaitTime); //开始查询人脸信息 public LLong CLIENT_StartFindFaceInfo(LLong lLoginID, NET_IN_FACEINFO_START_FIND pstIn, NET_OUT_FACEINFO_START_FIND pstOut, int nWaitTime); //获取人脸信息 public boolean CLIENT_DoFindFaceInfo(LLong lFindHandle, NET_IN_FACEINFO_DO_FIND pstIn, NET_OUT_FACEINFO_DO_FIND pstOut, int nWaitTime); //停止查询人脸信息 public boolean CLIENT_StopFindFaceInfo(LLong lFindHandle); /*********************************************************************************** * 诱导屏相关接口 * **********************************************************************************/ // 设置诱导屏配置信息接口 public boolean CLIENT_SetGuideScreenCfg(LLong lLoginID, NET_IN_SET_GUIDESCREEN_CFG pInParam, NET_OUT_SET_GUIDESCREEN_CFG pstOutPqram, int nWaitTime); // 添加一个节目信息到诱导屏 public boolean CLIENT_AddOneProgramme(LLong lLoginID, NET_IN_ADD_ONE_PROGRAMME pInParam, NET_OUT_ADD_ONE_PROGRAMME pOutParam, int nWaitTime); // 通过节目ID 修改节目 public boolean CLIENT_ModifyOneProgrammeByID(LLong lLoginID, NET_IN_MODIFY_ONE_PROGRAMME pInParam, NET_OUT_MODIFY_ONE_PROGRAMME pOutParam, int nWaitTime); // 批量删除节目信息 public boolean CLIENT_DelMultiProgrammesById(LLong lLoginID, NET_IN_DEL_PROGRAMMES pInParam, NET_OUT_DEL_PROGRAMMES pOutParam, int nWaitTime); // 增加一个即时节目计划 public boolean CLIENT_AddOneImmediProgrammePlan(LLong lLoginID, NET_IN_ADD_IMME_PROGRAMMEPLAN pInParam, NET_OUT_ADD_PROGRAMMEPLAN pOutParam, int nWaitTime); // 修改一个即时节目计划 public boolean CLIENT_ModifyOneImmediProgrammePlan(LLong lLoginID, NET_IN_MODIFY_IMME_PROGRAMMEPLAN pInParam, NET_OUT_MODIFY_IMME_PROGRAMMEPLAN pOutParam, int nWaitTime); // 增加一个定时节目计划 public boolean CLIENT_AddOneTimerProgrammePlan(LLong lLoginID, NET_IN_ADD_TIMER_PROGRAMMEPLAN pInParam, NET_OUT_ADD_PROGRAMMEPLAN pOutParam, int nWaitTime); // 修改一个定时节目计划 public boolean CLIENT_ModifyOneTimerProgrammePlan(LLong lLoginID, NET_IN_MODIFY_TIMER_PROGRAMMEPLAN pInParam, NET_OUT_MODIFY_TIMER_PROGRAMMEPLAN pOutParam, int nWaitTime); // 删除多个节目计划 public boolean CLIENT_DelMultiProgrammePlans(LLong lLoginID, NET_IN_DEL_PROGRAMMEPLANS pInParam, NET_OUT_DEL_PROGRAMMEPLANS pOutParam, int nWaitTime); // 通过诱导屏ID 获取诱导屏配置信息 public boolean CLIENT_GetOneGuideScreenCfgById(LLong lLoginID, NET_IN_GET_GUIDESCREEN_CFG_BYID pInParam, NET_OUT_GET_GUIDESCREEN_CFG_BYID pOutParam, int nWaitTime); // 获取所有诱导屏配置信息 public boolean CLIENT_GetAllGuideScreenCfg(LLong lLoginID, NET_IN_GET_ALL_GUIDESCREEN_CFG pInParam, NET_OUT_GET_ALL_GUIDESCREEN_CFG pOutParam, int nWaitTime); // 通过节目ID 获取节目信息 public boolean CLIENT_GetOneProgrammeById(LLong lLoginID, NET_IN_GET_PROGRAMME_BYID pInParam, NET_OUT_GET_PROGRAMME_BYID pOutParam, int nWaitTime); // 获取所有节目信息 public boolean CLIENT_GetAllProgrammes(LLong lLoginID, NET_IN_GET_ALL_PROGRAMMES pInParam, NET_OUT_GET_ALL_PROGRAMMES pOutParam, int nWaitTime); // 获取所有节目的简要信息 public boolean CLIENT_GetAllBrieflyProgrammes(LLong lLoginID, NET_IN_GET_ALL_BRIEFLYPROGRAMMES pInParam, NET_OUT_GET_ALL_BRIEFLYPROGRAMMES pOutParam, int nWaitTime); // 获取所有节目计划信息 public boolean CLIENT_GetAllProgrammePlans(LLong lLoginID, NET_IN_GET_ALL_PROGRAMMEPLANS pInParam, NET_OUT_GET_ALL_PROGRAMMEPLANS pOutParam, int nWaitTime); // 通过节目计划ID 获取节目计划 public boolean CLIENT_GetOneProgrammePlanByID(LLong lLoginID, NET_IN_GET_PROGRAMMEPLAN_BYID pInParam, NET_OUT_GET_PROGRAMMEPLAN_BYID pOutParam, int nWaitTime); // 设置光带状态信息 public boolean CLIENT_SetGuideScreenGDStatus(LLong lLoginID, NET_IN_SET_GD_STATUS pInParam, NET_OUT_SET_GD_STATUS pOutParam, int nWaitTime); /*********************************************************************************** * 播放盒与广告机的节目操作接口 * **********************************************************************************/ // 获取播放盒上全部节目信息 public boolean CLIENT_GetAllProgramOnPlayBox(LLong lLoginID, NET_IN_GET_ALL_PLAYBOX_PROGRAM pInParam, NET_OUT_GET_ALL_PLAYBOX_PROGRAM pOutParam, int nWaitTime); // 通过programme ID 获取播放盒上对应的节目信息 public boolean CLIENT_GetOneProgramByIdOnPlayBox(LLong lLoginID, NET_IN_GET_PLAYBOX_PROGRAM_BYID pInParam, NET_OUT_GET_PLAYBOX_PROGRAM_BYID pOutParam, int nWaitTime); // 在播放盒上添加一个节目 public boolean CLIENT_AddOneProgramToPlayBox(LLong lLoginID, NET_IN_ADD_ONE_PLAYBOX_PRAGROM pInParam, NET_OUT_ADD_ONE_PLAYBOX_PRAGROM pOutParam, int nWaitTime); // 在播放盒上修改指定ID的节目信息 public boolean CLIENT_ModifyProgramOnPlayBoxById(LLong lLoginID, NET_IN_MODIFY_PLAYBOX_PROGRAM_BYID pInParam, NET_OUT_MODIFY_PLAYBOX_PROGRAM_BYID pOutParam, int nWaitTime); // 获取配置信息(szOutBuffer内存由用户申请释放, 具体见枚举类型 NET_EM_CFG_OPERATE_TYPE 说明) public boolean CLIENT_GetConfig(LLong lLoginID, int emCfgOpType, int nChannelID, Pointer szOutBuffer, int dwOutBufferSize, int waittime, Pointer reserve); // 设置配置信息(szInBuffer内存由用户申请释放, 具体见枚举类型 NET_EM_CFG_OPERATE_TYPE 说明) public boolean CLIENT_SetConfig(LLong lLoginID, int emCfgOpType, int nChannelID, Pointer szInBuffer, int dwInBufferSize, int waittime, IntByReference restart, Pointer reserve); // 显示私有数据,例如规则框,规则框报警,移动侦测等 lPlayHandle:播放句柄 bTrue=1 打开, bTrue= 0 关闭 public boolean CLIENT_RenderPrivateData(LLong lPlayHandle, int bTrue); // 按设备信息添加显示源,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_MatrixAddCamerasByDevice(LLong lLoginID, NET_IN_ADD_LOGIC_BYDEVICE_CAMERA pInParam, NET_OUT_ADD_LOGIC_BYDEVICE_CAMERA pOutParam, int nWaitTime); // 订阅监测点位报警信息,pInParam与pOutParam内存由用户申请释放 public LLong CLIENT_SCADAAlarmAttachInfo(LLong lLoginID, NET_IN_SCADA_ALARM_ATTACH_INFO pInParam, NET_OUT_SCADA_ALARM_ATTACH_INFO pOutParam, int nWaitTime); // 取消订阅监测点位报警信息 public boolean CLIENT_SCADAAlarmDetachInfo(LLong lAttachHandle); /*********************************************************************************** * IVSS设备添加相关接口 * **********************************************************************************/ // 注册设备状态回调 public LLong CLIENT_AttachDeviceState(LLong lLoginID, NET_IN_ATTACH_DEVICE_STATE pInParam, NET_OUT_ATTACH_DEVICE_STATE pOutParam, int nWaitTime); // 注销设备状态回调 public boolean CLIENT_DetachDeviceState(LLong lAttachHandle); // 添加设备 public boolean CLIENT_AsyncAddDevice(LLong lLoginID, NET_IN_ASYNC_ADD_DEVICE pInParam, NET_OUT_ASYNC_ADD_DEVICE pOutParam, int nWaitTime); // 注册添加设备回调 public LLong CLIENT_AttachAddDevice(LLong lLoginID, NET_IN_ATTACH_ADD_DEVICE pInParam, NET_OUT_ATTACH_ADD_DEVICE pOutParam, int nWaitTime); // 注销添加设备回调 public boolean CLIENT_DetachAddDevice(LLong lAttachHandle); // 获取添加中的设备状态 public boolean CLIENT_GetAddDeviceInfo(LLong lLoginID, NET_IN_GET_ADD_DEVICE_LIST_INFO pInParam, NET_OUT_GET_ADD_DEVICE_LIST_INFO pOutParam, int nWaitTime); // 获取已添加的设备状态 public boolean CLIENT_GetDeviceInfo(LLong lLoginID, NET_IN_GET_DEVICE_LIST_INFO pInParam, NET_OUT_GET_DEVICE_LIST_INFO pOutParam, int nWaitTime); // 设置连接通道 public boolean CLIENT_SetConnectChannel(LLong lLoginID, NET_IN_SET_CONNECT_CHANNEL pInParam, NET_OUT_SET_CONNECT_CHANNEL pOutParam, int nWaitTime); // 获取设备通道信息 public boolean CLIENT_GetChannelInfo(LLong lLoginID, NET_IN_GET_CHANNEL_INFO pInParam, NET_OUT_GET_CHANNEL_INFO pOutParam, int nWaitTime); // 删除设备 public boolean CLIENT_RemoveDevice(LLong lLoginID, NET_IN_REMOVE_DEVICE pInParam, NET_OUT_REMOVE_DEVICE pOutParam, int nWaitTime); // 中止添加设备任务 public boolean CLIENT_CancelAddDeviceTask(LLong lLoginID, NET_IN_CANCEL_ADD_TASK pInParam, NET_OUT_CANCEL_ADD_TASK pOutParam, int nWaitTime); // 确认添加设备任务 public boolean CLIENT_ConfirmAddDeviceTask(LLong lLoginID, NET_IN_CONFIRM_ADD_TASK pInParam, NET_OUT_CONFIRM_ADD_TASK pOutParam, int nWaitTime); // 球机,地磁车位同步上报车位信息,如有车停入、或车从车位开出 public boolean CLIENT_SyncParkingInfo(LLong lLoginID, NET_IN_SYNC_PARKING_INFO pInParam, NET_OUT_SYNC_PARKING_INFO pOutParam, int nWaitTime); // 初始化账户 public boolean CLIENT_InitDevAccount(NET_IN_INIT_DEVICE_ACCOUNT pInitAccountIn, NET_OUT_INIT_DEVICE_ACCOUNT pInitAccountOut, int dwWaitTime, String szLocalIp); // 根据设备IP初始化账户 public boolean CLIENT_InitDevAccountByIP(NET_IN_INIT_DEVICE_ACCOUNT pInitAccountIn, NET_OUT_INIT_DEVICE_ACCOUNT pInitAccountOut, int dwWaitTime, String szLocalIp, String szDeviceIP); public boolean CLIENT_ModifyDevice(DEVICE_NET_INFO_EX pDevNetInfo, int nWaitTime, IntByReference iError, String szLocalIp); /** * 门禁控制器操作接口 * @param lLoginID 登录句柄 * @param emtype 门禁控制器操作类型, 对应 枚举{@link NET_EM_ACCESS_CTL_MANAGER} * @param pstInParam 入参, 根据 emtype 来填 * @param pstOutParam 出参, 根据 emtype 来填 * @param nWaitTime 超时等待时间 * @return true:成功 false:失败 */ public boolean CLIENT_OperateAccessControlManager(LLong lLoginID, int emtype, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 设置安全密钥(播放加密码流使用) * @param lPlayHandle 拉流句柄 * @param szKey 密钥 * @param nKeyLen 密钥的长度 * @return true:成功 false:失败 */ public boolean CLIENT_SetSecurityKey(LLong lPlayHandle, String szKey, int nKeyLen); /*********************************************************************************** * 考勤机相关接口 * **********************************************************************************/ //考勤新增加用户 public boolean CLIENT_Attendance_AddUser(LLong lLoginID, NET_IN_ATTENDANCE_ADDUSER pstuInAddUser, NET_OUT_ATTENDANCE_ADDUSER pstuOutAddUser, int nWaitTime); //考勤删除用户 public boolean CLIENT_Attendance_DelUser(LLong lLoginID, NET_IN_ATTENDANCE_DELUSER pstuInDelUser, NET_OUT_ATTENDANCE_DELUSER pstuOutDelUser, int nWaitTime); //考勤修改用户信息 public boolean CLIENT_Attendance_ModifyUser(LLong lLoginID, NET_IN_ATTENDANCE_ModifyUSER pstuInModifyUser, NET_OUT_ATTENDANCE_ModifyUSER pstuOutModifyUser, int nWaitTime); //考勤获取用户信息 public boolean CLIENT_Attendance_GetUser(LLong lLoginID, NET_IN_ATTENDANCE_GetUSER pstuInGetUser, NET_OUT_ATTENDANCE_GetUSER pstuOutGetUser, int nWaitTime); //考勤机 通过用户ID插入信息数据 public boolean CLIENT_Attendance_InsertFingerByUserID(LLong lLoginID, NET_IN_FINGERPRINT_INSERT_BY_USERID pstuInInsert, NET_OUT_FINGERPRINT_INSERT_BY_USERID pstuOutInsert, int nWaitTime); //考勤机 删除单个用户下所有信息数据 public boolean CLIENT_Attendance_RemoveFingerByUserID(LLong lLoginID, NET_CTRL_IN_FINGERPRINT_REMOVE_BY_USERID pstuInRemove, NET_CTRL_OUT_FINGERPRINT_REMOVE_BY_USERID pstuOutRemove, int nWaitTime); //考勤机 通过信息ID获取信息数据 public boolean CLIENT_Attendance_GetFingerRecord(LLong lLoginID, NET_CTRL_IN_FINGERPRINT_GET pstuInGet, NET_CTRL_OUT_FINGERPRINT_GET pstuOutGet, int nWaitTime); //考勤机 通过信息ID删除信息数据 public boolean CLIENT_Attendance_RemoveFingerRecord(LLong lLoginID, NET_CTRL_IN_FINGERPRINT_REMOVE pstuInRemove, NET_CTRL_OUT_FINGERPRINT_REMOVE pstuOutRemove, int nWaitTime); //考勤机 查找用户 public boolean CLIENT_Attendance_FindUser(LLong lLoginID, NET_IN_ATTENDANCE_FINDUSER pstuInFindUser, NET_OUT_ATTENDANCE_FINDUSER pstuOutFindUser, int nWaitTime); //考勤机 通过用户ID查找该用户下的所有信息数据 public boolean CLIENT_Attendance_GetFingerByUserID(LLong lLoginID, NET_IN_FINGERPRINT_GETBYUSER pstuIn, NET_OUT_FINGERPRINT_GETBYUSER pstuOut, int nWaitTime); //获取考勤机在线状态 public boolean CLIENT_Attendance_GetDevState(LLong lLoginID, NET_IN_ATTENDANCE_GETDEVSTATE pstuInParam, NET_OUT_ATTENDANCE_GETDEVSTATE pstuOutParam, int nWaitTime); /********************************************************************************************************* * 视频诊断功能接口 * * * 视频诊断参数表配置 CFG_CMD_VIDEODIAGNOSIS_PROFILE * * 视频诊断任务表配置 CFG_CMD_VIDEODIAGNOSIS_TASK_ONE * * 视频诊断计划表配置 CFG_CMD_VIDEODIAGNOSIS_PROJECT * * 删除任务接口 CLIENT_DeleteDevConfig * * 获取成员配置接口 CLIENT_GetMemberNames 对应命令 CFG_CMD_VIDEODIAGNOSIS_TASK * * 获取诊断状态 CLIENT_QueryNewSystemInfo CFG_CMD_VIDEODIAGNOSIS_GETSTATE * *********************************************************************************************************/ // 实时获取视频诊断结果,pstInParam与pstOutParam内存由用户申请释放 public boolean CLIENT_StartVideoDiagnosis(LLong lLoginID, NET_IN_VIDEODIAGNOSIS pstInParam, NET_OUT_VIDEODIAGNOSIS pstOutParam); // 停止视频诊断结果上报 public boolean CLIENT_StopVideoDiagnosis(LLong hDiagnosisHandle); // 开始视频诊断结果查询,pstInParam与pstOutParam内存由用户申请释放 public boolean CLIENT_StartFindDiagnosisResult(LLong lLoginID, NET_IN_FIND_DIAGNOSIS pstInParam, NET_OUT_FIND_DIAGNOSIS pstOutParam); // 获取视频诊断结果信息,pstInParam与pstOutParam内存由用户申请释放 public boolean CLIENT_DoFindDiagnosisResult(LLong hFindHandle, NET_IN_DIAGNOSIS_INFO pstInParam, NET_OUT_DIAGNOSIS_INFO pstOutParam); // 结束视频诊断结果查询 public boolean CLIENT_StopFindDiagnosis(LLong hFindHandle); // 获取视频诊断进行状态 public boolean CLIENT_GetVideoDiagnosisState(LLong lLoginID, NET_IN_GET_VIDEODIAGNOSIS_STATE pstInParam, NET_OUT_GET_VIDEODIAGNOSIS_STATE pstOutParam, int nWaitTime); /******************************************************************************************** * 热成像 * ********************************************************************************************/ // 订阅温度分布数据(热图),pInParam与pOutParam内存由用户申请释放 public LLong CLIENT_RadiometryAttach(LLong lLoginID, NET_IN_RADIOMETRY_ATTACH pInParam, NET_OUT_RADIOMETRY_ATTACH pOutParam, int nWaitTime); // 取消订阅温度分布数据,lAttachHandle是 CLIENT_RadiometryAttach 的返回值 public boolean CLIENT_RadiometryDetach(LLong lAttachHandle); // 通知开始获取热图数据,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_RadiometryFetch(LLong lLoginID, NET_IN_RADIOMETRY_FETCH pInParam, NET_OUT_RADIOMETRY_FETCH pOutParam, int nWaitTime); // 热图数据解压与转换接口 /// \brief /// \param pRadiometryData [IN] 热图数据, 由 fRadiometryAttachCB 获得 /// \param pGrayImg [IN, OUT] 解压后的数据,是一张灰度图, /// 传空指针表示不需要此数据 /// 用户需保证传入的缓冲区足够大(不小于 图像像素数*sizeof(unsigned short)) /// 每个像素对应一个 unsigned short 型数据,表示图像某个像素的热成像灰度(范围 0 ~ 16383), /// 低地址对应画面左上角,高地址对应画面右下角 /// \param pTempForPixels [IN, OUT] 每个像素的温度数据 /// 传空指针表示不需要此数据 /// 用户需保证传入的缓冲区足够大(不小于 图像像素数*sizeof(float)) /// 每个像素对应一个 float 型数据,表示该像素位置的摄氏温度 /// 低地址对应画面左上角,高地址对应画面右下角 /// \return TRUE 成功,FALSE 失败 public boolean CLIENT_RadiometryDataParse(NET_RADIOMETRY_DATA pRadiometryData, short[] pGrayImg, float[] pTempForPixels); // 开始查询信息(获取查询句柄)(pInBuf, pOutBuf内存由用户申请释放,根据emType对应的类型找到相应的结构体,进而确定申请内存大小) public boolean CLIENT_StartFind(LLong lLoginID, int emType, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); // 查询信息(pInBuf, pOutBuf内存由用户申请释放,根据emType对应的类型找到相应的结构体,进而确定申请内存大小 public boolean CLIENT_DoFind(LLong lLoginID, int emType, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); // 停止查询信息(销毁查询句柄)(pInBuf, pOutBuf内存由用户申请释放,根据emType对应的类型找到相应的结构体,进而确定申请内存大小) public boolean CLIENT_StopFind(LLong lLoginID, int emType, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); // 智能锁添加更新用户信息接口 public boolean CLIENT_UpdateSmartLockUser(LLong lLoginID, NET_IN_SMARTLOCK_UPDATE_USER_INFO pstInParam, NET_OUT_SMARTLOCK_UPDATE_USER_INFO pstOutParam, int nWaitTime); // 获取当前智能锁的注册用户信息 public boolean CLIENT_GetSmartLockRegisterInfo(LLong lLoginID, NET_IN_GET_SMART_LOCK_REGISTER_INFO pstInParam, NET_OUT_GET_SMART_LOCK_REGISTER_INFO pstOutParam, int nWaitTime); // 智能锁修改用户信息 public boolean CLIENT_SetSmartLockUsername(LLong lLoginID, NET_IN_SET_SMART_LOCK_USERNAME pstInParam, NET_OUT_SET_SMART_LOCK_USERNAME pstOutParam, int nWaitTime); // 智能锁删除用户接口 public boolean CLIENT_RemoveSmartLockUser(LLong lLoginID, NET_IN_SMARTLOCK_REMOVE_USER_INFO pstInParam, NET_OUT_SMARTLOCK_REMOVE_USER_INFO pstOutParam, int nWaitTime); // 字符串加密接口 (pInParam, pOutParam内存由用户申请释放) 接口 public boolean CLIENT_EncryptString(NET_IN_ENCRYPT_STRING pInParam, NET_OUT_ENCRYPT_STRING pOutParam, int nWaitTime); /************************************************************************************************************* * 门禁用户、卡、人脸、信息操作新接口 * 1、添加一个用户 * 2、根据用户ID可以来添加多张卡、多张人脸、多个信息 *************************************************************************************************************/ /** * 门禁人员信息管理接口 * @param emtype 对应 {@link NET_EM_ACCESS_CTL_USER_SERVICE} */ public boolean CLIENT_OperateAccessUserService(LLong lLoginID, int emtype, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); // 开始查询人员信息 public LLong CLIENT_StartFindUserInfo(LLong lLoginID, NET_IN_USERINFO_START_FIND pstIn, NET_OUT_USERINFO_START_FIND pstOut, int nWaitTime); // 获取人员信息 ,lFindHandle 为 CLIENT_StartFindUserInfo 接口返回值 public boolean CLIENT_DoFindUserInfo(LLong lFindHandle, NET_IN_USERINFO_DO_FIND pstIn, NET_OUT_USERINFO_DO_FIND pstOut, int nWaitTime); // 停止查询人员信息 ,lFindHandle 为 CLIENT_StartFindUserInfo 接口返回值 public boolean CLIENT_StopFindUserInfo(LLong lFindHandle); /** * 门禁卡片信息管理接口 * @param emtype 对应 {@link NET_EM_ACCESS_CTL_CARD_SERVICE} */ public boolean CLIENT_OperateAccessCardService(LLong lLoginID, int emtype, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); // 开始查询卡片信息 public LLong CLIENT_StartFindCardInfo(LLong lLoginID, NET_IN_CARDINFO_START_FIND pstIn, NET_OUT_CARDINFO_START_FIND pstOut, int nWaitTime); // 获取卡片信息,lFindHandle 为CLIENT_StartFindCardInfo接口返回值 public boolean CLIENT_DoFindCardInfo(LLong lFindHandle, NET_IN_CARDINFO_DO_FIND pstIn, NET_OUT_CARDINFO_DO_FIND pstOut, int nWaitTime); // 停止查询卡片信息,lFindHandle 为CLIENT_StartFindCardInfo接口返回值 public boolean CLIENT_StopFindCardInfo(LLong lFindHandle); /** * 门禁人脸信息管理接口 * @param emtype 对应 {@link NET_EM_ACCESS_CTL_FACE_SERVICE} */ public boolean CLIENT_OperateAccessFaceService(LLong lLoginID, int emtype, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 信息信息管理接口 * @param emtype 对应 {@link NET_EM_ACCESS_CTL_FINGERPRINT_SERVICE} */ public boolean CLIENT_OperateAccessFingerprintService(LLong lLoginID, int emtype, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); // 开始升级 public LLong CLIENT_StartUpgradeEx(LLong lLoginID, int emtype, String pchFileName, Callback cbUpgrade, Pointer dwUser); // 发送数据 public boolean CLIENT_SendUpgrade(LLong lUpgradeID); // 结束升级设备程序 public boolean CLIENT_StopUpgrade(LLong lUpgradeID); // 查询产品定义 public boolean CLIENT_QueryProductionDefinition(LLong lLoginID, NET_PRODUCTION_DEFNITION pstuProdDef, int nWaitTime); // 录播主机窗口最大个数 public static final int NET_MAX_WINDOWS_NUMBER = 64; // 录播主机模式最大个数 public static final int NET_MAX_MODE_NUMBER = 64; /** * 录播主机相关 添加新的课程记录 * NET_IN_ADD_COURSE *pstInParam, NET_OUT_ADD_COURSE *pstOutParam */ public boolean CLIENT_AddCourse(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 录播主机相关 修改课程 * NET_IN_MODIFY_COURSE *pstInParam, NET_OUT_MODIFY_COURSE *pstOutParam */ public boolean CLIENT_ModifyCourse(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 录播主机相关 删除课程 * NET_IN_DELETE_COURSE *pstInParam, NET_OUT_DELETE_COURSE *pstOutParam */ public boolean CLIENT_DeleteCourse(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 开始查询课程 * NET_IN_QUERY_COURSE_OPEN *pstInParam, NET_OUT_QUERY_COURSE_OPEN *pstOutParam */ public boolean CLIENT_QueryCourseOpen(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 查询课程 * NET_IN_QUERY_COURSE *pstInParam, NET_OUT_QUERY_COURSE *pstOutParam */ public boolean CLIENT_QueryCourse(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 结束查询课程 * NET_IN_QUERY_COURSE_CLOSE *pstInParam, NET_OUT_QUERY_COURSE_CLOSE *pstOutParam */ public boolean CLIENT_QueryCourseClose(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 获取真实预览通道号,pInBuf与pOutBuf内存由用户申请释放 * NET_IN_GET_REAL_PREVIEW_CHANNEL* pInBuf, NET_OUT_GET_REAL_PREVIEW_CHANNEL* pOutBuf */ public boolean CLIENT_GetRealPreviewChannel(LLong lLoginID, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 录播主机组合通道模式操作 emOperateType NET_COURSECOMPOSITE_MODE_OPERATE_TYPE * * NET_COURSECOMPOSITE_MODE_OPERATE_TYPE { * * NET_COURSECOMPOSITE_MODE_ADD, // 添加模式,对应结构体 * // pInParam = NET_IN_COURSECOMPOSITE_CHANNEL_MODE_ADD, * // pOutParam = NET_OUT_COURSECOMPOSITE_CHANNEL_MODE_ADD * NET_COURSECOMPOSITE_MODE_DELETE, // 删除模式,对应结构体 * // pInParam = NET_IN_COURSECOMPOSITE_CHANNEL_MODE_DELETE, * // pOutParam = NET_OUT_COURSECOMPOSITE_CHANNEL_MODE_DELETE * NET_COURSECOMPOSITE_MODE_MODIFY, // 修改模式,对应结构体 * // pInParam = NET_IN_COURSECOMPOSITE_CHANNEL_MODE_MODIFY, * // pOutParam = NET_OUT_COURSECOMPOSITE_CHANNEL_MODE_MODIFY * NET_COURSECOMPOSITE_MODE_GET, // 获取模式,对应结构体 * // pInParam = NET_IN_COURSECOMPOSITE_CHANNEL_MODE_GET, * // pOutParam = NET_OUT_COURSECOMPOSITE_CHANNEL_MODE_GET * } */ public boolean CLIENT_OperateCourseCompositeChannelMode(LLong lLoginID, int emOperateType, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 获取录播主机默认真实通道号,pInBuf与pOutBuf内存由用户申请释放 * NET_IN_GET_DEFAULT_REAL_CHANNEL* pInBuf, NET_OUT_GET_DEFAULT_REAL_CHANNEL* pOutBuf */ public boolean CLIENT_GetDefaultRealChannel(LLong lLoginID, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 获取录播主机逻辑通道号,pInBuf与pOutBuf内存由用户申请释放 * NET_IN_GET_COURSE_LOGIC_CHANNEL* pInBuf,NET_OUT_GET_COURSE_LOGIC_CHANNEL* pOutBuf */ public boolean CLIENT_GetLogicChannel(LLong lLoginID, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 设置逻辑通道号和真实通道号的绑定关系,pInBuf与pOutBuf内存由用户申请释放 * NET_IN_SET_BLIND_REAL_CHANNEL* pInBuf,NET_OUT_SET_BLIND_REAL_CHANNEL* pOutBuf */ public boolean CLIENT_SetBlindRealChannel(LLong lLoginID, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 设置课程录像模式,pInBuf与pOutBuf内存由用户申请释放 * NET_IN_SET_COURSE_RECORD_MODE* pInBuf, NET_OUT_SET_COURSE_RECORD_MODE* pOutBuf */ public boolean CLIENT_SetCourseRecordMode(LLong lLoginID, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 获取课程录像模式,pInBuf与pOutBuf内存由用户申请释放 * NET_IN_GET_COURSE_RECORD_MODE* pInBuf, NET_OUT_GET_COURSE_RECORD_MODE* pOutBuf */ public boolean CLIENT_GetCourseRecordMode(LLong lLoginID, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 获取录播主机通道输入媒体介质,pInBuf与pOutBuf内存由用户申请释放 * NET_IN_GET_INPUT_CHANNEL_MEDIA* pInBuf,NET_OUT_GET_INPUT_CHANNEL_MEDIA* pOutBuf */ public boolean CLIENT_GetInputChannelMedia(LLong lLoginID, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 开启/关闭指定通道录像 * NET_IN_SET_COURSE_RECORD_STATE *pInBuf, NET_OUT_SET_COURSE_RECORD_STATE *pOutBuf */ public boolean CLIENT_SetCourseRecordState(LLong lLoginID, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 开始查询课程视频信息,pInBuf与pOutBuf内存由用户申请释放 * NET_IN_QUERY_COURSEMEDIA_FILEOPEN *pInBuf, NET_OUT_QUERY_COURSEMEDIA_FILEOPEN *pOutBuf */ public boolean CLIENT_OpenQueryCourseMediaFile(LLong lLoginID, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 查询课程视频信息,pInBuf与pOutBuf内存由用户申请释放 * NET_IN_QUERY_COURSEMEDIA_FILE *pInBuf, NET_OUT_QUERY_COURSEMEDIA_FILE *pOutBuf */ public boolean CLIENT_DoQueryCourseMediaFile(LLong lLoginID, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 关闭课程视频查询,pInBuf与pOutBuf内存由用户申请释放 * NET_IN_QUERY_COURSEMEDIA_FILECLOSE *pInBuf, NET_OUT_QUERY_COURSEMEDIA_FILECLOSE *pOutBuf */ public boolean CLIENT_CloseQueryCourseMediaFile(LLong lLoginID, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); public static final int MAX_COURSE_LOGIC_CHANNEL = 64; // 录播主机最大逻辑通道数 /** * 录播主机录像信息操作接口 EM_COURSERECORD_OPERATE_TYPE emOperateType * { * EM_COURSERECORDE_TYPE_GET_INFO, //获取教室录像信息,对应结构体 * pInParam = NET_IN_COURSERECORD_GETINFO,pOutParam = NET_OUT_COURSERECORD_GETINFO * EM_COURSERECORDE_TYPE_SET_INFO, //设置教室录像信息,对应结构体 * pInParam = NET_IN_COURSERECORD_SETINFO,pOutParam = NET_OUT_COURSERECORD_SETINFO * EM_COURSERECORDE_TYPE_UPDATE_INFO, //将录像信息更新到time时的信息,对应结构体 * pInParam = NET_IN_COURSERECORD_UPDATE_INFO, pOutParam = NET_OUT_COURSERECORD_UPDATE_INFO * EM_COURSERECORDE_TYPE_GET_TIME, //获取当前课程教室已录制时间,对应结构体 * pInParam = NET_IN_COURSERECORD_GET_TIME, pOutParam = NET_OUT_COURSERECORD_GET_TIME * } */ public boolean CLIENT_OperateCourseRecordManager(LLong lLoginID, int emOperateType, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 录播主机组合通道操作 EM_COURSECOMPOSITE_OPERATE_TYPE * { * EM_COURSECOMPOSITE_TYPE_LOCK_CONTROL, //控制组合通道与逻辑通道,对应结构体 * pInParam = NET_IN_COURSECOMPOSITE_LOCK_CONTROL,pOutParam = NET_OUT_COURSECOMPOSITE_LOCK_CONTROL * EM_COURSECOMPOSITE_TYPE_GET_LOCKINFO, //获取组合通道与逻辑通道的锁定信息,对应结构体 * pInParam = NET_IN_COURSECOMPOSITE_GET_LOCKINFO,pOutParam = NET_OUT_COURSECOMPOSITE_GET_LOCKINFO * EM_COURSECOMPOSITE_TYPE_GET_INFO, //获取组合通道信息,对应结构体 * pInParam = NET_IN_COURSECOMPOSITE_GET_INFO,pOutParam = NET_OUT_COURSECOMPOSITE_GET_INFO * EM_COURSECOMPOSITE_TYPE_SET_INFO, //设置组合通道信息,对应结构体 * pInParam = NET_IN_COURSECOMPOSITE_SET_INFO,pOutParam = NET_OUT_COURSECOMPOSITE_SET_INFO * EM_COURSECOMPOSITE_TYPE_UPDATE_INFO, //将组合通道信息更新到time时的信息,对应结构体 * pInParam = NET_IN_COURSECOMPOSITE_UPDATE_INFO, pOutParam = NET_OUT_COURSECOMPOSITE_UPDATE_INFO * } */ public boolean CLIENT_OperateCourseCompositeChannel(LLong lLoginID, int emOperateType, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 获取录像状态 * NET_IN_GET_RECORD_STATE *pInParam, NET_OUT_GET_RECORD_STATE *pOutParam */ public boolean CLIENT_GetRecordState(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 电视墙操作 * NET_MONITORWALL_OPERATE_TYPE emType, void* pInParam, void* pOutParam */ public boolean CLIENT_OperateMonitorWall(LLong lLoginID, int emType, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 分页获取信息标注信息列表 * NET_IN_SCENICSPOT_GETPOINTINFOS_INFO *pInstuParam, NET_OUT_SCENICSPOT_GETPOINTINFOS_INFO *pstuOutParam */ public boolean CLIENT_ScenicSpotGetPointInfos(LLong lLoginID, Pointer pInstuParam, Pointer pstuOutParam, int nWaitTime); /** * 设置景物点,原编号的景物点将会被覆盖 * NET_IN_SCENICSPOT_SETPOINTINFO_INFO *pInstuParam, NET_OUT_SCENICSPOT_SETPOINTINFO_INFO *pstuOutParam */ public boolean CLIENT_ScenicSpotSetPointInfo(LLong lLoginID, Pointer pInstuParam, Pointer pstuOutParam, int nWaitTime); /** * 获取景物点支持的能力 * NET_IN_SCENICSPOT_GETCAPS_INFO *pInstuParam, NET_OUT_SCENICSPOT_GETCAPS_INFO *pstuOutParam */ public boolean CLIENT_ScenicSpotGetCaps(LLong lLoginID, Pointer pInstuParam, Pointer pstuOutParam, int nWaitTime); /** * 以景物标注点为中心,进行三维定位(倍率不变) * NET_IN_SCENICSPOT_TURNTOPOINT_INFO *pInParam, NET_OUT_SCENICSPOT_TURNTOPOINT_INFO *pOutParam */ public boolean CLIENT_ScenicSpotTurnToPoint(LLong lLoginID, Pointer pInstuParam, Pointer pstuOutParam, int nWaitTime); /////////////////////////////////////////新增接口 /////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// /** * 设置停车车位状态 * NET_IN_SET_PARKINGSPACE_STATE_INFO *pInParam, NET_OUT_SET_PARKINGSPACE_STATE_INFO *pOutParam */ public boolean CLIENT_SetParkingSpaceState(LLong lLoginID, Pointer pstInParm, Pointer pstOutParam, int nWaitTime); /** * 修改停车记录信息 * NET_IN_MODIFY_PARKINGRECORD_INFO *pInParam, NET_OUT_MODIFY_PARKINGRECORD_INFO *pOutParam */ public boolean CLIENT_ModifyParkingRecord(LLong lLoginID, Pointer pstInParm, Pointer pstOutParam, int nWaitTime); /** * 按照事件类型抓图(配合CLIENT_RealLoadPic()、CLIENT_RealLoadPicEx()接口使用, 按照手动抓拍模式(Manual)订阅,图片通过回调给用户)(pInParam, pOutParam内存由用户申请释放) * NET_IN_SNAP_BY_EVENT *pInParam, NET_OUT_SNAP_BY_EVENT *pOutParam */ public boolean CLIENT_SnapPictureByEvent(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); public static class NET_IN_SET_MARK_FILE_BY_TIME extends SdkStructure { public int dwSize; public int nChannel; //需要锁定的通道号,从0开始,元素为-1时,表示全通道。 public NET_TIME_EX stuStartTime; //开始时间 public NET_TIME_EX stuEndTime; //结束时间 public int bFlag; // 标记动作 true : 标记, false : 清除 public int bLockTimeFlag; //nLockTime字段标志位, 为 TRUE 时使用nLockTime public int nLockTime; //锁定时长,以加锁时间为起点 ,单位为小时 public NET_IN_SET_MARK_FILE_BY_TIME() { this.dwSize = this.size(); } } public static class NET_OUT_SET_MARK_FILE_BY_TIME extends SdkStructure { public int dwSize; public NET_OUT_SET_MARK_FILE_BY_TIME() { this.dwSize = this.size(); } } // 按时间标记录像 public boolean CLIENT_SetMarkFileByTime(LLong lUpgradeID, NET_IN_SET_MARK_FILE_BY_TIME pInParam, NET_OUT_SET_MARK_FILE_BY_TIME pOutParam, int nWaitTime); public static class NET_IN_SET_MARK_FILE extends SdkStructure { public int dwSize; public int emLockMode; // 录像加锁方式,详见EM_MARKFILE_MODE public int emFileNameMadeType; // 文件名产生的方式,详见EM_MARKFILE_NAMEMADE_TYPE public int nChannelID; // 通道号 public byte[] szFilename = new byte[MAX_PATH]; // 文件名 public int nFramenum; // 文件总帧数 public int nSize; // 文件长度 public NET_TIME stuStartTime; // 开始时间 public NET_TIME stuEndTime; // 结束时间 public int nDriveNo; // 磁盘号(区分网络录像和本地录像的类型,0-127表示本地录像,其中64表示光盘1,128表示网络录像) public int nStartCluster; // 起始簇号 public byte byRecordFileType; // 录象文件类型 0:普通录象;1:报警录象;2:移动检测;3:卡号录象;4:图片, 5: 智能录像 public byte byImportantRecID; // 0:普通录像 1:重要录像 public byte byHint; // 文件定位索引(nRecordFileType==4<图片>时,bImportantRecID<<8 +bHint ,组成图片定位索引 ) public byte byRecType; // 0-主码流录像 1-辅码流1录像 2-辅码流2录像 3-辅码流3录像 public int nLockTime; // 锁定时长,以加锁时间为起点,单位为小时 public NET_IN_SET_MARK_FILE() { this.dwSize = this.size(); } } // 录像加锁方式 public static class EM_MARKFILE_MODE extends SdkStructure { public static final int EM_MARK_FILE_BY_TIME_MODE = 0; // 通过时间方式对录像加锁 public static final int EM_MARK_FILE_BY_NAME_MODE = 1; // 通过文件名方式对录像加锁 } // 文件名产生的方式 public static class EM_MARKFILE_NAMEMADE_TYPE extends SdkStructure { public static final int EM_MARKFILE_NAMEMADE_DEFAULT = 0; // 默认方式:需要用户传递录像文件名参数szFilename public static final int EM_MARKFILE_NAMEMADE_JOINT = 1; // 拼接文件名方式:用户传递磁盘号(nDriveNo)、起始簇号(nStartCluster),不需要传递录像文件名 } public static class NET_OUT_SET_MARK_FILE extends SdkStructure { public int dwSize; public NET_OUT_SET_MARK_FILE() { this.dwSize = this.size(); } } // 按文件标记录像 public boolean CLIENT_SetMarkFile(LLong lLoginID, NET_IN_SET_MARK_FILE pInParam, NET_OUT_SET_MARK_FILE pOutParam, int nWaitTime); public static class NET_IN_DEV_GPS_INFO extends SdkStructure { public int dwSize; // 该结构体大小 public int nChannel; public NET_IN_DEV_GPS_INFO() { this.dwSize =this.size(); } } public static class NET_OUT_DEV_GPS_INFO extends SdkStructure { public int dwSize; // 该结构体大小 public NET_TIME stuLocalTime; // 当前时间 public double dbLongitude; // 经度(单位是百万分之度,范围0-360度) public double dbLatitude; // 纬度(单位是百万分之度,范围0-180度) public double dbAltitude; // 高度(单位:米) public double dbSpeed; // 速度(单位:km/H) public double dbBearing; // 方向角(单位:度) public int emAntennasStatus; // 天线状态(0:坏 1:好) public int emPositioningResult; // 定位状态(0:不定位 1:定位) public int dwSatelliteCount; // 卫星个数 public int emworkStatus; // 工作状态 public int nAlarmCount; // 报警个数 public int[] nAlarmState = new int[128]; // 发生的报警位置,值可能多个 public float fHDOP; // 水平精度因子 public NET_OUT_DEV_GPS_INFO() { this.dwSize = this.size(); } } // 实时抽帧配置,EVS public static class CFG_BACKUP_LIVE_INFO extends SdkStructure { public int bEnable; // 是否启动抽帧 public int nBackupRate; // 抽帧备份比率,如为0表示只保留I帧,其它情况下表示保留I帧以及紧邻其后的若干P帧 // 单位:百分比 // 如果GOP为50,20表示保留50*20%=10帧数据(即1个I帧和9个P帧)。如果计算结果带小数,则取整 public CFG_TIME_SECTION stuTimeSection; // 抽帧时间段 } ; // 定时录像配置信息 public static class CFG_RECORD_INFO extends SdkStructure { public int nChannelID; // 通道号(0开始) public TIME_SECTION_WEEK_DAY_6[] stuTimeSection = (TIME_SECTION_WEEK_DAY_6[])new TIME_SECTION_WEEK_DAY_6().toArray(WEEK_DAY_NUM); // 时间表 public int nPreRecTime; // 预录时间,为零时表示关闭(0~300) public int bRedundancyEn; // 录像冗余开关 public int nStreamType; // 0-主码流,1-辅码流1,2-辅码流2,3-辅码流3 public int nProtocolVer; // 协议版本号, 只读 public int abHolidaySchedule; // 为true时有假日配置信息,bHolidayEn、stuHolTimeSection才有效; public int bHolidayEn; // 假日录像使能TRUE:使能,FALSE:未使能 public TIME_SECTION_WEEK_DAY_6 stuHolTimeSection; // 假日录像时间表 public int nBackupLiveNum; // 实时抽帧配置个数 public CFG_BACKUP_LIVE_INFO[] stuBackupLiveInfo=(CFG_BACKUP_LIVE_INFO[]) new CFG_BACKUP_LIVE_INFO().toArray(8); // 实时抽帧配置,EVS public int bSaveVideo; // 是否录制视频帧 public int bSaveAudio; // 录像时是否保存音频数据 } //获取云升级信息入参 public static class NET_IN_UPGRADER_GETSERIAL extends SdkStructure { public int dwSize; // 此结构体大小 public NET_IN_UPGRADER_GETSERIAL() { this.dwSize = this.size(); } } //云升级信息 public static class NET_UPGRADER_SERIAL_INO extends SdkStructure { public int emVendor; // 厂商,详见ENUM_VENDOR_TYPE public int emStandard; // 视频制式, 详见ENUM_STANDARD_TYPE public NET_TIME_EX stuBuild; // 发布日期 public byte[] szChip = new byte[NET_COMMON_STRING_16]; // 可升级的程序名 public byte[] szSerial = new byte[NET_COMMON_STRING_256]; // 内部型号 public byte[] szLanguage = new byte[NET_COMMON_STRING_128]; // 语言 public byte[] szSn = new byte[NET_COMMON_STRING_64]; // 序列号 public byte[] szSWVersion = new byte[NET_COMMON_STRING_64]; // 软件版本 public byte[] szTag = new byte[NET_COMMON_STRING_256]; // 自定义标记 public byte[] szTag2 = new byte[NET_COMMON_STRING_256]; // 自定义标记2 public byte[] reserved = new byte[1024]; } public static final int MAX_UPGRADER_SERIAL_INFO = 8; //获取云升级信息出参 public static class NET_OUT_UPGRADER_GETSERIAL extends SdkStructure { public int dwSize; // 此结构体大小 public NET_UPGRADER_SERIAL_INO[] stuSerialInfo = new NET_UPGRADER_SERIAL_INO[MAX_UPGRADER_SERIAL_INFO]; // 云升级信息 public int nRetNum; // 返回个数 public NET_OUT_UPGRADER_GETSERIAL() { this.dwSize = this.size(); for (int i = 0; i < stuSerialInfo.length; ++i) { stuSerialInfo[i] = new NET_UPGRADER_SERIAL_INO(); } } } //从设备获取信息,用于向DH云确认是否有升级包 public boolean CLIENT_GetUpdateSerial(LLong lLoginID, NET_IN_UPGRADER_GETSERIAL pstuInGetSerial, NET_OUT_UPGRADER_GETSERIAL pstuOutGetSerial, int nWaitTime); // 云升级软件检查入参 public static class NET_IN_CLOUD_UPGRADER_CHECK extends SdkStructure { public int dwSize; public int emVendor; // 厂商,详见ENUM_VENDOR_TYPE public int emStandard; // 视频制式, 详见ENUM_STANDARD_TYPE public NET_TIME_EX stuBuild; // 编译时间,用于比较版本 public byte[] szUrl = new byte[NET_COMMON_STRING_1024]; // 云URL public byte[] szClass = new byte[NET_COMMON_STRING_64]; // 设备大类 public byte[] szSerial = new byte[NET_COMMON_STRING_256]; // 设备硬件信号系列 public byte[] szLanguage = new byte[NET_COMMON_STRING_128]; // 语言 public byte[] szSN = new byte[NET_COMMON_STRING_64]; // 设备序列号 public byte[] szSWVersion = new byte[NET_COMMON_STRING_64]; // 版本号,用于显示 public byte[] szTag1 = new byte[NET_COMMON_STRING_256]; // 预留字段,可用于后续或扩展 public byte[] szTag2 = new byte[NET_COMMON_STRING_256]; // 预留字段,可用于后续或扩展 public byte[] szAccessKeyId = new byte[NET_COMMON_STRING_128];//Access Key ID public byte[] szSecretAccessKey = new byte[NET_COMMON_STRING_128];//Secret Access Key public NET_IN_CLOUD_UPGRADER_CHECK() { this.dwSize = this.size(); } } //设备制造商 public static class ENUM_VENDOR_TYPE extends SdkStructure { public static final int ENUM_VENDOR_TYPE_UNKNOWN = 0; // 未知 public static final int ENUM_VENDOR_TYPE_GENERAL = 1; // General public static final int ENUM_VENDOR_TYPE_DH = 2; // DH public static final int ENUM_VENDOR_TYPE_OEM = 3; // OEM public static final int ENUM_VENDOR_TYPE_LC = 4; // LC public static final int ENUM_VENDOR_TYPE_EZIP = 5; // EZIP } //视频制式 public static class ENUM_STANDARD_TYPE extends SdkStructure { public static final int ENUM_STANDARD_TYPE_UNKNOWN = 0; // 未知 public static final int ENUM_STANDARD_TYPE_PAL = 1; // P-PAL public static final int ENUM_STANDARD_TYPE_NTSC = 2; // N-NTSC public static final int ENUM_STANDARD_TYPE_PAL_NTSC = 3; // PN-PAL/NTSC默认P制 public static final int ENUM_STANDARD_TYPE_NTSC_PAL = 4; // NP-NTSC/PAL默认N制 public static final int ENUM_STANDARD_TYPE_SECAM = 5; // S-SECAM } // 云升级软件检查出参 public static class NET_OUT_CLOUD_UPGRADER_CHECK extends SdkStructure { public int dwSize; public int bHasNewVersion; // 是否有可升级版本 public byte[] szVersion = new byte[NET_COMMON_STRING_64]; // 版本信息 public byte[] szAttention = new byte[NET_COMMON_STRING_1024]; // 提醒设备升级的提示信息 public byte[] szPackageUrl = new byte[NET_COMMON_STRING_1024]; // 设备升级包的URL public byte[] szPackageId = new byte[NET_COMMON_STRING_64]; // 升级包ID public NET_OUT_CLOUD_UPGRADER_CHECK() { this.dwSize = this.size(); } } // 检查云端是否有可升级软件, 使用HTTP协议 public boolean CLIENT_CloudUpgraderCheck(NET_IN_CLOUD_UPGRADER_CHECK pIn, NET_OUT_CLOUD_UPGRADER_CHECK pOut, int dwWaitTime); //云下载状态 public static class emCloudDownloadState extends SdkStructure { public static final int emCloudDownloadState_Unknown = 0; // 未知 public static final int emCloudDownloadState_Success = 1; // 云下载成功(需要关闭句柄) public static final int emCloudDownloadState_Failed = 2; // 云下载失败(不需要关闭句柄,会不断尝试下载) public static final int emCloudDownloadState_Downloading = 3; // 正在下载中 public static final int emCloudDownloadState_NoEnoughDiskSpace = 4; // 磁盘空间不足 } // 云下载回调函数 public interface fCloudDownload_Process_callback extends Callback { public void invoke(LLong lDownHandle, int emState, double dwDownloadSpeed, int dwProgressPercentage, Pointer dwUser); } // 云升级下载升级包入参 public static class NET_IN_CLOUD_UPGRADER_DOWN extends SdkStructure { public int dwSize; public byte[] szPackageUrl = new byte[NET_COMMON_STRING_1024];// 设备升级包的URL public byte[] szSaveFile = new byte[NET_COMMON_STRING_1024]; // 保存文件名 public Callback pfProcessCallback; // 进度回调,实现fCloudDownload_Process_callback public Pointer dwUser; // 回调用户数据 public NET_IN_CLOUD_UPGRADER_DOWN() { this.dwSize = this.size(); } } // 云升级下载升级包出参 public static class NET_OUT_CLOUD_UPGRADER_DOWN extends SdkStructure { public int dwSize; public NET_OUT_CLOUD_UPGRADER_DOWN() { this.dwSize = this.size(); } } // 云 下载升级软件, 使用HTTP协议 public LLong CLIENT_CloudUpgraderDownLoad(NET_IN_CLOUD_UPGRADER_DOWN pIn, NET_OUT_CLOUD_UPGRADER_DOWN pOut); // 停止云下载, 使用HTTP协议 public boolean CLIENT_CloudUpgraderStop(LLong lDownloadHandle); // 暂停云下载, 使用HTTP协议 public boolean CLIENT_CloudUpgraderPause(LLong lDownloadHandle, int bPause); //升级结果 public static class NET_UPGRADE_REPORT_RESULT extends SdkStructure { public static final int NET_UPGRADE_REPORT_RESULT_UNKNWON = 0; // 未知 public static final int NET_UPGRADE_REPORT_RESULT_SUCCESS = 1; // 成功 public static final int NET_UPGRADE_REPORT_RESULT_FAILED = 2; // 失败 } public static final int NET_UPGRADE_COUNT_MAX = 256; // 最大升级个数 //上报升级结果结构体 public static class NET_UPGRADE_REPORT extends SdkStructure { public int nDeviceNum; public DEVICE_SERIAL[] szDevSerialArr = (DEVICE_SERIAL[])new DEVICE_SERIAL().toArray(NET_UPGRADE_COUNT_MAX); // 序列号 public byte[] szPacketID = new byte[MAX_COMMON_STRING_128]; // 升级包ID public int emResult; // 升级结果,详见NET_UPGRADE_REPORT_RESULT public byte[] szCode = new byte[MAX_COMMON_STRING_128]; // 错误码信息 public byte[] reserved = new byte[256]; } public static class DEVICE_SERIAL extends SdkStructure { public byte[] szDevSerial = new byte[MAX_COMMON_STRING_64]; // 序列号 } //上报升级结果入参 public static class NET_IN_UPGRADE_REPORT extends SdkStructure { public int dwSize; public int nCount; // 升级包个数 public Pointer pstuUpgradeReport; // 升级结果信息 , 大小 nCount * sizeof(NET_UPGRADE_REPORT) public byte[] szAccessKeyId = new byte[NET_COMMON_STRING_128]; //访问ID public byte[] szSecretAccessKey = new byte[NET_COMMON_STRING_128]; //访问秘钥 public byte[] szUrl = new byte[NET_COMMON_STRING_1024]; // 云URL public NET_IN_UPGRADE_REPORT() { this.dwSize = this.size(); } } //上报升级结果出参 public static class NET_OUT_UPGRADE_REPORT extends SdkStructure { public int dwSize; public NET_OUT_UPGRADE_REPORT() { this.dwSize = this.size(); } } //上报升级结果, 使用HTTP协议 public boolean CLIENT_CloudUpgraderReport(NET_IN_UPGRADE_REPORT pIn, NET_OUT_UPGRADE_REPORT pOut, int dwWaitTime); // 升级状态回调结构体 public static class NET_CLOUD_UPGRADER_STATE extends SdkStructure { public int dwSize; public int emState; // 升级状态,详见EM_UPGRADE_STATE public int nProgress; // 升级百分比 public byte[] szFileName = new byte[NET_COMMON_STRING_128]; // 升级文件 public long nTotalLen; // 升级文件总大小,单位字节 public byte[] szFileNameEx = new byte[256]; // 升级文件扩展 public byte[] szReserved = new byte[1024]; // 扩展字段 public NET_CLOUD_UPGRADER_STATE() { this.dwSize = this.size(); } } // 升级状态回调函数 public interface fUpgraderStateCallback extends Callback { public void invoke(LLong lLoginId, LLong lAttachHandle, NET_CLOUD_UPGRADER_STATE pBuf, int dwBufLen, Pointer pReserved, Pointer dwUser); } // 订阅升级状态入参 public static class NET_IN_CLOUD_UPGRADER_ATTACH_STATE extends SdkStructure { public int dwSize; public Callback cbUpgraderState; // 升级状态回调实现fUpgraderStateCallback public Pointer dwUser; public NET_IN_CLOUD_UPGRADER_ATTACH_STATE() { this.dwSize = this.size(); } } // 订阅升级状态出参 public static class NET_OUT_CLOUD_UPGRADER_ATTACH_STATE extends SdkStructure { public int dwSize; public NET_OUT_CLOUD_UPGRADER_ATTACH_STATE() { this.dwSize = this.size(); } } // 获取升级状态入参 public static class NET_IN_CLOUD_UPGRADER_GET_STATE extends SdkStructure { public int dwSize; public NET_IN_CLOUD_UPGRADER_GET_STATE() { this.dwSize = this.size(); } } // 获取升级状态出参 public static class NET_OUT_CLOUD_UPGRADER_GET_STATE extends SdkStructure { public int dwSize; public int emState; // 升级状态,详见EM_UPGRADE_STATE public int nProgress; // 升级进度 public byte[] szFileName = new byte[NET_COMMON_STRING_128]; // 升级文 public NET_OUT_CLOUD_UPGRADER_GET_STATE() { this.dwSize = this.size(); } } // 升级包和升级状态 public static class EM_UPGRADE_STATE extends SdkStructure { public static final int EM_UPGRADE_STATE_UNKNOWN = 0; // 未知状态 public static final int EM_UPGRADE_STATE_NONE = 1; // 没有检测到更新状态 public static final int EM_UPGRADE_STATE_INVALID = 2; // 升级包不正确 public static final int EM_UPGRADE_STATE_NOT_ENOUGH_MEMORY = 3; // 内存不够 public static final int EM_UPGRADE_STATE_DOWNLOADING = 4; // 正在下载数据 public static final int EM_UPGRADE_STATE_DOWNLOAD_FAILED = 5; // 下载失败 public static final int EM_UPGRADE_STATE_DOWNLOAD_SUCCESSED = 6; // 下载成功 public static final int EM_UPGRADE_STATE_PREPARING = 7; // 准备升级 public static final int EM_UPGRADE_STATE_UPGRADING = 8; // 升级中 public static final int EM_UPGRADE_STATE_UPGRADE_FAILED = 9; // 升级失败 public static final int EM_UPGRADE_STATE_UPGRADE_SUCCESSED = 10; // 升级成功 public static final int EM_UPGRADE_STATE_UPGRADE_CANCELLED = 11; // 取消升级 public static final int EM_UPGRADE_STATE_FILE_UNMATCH = 12; // 升级包不匹配 } // 订阅升级状态观察接口 public LLong CLIENT_CloudUpgraderAttachState(LLong lLoginID, NET_IN_CLOUD_UPGRADER_ATTACH_STATE pInParam, NET_OUT_CLOUD_UPGRADER_ATTACH_STATE pOutParam, int nWaitTime); // 退订升级状态观察接口 public boolean CLIENT_CloudUpgraderDetachState(LLong lAttachHandle); // 获取升级状态 public boolean CLIENT_CloudUpgraderGetState(LLong lLoginID, NET_IN_CLOUD_UPGRADER_GET_STATE pInParam, NET_OUT_CLOUD_UPGRADER_GET_STATE pOutParam, int nWaitTime); // 代理服务器地址 public static class NET_PROXY_SERVER_INFO extends SdkStructure { public byte[] szIP = new byte[NET_MAX_IPADDR_LEN_EX]; // IP地址 public int nPort; // 端口 public byte[] byReserved = new byte[84]; } // CLIENT_CheckCloudUpgrader 入参 public static class NET_IN_CHECK_CLOUD_UPGRADER extends SdkStructure { public int dwSize; // 结构体大小 public int nWay; // 检测路径, 0-直连升级服务器检测, 1-通过代理服务器检测, 2-获取缓存的检测结果 public NET_PROXY_SERVER_INFO stProxy; // 代理服务器地址, way==1时有意义 public NET_IN_CHECK_CLOUD_UPGRADER() { this.dwSize = this.size(); } } // 云升级状态 public static class EM_CLOUD_UPGRADER_CHECK_STATE extends SdkStructure { public static final int EM_CLOUD_UPGRADER_CHECK_STATE_UNKNOWN = 0; // 未知 public static final int EM_CLOUD_UPGRADER_CHECK_STATE_NONE = 1; // 没有检测到更新 public static final int EM_CLOUD_UPGRADER_CHECK_STATE_REGULAR = 2; // 一般升级 (需要用户确认, 只能向高版本) public static final int EM_CLOUD_UPGRADER_CHECK_STATE_EMERGENCY = 3; // 强制升级 (设备自动检测执行, 可以向低版本) public static final int EM_CLOUD_UPGRADER_CHECK_STATE_AUTOMATIC = 4; // 自动升级 (有新升级包, 自动升级, 当前为使用, 需使能页面自动升级选项) } // 云升级新版本升级包类型 public static class EM_CLOUD_UPGRADER_PACKAGE_TYPE extends SdkStructure { public static final int EM_CLOUD_UPGRADER_PACKAGE_TYPE_UNKNOWN = 0; // 未知 public static final int EM_CLOUD_UPGRADER_PACKAGE_TYPE_ALL = 1; // 整包 public static final int EM_CLOUD_UPGRADER_PACKAGE_TYPE_PTZ = 2; // 云台主控包 public static final int EM_CLOUD_UPGRADER_PACKAGE_TYPE_WEB = 3; // Web public static final int EM_CLOUD_UPGRADER_PACKAGE_TYPE_LOGO = 4; // Logo public static final int EM_CLOUD_UPGRADER_PACKAGE_TYPE_CUSTOM = 5; // Custom public static final int EM_CLOUD_UPGRADER_PACKAGE_TYPE_GUI = 6; // Gui public static final int EM_CLOUD_UPGRADER_PACKAGE_TYPE_PD = 7; // PD public static final int EM_CLOUD_UPGRADER_PACKAGE_TYPE_DATA = 8; // Data public static final int EM_CLOUD_UPGRADER_PACKAGE_TYPE_PTZ_POWER = 9; // 云台电源 public static final int EM_CLOUD_UPGRADER_PACKAGE_TYPE_PTZ_LIGHT = 10; // 云台灯光 public static final int EM_CLOUD_UPGRADER_PACKAGE_TYPE_PTZ_HEATER = 11; // 云台加热器 } // CLIENT_CheckCloudUpgrader 出参 public static class NET_OUT_CHECK_CLOUD_UPGRADER extends SdkStructure { public int dwSize; // 结构体大小 public int emState; // 升级状态,详见EM_CLOUD_UPGRADER_CHECK_STATE public int emPackageType; // 新版本升级包类型, State不为None需要返回,详见EM_CLOUD_UPGRADER_PACKAGE_TYPE public byte[] szOldVersion = new byte[MAX_COMMON_STRING_64]; // 旧版本号, State不为None需要返回 public byte[] szNewVersion = new byte[MAX_COMMON_STRING_64]; // 新版本号,State不为None需要返回 public byte[] szAttention = new byte[NET_COMMON_STRING_2048]; // 新的升级包更新内容 public byte[] szPackageURL = new byte[NET_COMMON_STRING_256]; // 升级包下载地址(代理升级需要) public byte[] szPackageID = new byte[MAX_COMMON_STRING_64]; // 升级包ID public byte[] szCheckSum = new byte[MAX_COMMON_STRING_64]; // 升级包的SHA-256校验和 public byte[] szBuildTime = new byte[MAX_COMMON_STRING_32]; // 升级包构建时间 public NET_OUT_CHECK_CLOUD_UPGRADER() { this.dwSize = this.size(); } } // 在线升级检查是否有可用升级包, pInParam和pOutParam内存由用户申请和释放 public boolean CLIENT_CheckCloudUpgrader(LLong lLoginID, NET_IN_CHECK_CLOUD_UPGRADER pInParam, NET_OUT_CHECK_CLOUD_UPGRADER pOutParam, int nWaitTime); // 升级包信息 public static class NET_CLOUD_UPGRADER_INFO extends SdkStructure { public byte[] szPackageURL = new byte[NET_COMMON_STRING_256]; // 升级包下载地址(代理升级需要) public byte[] szPackageID = new byte[MAX_COMMON_STRING_64]; // 升级包ID public byte[] szCheckSum = new byte[MAX_COMMON_STRING_64]; // 升级包的SHA-256校验和 public byte[] byReserved = new byte[1024]; // 保留字节 } // CLIENT_ExecuteCloudUpgrader 入参 public static class NET_IN_EXECUTE_CLOUD_UPGRADER extends SdkStructure { public int dwSize; // 结构体大小 public byte[] szNewVersion = new byte[MAX_COMMON_STRING_64]; // 上一次check得到的新版本号 public int nWay; // 检测路径, 0-直连升级服务器检测, 1-通过代理服务器检测 public NET_PROXY_SERVER_INFO stProxy; // 代理服务器地址, nWay==1时有意义 public NET_CLOUD_UPGRADER_INFO stInfo; // 升级包信息 public NET_IN_EXECUTE_CLOUD_UPGRADER() { this.dwSize = this.size(); } } // CLIENT_ExecuteCloudUpgrader 出参 public static class NET_OUT_EXECUTE_CLOUD_UPGRADER extends SdkStructure { public int dwSize; // 结构体大小 public NET_OUT_EXECUTE_CLOUD_UPGRADER() { this.dwSize = this.size(); } } // 执行在线云升级, pInParam和pOutParam内存由用户申请和释放 public boolean CLIENT_ExecuteCloudUpgrader(LLong lLoginID, NET_IN_EXECUTE_CLOUD_UPGRADER pInParam, NET_OUT_EXECUTE_CLOUD_UPGRADER pOutParam, int nWaitTime); // CLIENT_GetCloudUpgraderState 入参 public static class NET_IN_GET_CLOUD_UPGRADER_STATE extends SdkStructure { public int dwSize; // 结构体大小 public NET_IN_GET_CLOUD_UPGRADER_STATE() { this.dwSize = this.size(); } } // 在线升级状态 public static class EM_CLOUD_UPGRADER_STATE extends SdkStructure { public static final int EM_CLOUD_UPGRADER_STATE_UNKNOWN = 0; // 未知 public static final int EM_CLOUD_UPGRADER_STATE_NOUPGRADE = 1; // "Noupgrade"-未进行升级 public static final int EM_CLOUD_UPGRADER_STATE_PREPARING = 2; // "Preparing"-准备升级 public static final int EM_CLOUD_UPGRADER_STATE_DOWNLOADING = 3; // "Downloading"-正在下载数据 public static final int EM_CLOUD_UPGRADER_STATE_DOWNLOADFAILED = 4; // "DownloadFailed"-下载失败 public static final int EM_CLOUD_UPGRADER_STATE_UPGRADING = 5; // "Upgrading"-正在升级 public static final int EM_CLOUD_UPGRADER_STATE_INVALID = 6; // "Invalid"-升级包不正确 public static final int EM_CLOUD_UPGRADER_STATE_FAILED = 7; // "Failed"-升级包写入Flash失败 public static final int EM_CLOUD_UPGRADER_STATE_SUCCEEDED = 8; // "Succeeded"-升级包写入Flash成功 } // CLIENT_GetCloudUpgraderState 出参 public static class NET_OUT_GET_CLOUD_UPGRADER_STATE extends SdkStructure { public int dwSize; // 结构体大小 public int emState; // 升级状态,详见EM_CLOUD_UPGRADER_STATE public int nProgress; // 升级进度, 状态是Downloading/Upgrading时有意义 public NET_OUT_GET_CLOUD_UPGRADER_STATE() { this.dwSize = this.size(); } } // 获取云升级在线升级状态, pInParam和pOutParam内存由用户申请和释放 public boolean CLIENT_GetCloudUpgraderState(LLong lLoginID, NET_IN_GET_CLOUD_UPGRADER_STATE pInParam, NET_OUT_GET_CLOUD_UPGRADER_STATE pOutParam, int nWaitTime); // 事件类型 EVENT_IVS_PHONECALL_DETECT(打电话检测事件) 对应的数据块描述信息 public static class DEV_EVENT_PHONECALL_DETECT_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName = new byte[MAX_EVENT_NAME]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nGroupID; // 事件组ID public int nCountInGroup; // 一个事件组内的抓拍张数 public int nIndexInGroup; // 一个事件组内的抓拍序号,从1开始 public int UTCMS; // UTC对应的毫秒数 public NET_MSG_OBJECT stuObject; // 检测到的物体 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] stuDetectRegion = (NET_POINT[])new NET_POINT().toArray(NET_MAX_DETECT_REGION_NUM); // 规则检测区域 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public int nRuleID; // 智能事件规则编号 public int nObjectNum; // 检测到的物体数量 public DH_MSG_OBJECT[] stuObjects=(DH_MSG_OBJECT[])new DH_MSG_OBJECT().toArray(128); // 多个检测到的物体信息 public int nSerialUUIDNum; // 智能物体数量 public byte[] szSerialUUID=new byte[128*22]; // 智能物体全局唯一物体标识 // 有效数据位21位,包含’\0’ // 前2位%d%d:01-视频片段, 02-图片, 03-文件, 99-其他 // 中间14位YYYYMMDDhhmmss:年月日时分秒 // 后5位%u%u%u%u%u:物体ID,如00001 public boolean bSceneImage; // stuSceneImage 是否有效 public SCENE_IMAGE_INFO_EX stuSceneImage; // 全景广角图 public byte[] szUserName =new byte[32]; // 用户名称 public Pointer pstuImageInfo; // 图片信息数组 ,结构体NET_IMAGE_INFO_EX2数组指针 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] byReserved=new byte[188]; // 保留字节 } // 事件类型 EVENT_IVS_SMOKING_DETECT(吸烟检测事件)对应的数据块描述信息 public static class DEV_EVENT_SMOKING_DETECT_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName = new byte[MAX_EVENT_NAME]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nGroupID; // 事件组ID public int nCountInGroup; // 一个事件组内的抓拍张数 public int nIndexInGroup; // 一个事件组内的抓拍序号,从1开始 public int UTCMS; // UTC对应的毫秒数 public NET_MSG_OBJECT stuObject; // 检测到的物体 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] stuDetectRegion = (NET_POINT[])new NET_POINT().toArray(NET_MAX_DETECT_REGION_NUM); // 规则检测区域 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public byte szSerialUUID[] = new byte[22]; //智能物体全局唯一物体标识 public SCENE_IMAGE_INFO stuSceneImageInfo = new SCENE_IMAGE_INFO(); //全景广角图 public byte szUserName[] = new byte[32]; //用户名称 public NET_IMAGE_INFO_EX2 stuImageInfo[] = (NET_IMAGE_INFO_EX2[])new NET_IMAGE_INFO_EX2().toArray(32); //图片信息数组 public int nImageInfoNum; //图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte byReserved[] = new byte[1024]; //预留字节 } // 事件类型 EVENT_IVS_FIREWARNING(火警事件) 对应的数据块描述信息 public static class DEV_EVENT_FIREWARNING_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nAction; // 1:开始 2:停止 public int nFSID; // Uint32 火情编号ID public int emPicType; // 图片类型,详见 EM_FIREWARNING_PIC_TYPE public int bIsLeaveFireDetect; // 是否属于离岗火点检测(TRUE:是 FALSE:不是) public Pointer pstuImageInfo; // 图片信息数组,指针对应结构体NET_IMAGE_INFO_EX2的数组 public int nImageInfoNum; // 图片信息个数 public byte[] byReserved = new byte[1008 - POINTERSIZE]; // 保留字节 } // 图片类型 public static class EM_FIREWARNING_PIC_TYPE extends SdkStructure { public static final int EM_PIC_UNKNOWN = 0; // 未知 public static final int EM_PIC_NONE = 1; // 无 public static final int EM_PIC_OVERVIEW = 2; // 全景图 public static final int EM_PIC_DETAIL = 3; // 细节图 } // 事件类型EVENT_IVS_LEFTDETECTION(物品遗留事件)对应的数据块描述信息 public static class DEV_EVENT_LEFT_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] DetectRegion = new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 规则检测区域 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice = new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public short nPreserID; // 事件触发的预置点号,从1开始(没有表示未知) public byte[] szPresetName = new byte[64]; // 事件触发的预置名称 public NET_EXTENSION_INFO stuExtensionInfo; // 扩展信息 public byte[] byReserved2 = new byte[2]; // 字节对齐 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] szVideoPath = new byte[256]; // 违章关联视频FTP上传路径 public SCENE_IMAGE_INFO_EX stuSceneImage; // 全景广角图 public NET_IMAGE_INFO_EX2[] stuImageInfo = (NET_IMAGE_INFO_EX2[])new NET_IMAGE_INFO_EX2().toArray(32); //图片信息数组 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public DEV_EVENT_LEFT_INFO() { for (int i = 0; i < DetectRegion.length; ++i) { DetectRegion[i] = new NET_POINT(); } } } // 事件类型 EVENT_IVS_RIOTERDETECTION (聚众事件)对应的数据块描述信息 public static class DEV_EVENT_RIOTERL_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nObjectNum; // 检测到的物体个数 public NET_MSG_OBJECT[] stuObjectIDs = new NET_MSG_OBJECT[NET_MAX_OBJECT_LIST]; // 检测到的物体列表 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; public byte[] byReserved = new byte[2]; // 保留字节 public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] DetectRegion = new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 规则检测区域 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice = new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public NET_EXTENSION_INFO stuExtensionInfo; // 扩展信息 public byte[] szSourceID=new byte[32]; // 事件关联ID。应用场景是同一个物体或者同一张图片做不同分析,产生的多个事件的SourceID相同 // 缺省时为空字符串,表示无此信息 // 格式:类型+时间+序列号,其中类型2位,时间14位,序列号5位 public NET_IMAGE_INFO_EX2[] stuImageInfo = (NET_IMAGE_INFO_EX2[])new NET_IMAGE_INFO_EX2().toArray(32);// 图片信息数组 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] bReserved = new byte[328]; // 保留字节,留待扩展. public DEV_EVENT_RIOTERL_INFO() { for (int i = 0; i < stuObjectIDs.length; ++i) { stuObjectIDs[i] = new NET_MSG_OBJECT(); } for (int i = 0; i < DetectRegion.length; ++i) { DetectRegion[i] = new NET_POINT(); } } } // 事件类型EVENT_IVS_TAKENAWAYDETECTION(物品搬移事件)对应的数据块描述信息 public static class DEV_EVENT_TAKENAWAYDETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] DetectRegion = new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 规则检测区域 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice = new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public short nPreserID; // 事件触发的预置点号,从1开始(没有表示未知) public byte[] szPresetName = new byte[64]; // 事件触发的预置名称 public NET_EXTENSION_INFO stuExtensionInfo; // 扩展信息 public NET_IMAGE_INFO_EX2[] stuImageInfo = (NET_IMAGE_INFO_EX2[])new NET_IMAGE_INFO_EX2().toArray(32);// 图片信息数组 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] bReserved = new byte[418]; // 保留字节,留待扩展. public DEV_EVENT_TAKENAWAYDETECTION_INFO() { for (int i = 0; i < DetectRegion.length; ++i) { DetectRegion[i] = new NET_POINT(); } } } // 事件类型EVENT_IVS_PARKINGDETECTION(非法停车事件)对应的数据块描述信息 public static class DEV_EVENT_PARKINGDETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] DetectRegion = new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 规则检测区域 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice = new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public NET_EXTENSION_INFO stuExtensionInfo; // 扩展信息 public byte[] szCustomParkNo=new byte[64]; // 车位名称 public NET_PRESET_POSITION stPosition; // 预置点的坐标和放大倍数 是一个数组,每个成员是int类型 // 第一个参数是水平坐标,范围[0,3599],表示0度到359.9度,度数扩大10倍表示。 // 第二个参数是垂直坐标,范围[-1800,1800],表示-180.0度到+180.0度,度数扩大10倍表示。 // 第三个参数是放大参数,范围[0,127],表示最小倍到最大倍的变倍位置 public int nCurChannelHFOV; // 当前报警通道的横向视场角,单位度,实际角度乘以100 public int nCurChannelVFOV; // 当前报警通道的纵向视场角,单位度,实际角度乘以100 public SCENE_IMAGE_INFO_EX stuSceneImage; // 全景广角图 public NET_IMAGE_INFO_EX2[] stuImageInfo = (NET_IMAGE_INFO_EX2[])new NET_IMAGE_INFO_EX2().toArray(32);// 图片信息数组 public int nImageInfoNum; // 图片信息个数 public int nObjectBoatsNum; // 船只物体个数 public NET_BOAT_OBJECT[] stuBoatObjects = new NET_BOAT_OBJECT[100]; // 船只物品信息 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] bReserved = new byte[400]; // 保留字节,留待扩展. public DEV_EVENT_PARKINGDETECTION_INFO() { for (int i = 0; i < DetectRegion.length; ++i) { DetectRegion[i] = new NET_POINT(); } for (int i = 0; i < stuBoatObjects.length; i++) { stuBoatObjects[i] = new NET_BOAT_OBJECT(); } } } // 事件类型EVENT_IVS_ABNORMALRUNDETECTION(异常奔跑事件)对应的数据块描述信息 public static class DEV_EVENT_ABNORMALRUNDETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public double dbSpeed; // 物体运动速度,km/h public double dbTriggerSpeed; // 触发速度,km/h public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] DetectRegion = new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 规则检测区域 public int nTrackLineNum; // 物体运动轨迹顶点数 public NET_POINT[] TrackLine = new NET_POINT[NET_MAX_TRACK_LINE_NUM]; // 物体运动轨迹 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; public byte bRunType; // 异常奔跑类型, 0-快速奔跑, 1-突然加速, 2-突然减速 public byte[] byReserved = new byte[1]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice = new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public Pointer pstuImageInfo; // 图片信息数组 ,结构体NET_IMAGE_INFO_EX2数组指针 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] bReserved = new byte[604]; // 保留字节,留待扩展. public DEV_EVENT_ABNORMALRUNDETECTION_INFO() { for (int i = 0; i < DetectRegion.length; ++i) { DetectRegion[i] = new NET_POINT(); } for (int i = 0; i < TrackLine.length; ++i) { TrackLine[i] = new NET_POINT(); } } } // 设置停车信息,对应CTRLTYPE_CTRL_SET_PARK_INFO命令参数 public static class NET_CTRL_SET_PARK_INFO extends SdkStructure { public int dwSize; public byte[] szPlateNumber = new byte[MAX_PLATE_NUMBER_LEN]; // 车牌号码 public int nParkTime; // 停车时长,单位:分钟 public byte[] szMasterofCar = new byte[MAX_MASTER_OF_CAR_LEN]; // 车主姓名 public byte[] szUserType = new byte[MAX_USER_TYPE_LEN]; // 用户类型,非通用,用于出入口抓拍一体机 // monthlyCardUser表示月卡用户,yearlyCardUser表示年卡用户,longTimeUser表示长期用户/,casualUser表示临时用户/Visitor public int nRemainDay; // 到期天数 public byte[] szParkCharge = new byte[MAX_PARK_CHARGE_LEN]; // 停车费 public int nRemainSpace; // 停车库余位数 public int nPassEnable; // 0:不允许车辆通过 1:允许车辆通过 public NET_TIME stuInTime; // 车辆入场时间 public NET_TIME stuOutTime; // 车辆出场时间 public int emCarStatus; // 过车状态 详见EM_CARPASS_STATUS public byte[] szCustom = new byte[MAX_CUSTOM_LEN]; // 自定义显示字段,默认空 public byte[] szSubUserType = new byte[MAX_SUB_USER_TYPE_LEN]; // 用户类型(szUserType字段)的子类型 public byte[] szRemarks = new byte[MAX_REMARKS_LEN]; // 备注信息 public byte[] szResource = new byte[MAX_RESOURCE_LEN]; // 资源文件(视频或图片)视频支持:mp4格式; 图片支持:BMP/jpg/JPG/jpeg/JPEG/png/PNG格式 public int nParkTimeout; // 停车超时时间,单位分钟。为0表示未超时,不为0表示超时时间。 public NET_CTRL_SET_PARK_INFO() { this.dwSize = this.size(); } } // 过车状态 public static class EM_CARPASS_STATUS extends SdkStructure { public static final int EM_CARPASS_STATUS_UNKNOWN = 0; // 未知状态 public static final int EM_CARPASS_STATUS_CARPASS = 1; // 过车状态 public static final int EM_CARPASS_STATUS_NORMAL = 2; // 无车状态 } // 事件类型EVENT_IVS_MOVEDETECTION(移动事件)对应的数据块描述信息 public static class DEV_EVENT_MOVE_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] DetectRegion = new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 规则检测区域 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice = new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nTrackLineNum; // 物体运动轨迹顶点数 public NET_POINT[] stuTrackLine = new NET_POINT[NET_MAX_TRACK_LINE_NUM]; // 物体运动轨迹 public int nOccurrenceCount; // 事件触发累计次数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public NET_EXTENSION_INFO stuExtensionInfo; // 扩展信息 public int nAnimalNum; // 动物个数 public Pointer pstuAnimals; // 动物信息,结构体VA_OBJECT_ANIMAL数组指针 public int nMsgObjArrayCount; // 检测到的物体信息个数 public Pointer pMsgObjArray; // 检测到的物体信息数组指针,结构体NET_MSG_OBJECT_EX数组指针 public int nImageNum; // 图片信息个数 public Pointer pImageArray; // 图片信息数组,结构体NET_IMAGE_INFO_EX2数组指针 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] bReserved = new byte[236]; // 保留字节,留待扩展. public DEV_EVENT_MOVE_INFO() { for (int i = 0; i < DetectRegion.length; ++i) { DetectRegion[i] = new NET_POINT(); } for (int i = 0; i < stuTrackLine.length; ++i) { stuTrackLine[i] = new NET_POINT(); } } } // 监测控制和数据采集设备的点位表路径信息输入参数, 查询条件 public static class NET_IN_SCADA_POINT_LIST_INFO extends SdkStructure { public int dwSize; public byte[] szDevType = new byte[NET_COMMON_STRING_64]; // 设备类型 public NET_IN_SCADA_POINT_LIST_INFO() { this.dwSize = this.size(); } } // 点位表路径信息 public static class NET_SCADA_POINT_LIST extends SdkStructure { public int dwSize; public int nIndexValidNum; // 有效的配置下标个数 public int[] nIndex = new int[MAX_SCADA_POINT_LIST_INDEX]; // SCADADev配置下标值, 从0开始 public byte[] szPath = new byte[NET_COMMON_STRING_256]; // 点表的完整路径 public NET_SCADA_POINT_LIST() { this.dwSize = this.size(); } } // 监测控制和数据采集设备的点位表路径信息输出参数, 查询结果 public static class NET_OUT_SCADA_POINT_LIST_INFO extends SdkStructure { public int dwSize; public int nList; // 有效点位表路径信息个数 public NET_SCADA_POINT_LIST[] stuList = new NET_SCADA_POINT_LIST[MAX_SCADA_POINT_LIST_INFO_NUM]; // 点位表路径信息 public NET_OUT_SCADA_POINT_LIST_INFO() { this.dwSize = this.size(); for (int i = 0; i < stuList.length; ++i) { stuList[i] = new NET_SCADA_POINT_LIST(); } } } // 监测控制和数据采集设备的点位表信息, (对应 DH_DEVSTATE_SCADA_POINT_LIST 命令) public static class NET_SCADA_POINT_LIST_INFO extends SdkStructure { public int dwSize; public NET_IN_SCADA_POINT_LIST_INFO stuIn; // 查询条件 public NET_OUT_SCADA_POINT_LIST_INFO stuOut; // 查询结果 public NET_SCADA_POINT_LIST_INFO() { this.dwSize = this.size(); } } // SCADA监测点位查询条件 public static class NET_IN_SCADA_INFO extends SdkStructure { public int dwSize; public int emPointType; // 待查询的点位类型,详见EM_NET_SCADA_POINT_TYPE public NET_IN_SCADA_INFO() { this.dwSize = this.size(); } } // 点表信息 public static class NET_SCADA_POINT_INFO extends SdkStructure { public int dwSize; public byte[] szDevName = new byte[NET_COMMON_STRING_64]; // 设备名称 public int nYX; // 有效遥信个数 public int[] anYX = new int[MAX_SCADA_YX_NUM]; // 遥信信息 public int nYC; // 有效遥测个数 public float[] afYC = new float[MAX_SCADA_YC_NUM]; // 遥测信息 public NET_SCADA_POINT_INFO() { this.dwSize = this.size(); } } // SCADA监测点位查询结果 public static class NET_OUT_SCADA_INFO extends SdkStructure { public int dwSize; public int nPointInfoNum; // 有效点表个数 public NET_SCADA_POINT_INFO[] stuPointInfo = new NET_SCADA_POINT_INFO[MAX_SCADA_POINT_INFO_NUM]; // 点表信息 public NET_OUT_SCADA_INFO() { this.dwSize = this.size(); for (int i = 0; i < stuPointInfo.length; ++i) { stuPointInfo[i] = new NET_SCADA_POINT_INFO(); } } } // 监测控制和数据采集设备的监测点位信息(对应 DH_DEVSTATE_SCADA_INFO 命令) public static class NET_SCADA_INFO extends SdkStructure { public int dwSize; public NET_IN_SCADA_INFO stuIn; // 查询条件 public NET_OUT_SCADA_INFO stuOut; // 查询结果 public NET_SCADA_INFO() { this.dwSize = this.size(); } } // SCADA能力名称 public static class EM_NET_SCADA_CAPS_TYPE extends SdkStructure { public static final int EM_NET_SCADA_CAPS_TYPE_UNKNOWN = 0; public static final int EM_NET_SCADA_CAPS_TYPE_ALL = 1; // 所有类型 public static final int EM_NET_SCADA_CAPS_TYPE_DEV = 2; // DevInfo } // 监测控制和数据采集设备能力信息查询条件 public static class NET_IN_SCADA_CAPS extends SdkStructure { public int dwSize; public int emType; // 查询类型,详见EM_NET_SCADA_CAPS_TYPE public NET_IN_SCADA_CAPS() { this.dwSize = this.size(); } } // 监测控制和数据采集设备类型能力信息 public static class NET_OUT_SCADA_CAPS_ITEM extends SdkStructure { public int dwSize; public byte[] szDevType = new byte[NET_COMMON_STRING_32]; // 设备类型 public int nValidName; // 有效设备名称个数 public SCADA_DEVICE_NAME[] stuScadaDevNames = new SCADA_DEVICE_NAME[MAX_NET_SCADA_CAPS_NAME]; // 设备名称, 唯一标示设备 public NET_OUT_SCADA_CAPS_ITEM() { this.dwSize = this.size(); for (int i = 0; i < stuScadaDevNames.length; ++i) { stuScadaDevNames[i] = new SCADA_DEVICE_NAME(); } } } public static class SCADA_DEVICE_NAME extends SdkStructure { public byte[] szDevName = new byte[NET_COMMON_STRING_32]; // 数据采集设备名称 } // 监测控制和数据采集设备能力信息查询结果 public static class NET_OUT_SCADA_CAPS extends SdkStructure { public int dwSize; public int nValidType; // 有效设备类型个数 public NET_OUT_SCADA_CAPS_ITEM[] stuItems = new NET_OUT_SCADA_CAPS_ITEM[MAX_NET_SCADA_CAPS_TYPE]; // 最多16个类型 public NET_OUT_SCADA_CAPS() { this.dwSize = this.size(); for (int i = 0; i < stuItems.length; ++i) { stuItems[i] = new NET_OUT_SCADA_CAPS_ITEM(); } } } // 监测控制和数据采集设备能力信息(对应 DH_DEVSTATE_SCADA_CAPS 命令) public static class NET_SCADA_CAPS extends SdkStructure { public int dwSize; public NET_IN_SCADA_CAPS stuIn; // 查询条件 public NET_OUT_SCADA_CAPS stuOut; // 查询结果 public NET_SCADA_CAPS() { this.dwSize = this.size(); } } // 点位信息(通过设备、传感器点位获取) public static class NET_SCADA_POINT_BY_ID_INFO extends SdkStructure { public int dwSize; public int emType; // 点位类型,详见EM_NET_SCADA_POINT_TYPE public byte[] szID = new byte[NET_COMMON_STRING_64]; // 监测点位ID public int nMeasuredVal; // 点位类型为YX时有效 public float fMeasureVal; // 点位类型为YC时有效 public int nSetupVal; // 点位类型为YK时有效 public float fSetupVal; // 点位类型为YT时有效 public int nStatus; // 数据状态, -1:未知, 0:正常, 1:1级告警, 2:2级告警, 3:3级告警, 4:4级告警, 5:操作事件, 6:无效数据 public NET_TIME stuTime; // 记录时间 public byte[] szPointName=new byte[32]; // 点位名称 public NET_SCADA_POINT_BY_ID_INFO() { this.dwSize = this.size(); } } // 通过设备、获取监测点位信息(对应 NET_SCADA_INFO_BY_ID) public static class NET_SCADA_INFO_BY_ID extends SdkStructure { public int dwSize; public byte[] szSensorID = new byte[NET_COMMON_STRING_64]; // 输入参数, 探测器ID public int nIDs; // 输入参数, 有效点位ID个数 public SCADA_ID_EX[] stuIDs = new SCADA_ID_EX[MAX_SCADA_ID_OF_SENSOR_NUM]; // 输入参数, 点位ID public int bIsHandle; // 输入参数,返回数据是否经过处理(无效数据过滤等):"false":未处理,"true":处理 public int nMaxCount; // 输入参数, pstuInfo对应数组个数 public int nRetCount; // 输出参数, pstInfo实际返回有效个数, 可能大于用户分配个数nMaxCount public Pointer pstuInfo; // 输入输出参数, 用户分配缓存,大小为sizeof(NET_SCADA_POINT_BY_ID_INFO)*nMaxCount,指向NET_SCADA_POINT_BY_ID_INFO public NET_SCADA_INFO_BY_ID() { this.dwSize = this.size(); for (int i = 0; i < stuIDs.length; ++i) { stuIDs[i] = new SCADA_ID_EX(); } } } public static class SCADA_ID_EX extends SdkStructure { public byte[] szID = new byte[NET_COMMON_STRING_64]; // 监测点位ID } // 监测设备信息 public static class NET_SCADA_DEVICE_ID_INFO extends SdkStructure { public byte[] szDeviceID = new byte[NET_COMMON_STRING_64]; // 设备id public byte[] szDevName = new byte[NET_COMMON_STRING_64]; // 设备名称, 和CFG_SCADA_DEV_INFO配置中的szDevName一致 public byte[] reserve = new byte[1024]; } // 获取当前主机所接入的外部设备ID public static class NET_SCADA_DEVICE_LIST extends SdkStructure { public int dwSize; public int nMax; // 用户分配的结构体个数 public int nRet; // 设备实际返回的有效结构体个数 public Pointer pstuDeviceIDInfo; // 监测设备信息,用户分配内存,大小为sizeof(NET_SCADA_DEVICE_ID_INFO)*nMax,指向NET_SCADA_DEVICE_ID_INFO public NET_SCADA_DEVICE_LIST() { this.dwSize = this.size(); } } // 点位阈值信息 public static class NET_SCADA_ID_THRESHOLD_INFO extends SdkStructure { public int dwSize; public int emPointType; // 点位类型,详见EM_NET_SCADA_POINT_TYPE public byte[] szID = new byte[NET_COMMON_STRING_32]; // 点位ID public float fThreshold; // 告警门限 public float fAbsoluteValue; // 绝对阈值 public float fRelativeValue; // 相对阈值 public int nStatus; // 数据状态, -1:未知, 0:正常, 1:1级告警, 2:2级告警, 3:3级告警, 4:4级告警, 5:操作事件, 6:无效数据 public NET_SCADA_ID_THRESHOLD_INFO() { this.dwSize = this.size(); } } // CLIENT_SCADAGetThreshold输入参数 public static class NET_IN_SCADA_GET_THRESHOLD extends SdkStructure { public int dwSize; public byte[] szDeviceID = new byte[NET_COMMON_STRING_64]; // 外接设备id public int nIDs; // 有效监测点位个数 public SCADA_ID[] stuIDs = new SCADA_ID[MAX_SCADA_ID_NUM]; // 待获取的监测点位ID public NET_IN_SCADA_GET_THRESHOLD() { this.dwSize = this.size(); for (int i = 0; i < stuIDs.length; ++i) { stuIDs[i] = new SCADA_ID(); } } } public static class SCADA_ID extends SdkStructure { public byte[] szID = new byte[NET_COMMON_STRING_32]; // 监测点位ID } // CLIENT_SCADAGetThreshold输出参数 public static class NET_OUT_SCADA_GET_THRESHOLD extends SdkStructure { public int dwSize; public int nMax; // 用户分配的点位阈值信息个数 public int nRet; // 实际返回的点位阈值信息 public Pointer pstuThresholdInfo; // 点位阈值信息, 用户分配内存,大小为sizeof(NET_SCADA_ID_THRESHOLD_INFO)*nMax,指向NET_SCADA_ID_THRESHOLD_INFO public NET_OUT_SCADA_GET_THRESHOLD() { this.dwSize = this.size(); } } ////////////////////////////////////////////////////////////////////////// // CLIENT_SCADASetThreshold输入参数 public static class NET_IN_SCADA_SET_THRESHOLD extends SdkStructure { public int dwSize; public byte[] szDeviceID = new byte[NET_COMMON_STRING_64]; // 外接设备id public int nMax; // 用户分配的点位阈值信息个数 public Pointer pstuThresholdInfo; // 点位阈值信息, 用户分配内存,大小为sizeof(NET_SCADA_ID_THRESHOLD_INFO)*nMax,指向NET_SCADA_ID_THRESHOLD_INFO public NET_IN_SCADA_SET_THRESHOLD() { this.dwSize = this.size(); } } // CLIENT_SCADASetThreshold输出参数 public static class NET_OUT_SCADA_SET_THRESHOLD extends SdkStructure { public int dwSize; public int nSuccess; // 有效的存放设置阈值成功的id个数 public SCADA_ID[] stuSuccessIDs = new SCADA_ID[MAX_SCADA_ID_NUM]; // 设置阈值成功的id,用户分配内存 public int nFail; // 用户分配的存放设置阈值失败的id个数 public SCADA_ID[] stuFailIDs = new SCADA_ID[MAX_SCADA_ID_NUM]; // 设置阈值失败的id, 用户分配内存 public NET_OUT_SCADA_SET_THRESHOLD() { this.dwSize = this.size(); for (int i = 0; i < stuSuccessIDs.length; ++i) { stuSuccessIDs[i] = new SCADA_ID(); } for (int i = 0; i < stuFailIDs.length; ++i) { stuFailIDs[i] = new SCADA_ID(); } } } ////////////////////////////////////////////////////////////////////////// // CLIENT_StartFindSCADA输入参数 public static class NET_IN_SCADA_START_FIND extends SdkStructure { public int dwSize; public NET_TIME stuStartTime; // 开始时间, 必填 public int bEndTime; // 是否限制结束时间, TRUE: 必填stuEndTime, FLASE: 不限制结束时间 public NET_TIME stuEndTime; // 结束时间 public byte[] szDeviceID = new byte[NET_COMMON_STRING_64]; // DeviceID, 必填 public byte[] szID = new byte[NET_COMMON_STRING_32]; // 监测点位ID, 必填 public int nIDsNum; // 监测点ID数组长度 public SCADA_ID[] stuIDs = new SCADA_ID[32]; // 监控点ID号数组,SDT离网供电扩展字段 public NET_IN_SCADA_START_FIND() { this.dwSize = this.size(); for (int i = 0; i < stuIDs.length; ++i) { stuIDs[i] = new SCADA_ID(); } } } // CLIENT_StartFindSCADA输出参数 public static class NET_OUT_SCADA_START_FIND extends SdkStructure { public int dwSize; public int dwTotalCount; // 符合查询条件的总数 public NET_OUT_SCADA_START_FIND() { this.dwSize = this.size(); } } // CLIENT_DoFindSCADA输入参数 public static class NET_IN_SCADA_DO_FIND extends SdkStructure { public int dwSize; public int nStartNo; // 起始序号 public int nCount; // 本次欲获得结果的个数 public NET_IN_SCADA_DO_FIND() { this.dwSize = this.size(); } } // CLIENT_DoFindSCADA输出参数 public static class NET_OUT_SCADA_DO_FIND extends SdkStructure { public int dwSize; public int nRetNum; // 本次查询到的个数 public Pointer pstuInfo; // 查询结果, 用户分配内存,大小为sizeof(NET_SCADA_POINT_BY_ID_INFO)*nMaxNum,指向NET_SCADA_POINT_BY_ID_INFO public int nMaxNum; // 用户分配内存的个数 public NET_OUT_SCADA_DO_FIND() { this.dwSize = this.size(); } } // 监控点值设置参数 public static class NET_SCADA_POINT_SET_INFO extends SdkStructure { public int dwSize; public int emType; // 监控点位类型,取YK、YT两种类型,详见EM_NET_SCADA_POINT_TYPE public byte[] szPointID = new byte[NET_COMMON_STRING_64]; // 监控点位ID public int nSetupVal; // 点位类型为YK时有效 public float fSetupVal; // 点位类型为YT时有效 public NET_SCADA_POINT_SET_INFO() { this.dwSize = this.size(); } } // 监控点值设置参数列表,CLIENT_SetSCADAInfo()接口输入参数 public static class NET_IN_SCADA_POINT_SET_INFO_LIST extends SdkStructure { public int dwSize; public byte[] szDevID = new byte[NET_COMMON_STRING_32]; // 设备ID public int nPointNum; // 监控点个数 public NET_SCADA_POINT_SET_INFO[] stuList = new NET_SCADA_POINT_SET_INFO[MAX_SCADA_ID_OF_SENSOR_NUM]; // 监控点列表信息 public NET_IN_SCADA_POINT_SET_INFO_LIST() { this.dwSize = this.size(); for (int i = 0; i < stuList.length; ++i) { stuList[i] = new NET_SCADA_POINT_SET_INFO(); } } } // 设置监控点值返回的结果列表,CLIENT_SetSCADAInfo()接口输出参数 public static class NET_OUT_SCADA_POINT_SET_INFO_LIST extends SdkStructure { public int dwSize; public int nSuccess; // 有效的控制或调节成功的ID个数 public SCADA_ID[] stuSuccessIDs = new SCADA_ID[MAX_SCADA_ID_OF_SENSOR_NUM]; // 控制或调节成功的ID的列表 public int nFail; // 有效的控制或调节失败的ID个数 public SCADA_ID[] stuFailIDs = new SCADA_ID[MAX_SCADA_ID_OF_SENSOR_NUM]; // 控制或调节失败的ID的列表 public NET_OUT_SCADA_POINT_SET_INFO_LIST() { this.dwSize = this.size(); for (int i = 0; i < stuSuccessIDs.length; ++i) { stuSuccessIDs[i] = new SCADA_ID(); } for (int i = 0; i < stuFailIDs.length; ++i) { stuFailIDs[i] = new SCADA_ID(); } } } // 获取阈值,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_SCADAGetThreshold(LLong lLoginID, NET_IN_SCADA_GET_THRESHOLD pInParam, NET_OUT_SCADA_GET_THRESHOLD pOutParam, int nWaitTime); // 设置阈值,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_SCADASetThreshold(LLong lLoginID, NET_IN_SCADA_SET_THRESHOLD pInParam, NET_OUT_SCADA_SET_THRESHOLD pOutParam, int nWaitTime); // 开始查询SCADA点位历史数据,pInParam与pOutParam内存由用户申请释放 public LLong CLIENT_StartFindSCADA(LLong lLoginID, NET_IN_SCADA_START_FIND pInParam, NET_OUT_SCADA_START_FIND pOutParam, int nWaitTime); // 获取SCADA点位历史数据,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_DoFindSCADA(LLong lFindHandle, NET_IN_SCADA_DO_FIND pInParam, NET_OUT_SCADA_DO_FIND pOutParam, int nWaitTime); // 停止查询SCADA点位历史数据 public boolean CLIENT_StopFindSCADA(LLong lFindHandle); // 设置监测点位信息,pInParam与pOutParam内存由用户申请释放 public boolean CLIENT_SCADASetInfo(LLong lLoginID, NET_IN_SCADA_POINT_SET_INFO_LIST pInParam, NET_OUT_SCADA_POINT_SET_INFO_LIST pOutParam, int nWaitTime); public static class CFG_SCADA_DEV_INFO extends SdkStructure { public int bEnable; // 是否启用 public byte[] szDevType = new byte[CFG_COMMON_STRING_64]; // 设备类型 public byte[] szDevName = new byte[CFG_COMMON_STRING_64]; // 设备名称, 唯一标示设备用 public int nSlot; // 虚拟槽位号, 详见AlarmSlotBond配置 public int nLevel; // 如果Slot绑定的是NetCollection类型的话,该字段为-1 public CFG_ALARM_MSG_HANDLE stuEventHandler; // 报警联动 } // 高频次报警 public static class CFG_HIGH_FREQUENCY extends SdkStructure { public int nPeriod; // 统计周期, 以秒为单位, 默认30分钟(1800s) public int nMaxCount; // 在对应统计周期内最大允许上报报警数 } // 告警屏蔽规则配置(对应 CFG_CMD_ALARM_SHIELD_RULE) public static class CFG_ALARM_SHIELD_RULE_INFO extends SdkStructure { public CFG_HIGH_FREQUENCY stuHighFreq; // 高频次报警, 在一定周期内允许上报的报警次数,以此过滤对于报警的频繁上报导致信息干扰 } // 获取车位锁状态接口,CLIENT_GetParkingLockState 入参 public static class NET_IN_GET_PARKINGLOCK_STATE_INFO extends SdkStructure { public int dwSize; // 结构体大小 public NET_IN_GET_PARKINGLOCK_STATE_INFO() { this.dwSize = this.size(); } } // 车位锁状态 public static class EM_STATE_TYPE extends SdkStructure { public static final int EM_STATE_TYPE_UNKNOW = 0; // 未知 public static final int EM_STATE_TYPE_LOCKRISE = 1; // 车位锁升起 public static final int EM_STATE_TYPE_LOCKDOWN = 2; // 车位锁降下 public static final int EM_STATE_TYPE_LOCKERROR = 3; // 车位锁异常 } // 车位锁状态通信接口参数 public static class NET_STATE_LIST_INFO extends SdkStructure { public int nLane; // 车位号 public int emState; // 车位锁状态,详见EM_STATE_TYPE public byte[] byReserved = new byte[256]; // 保留 } // 获取车位锁状态, CLIENT_GetParkingLockState 出参 public static class NET_OUT_GET_PARKINGLOCK_STATE_INFO extends SdkStructure { public int dwSize; // 结构体大小 public int nStateListNum; // 车位锁状态个数 public NET_STATE_LIST_INFO[] stuStateList = new NET_STATE_LIST_INFO[MAX_PARKINGLOCK_STATE_NUM]; // 车位锁状态 public NET_OUT_GET_PARKINGLOCK_STATE_INFO() { this.dwSize = this.size(); for (int i = 0; i < stuStateList.length; ++i) { stuStateList[i] = new NET_STATE_LIST_INFO(); } } } // 设置车位锁状态接口,CLIENT_SetParkingLockState 入参 public static class NET_IN_SET_PARKINGLOCK_STATE_INFO extends SdkStructure { public int dwSize; // 结构体大小 public int nStateListNum; // 车位锁状态个数 public NET_STATE_LIST_INFO[] stuStateList = new NET_STATE_LIST_INFO[MAX_PARKINGLOCK_STATE_NUM]; // 车位锁状态 public int nControlType; // 控制车位锁状态类型, 0:未知, 1:平台正常控制, 2:平台手动控制 public NET_IN_SET_PARKINGLOCK_STATE_INFO() { this.dwSize = this.size(); for (int i = 0; i < stuStateList.length; ++i) { stuStateList[i] = new NET_STATE_LIST_INFO(); } } } // 设置车位锁状态接口,CLIENT_SetParkingLockState 出参 public static class NET_OUT_SET_PARKINGLOCK_STATE_INFO extends SdkStructure { public int dwSize; // 结构体大小 public NET_OUT_SET_PARKINGLOCK_STATE_INFO() { this.dwSize = this.size(); } } // 获取车位锁状态 public boolean CLIENT_GetParkingLockState(LLong lLoginID, NET_IN_GET_PARKINGLOCK_STATE_INFO pstInParam, NET_OUT_GET_PARKINGLOCK_STATE_INFO pstOutParam, int nWaitTime); // 设置车位锁状态 public boolean CLIENT_SetParkingLockState(LLong lLoginID, NET_IN_SET_PARKINGLOCK_STATE_INFO pstInParm, NET_OUT_SET_PARKINGLOCK_STATE_INFO pstOutParam, int nWaitTIme); // 刻录配置 public static class CFG_JUDICATURE_INFO extends SdkStructure { public byte[] szDiskPassword = new byte[MAX_PASSWORD_LEN]; // 光盘密码(废弃, 使用szPassword和nPasswordLen) public byte[] szCaseNo = new byte[MAX_OSD_SUMMARY_LEN]; // 案件编号 public int bCaseNoOsdEn; // 案件编号叠加使能 public byte[] szCaseTitle = new byte[MAX_OSD_SUMMARY_LEN]; // 案件名称 public int bCaseTitleOsdEn; // 案件名称叠加使能 public byte[] szOfficer = new byte[MAX_OSD_SUMMARY_LEN]; // 办案人员 public int bOfficerOsdEn; // 办案人员叠加使能 public byte[] szLocation = new byte[MAX_OSD_SUMMARY_LEN]; // 办案地点 public int bLocationOsdEn; // 办案地点叠加使能 public byte[] szRelatedMan = new byte[MAX_OSD_SUMMARY_LEN]; // 涉案人员 public int bRelatedManOsdEn; // 涉案人员叠加使能 public byte[] szDiskNo = new byte[MAX_OSD_SUMMARY_LEN]; // 光盘编号 public int bDiskNoOsdEn; // 光盘编号叠加使能 public int bCustomCase; // TRUE:自定义案件信息,FALSE: 上边szCaseNo等字段有效 public int nCustomCase; // 实际CFG_CUSTOMCASE个数 public CFG_CUSTOMCASE[] stuCustomCases = new CFG_CUSTOMCASE[MAX_CUSTOMCASE_NUM]; // 自定义案件信息 public int bDataCheckOsdEn; // 光盘刻录数据校验配置 叠加使能 public int bAttachFileEn; // 附件上传使能 public byte[] szPassword = new byte[MAX_PASSWORD_LEN]; // 密码, 刻录光盘时、配置读保护密码 public int nPasswordLen; // 密码长度 public CFG_NET_TIME stuStartTime; // 片头信息叠加开始时间 public int nPeriod; // 片头信息叠加时间长度,单位:分钟 public CFG_JUDICATURE_INFO() { for (int i = 0; i < stuCustomCases.length; ++i) { stuCustomCases[i] = new CFG_CUSTOMCASE(); } } } // 自定义案件信息 public static class CFG_CUSTOMCASE extends SdkStructure { public byte[] szCaseTitle = new byte[MAX_OSD_TITLE_LEN]; // 案件名称 public byte[] szCaseContent = new byte[MAX_OSD_SUMMARY_LEN]; // 案件名称 public int bCaseNoOsdEn; // 案件编号叠加使能 } // 叠加类型 public static class NET_EM_OSD_BLEND_TYPE extends SdkStructure { public static final int NET_EM_OSD_BLEND_TYPE_UNKNOWN = 0; // 未知叠加类型 public static final int NET_EM_OSD_BLEND_TYPE_MAIN = 1; // 叠加到主码流 public static final int NET_EM_OSD_BLEND_TYPE_EXTRA1 = 2; // 叠加到辅码流1 public static final int NET_EM_OSD_BLEND_TYPE_EXTRA2 = 3; // 叠加到辅码流2 public static final int NET_EM_OSD_BLEND_TYPE_EXTRA3 = 4; // 叠加到辅码流3 public static final int NET_EM_OSD_BLEND_TYPE_SNAPSHOT = 5; // 叠加到抓图 public static final int NET_EM_OSD_BLEND_TYPE_PREVIEW = 6; // 叠加到预览视频 } // 编码物件-通道标题 public static class NET_OSD_CHANNEL_TITLE extends SdkStructure { public int dwSize; public int emOsdBlendType; // 叠加类型,不管是获取还是设置都要设置该字段,详见NET_EM_OSD_BLEND_TYPE public int bEncodeBlend; // 是否叠加 public NET_COLOR_RGBA stuFrontColor; // 前景色 public NET_COLOR_RGBA stuBackColor; // 背景色 public NET_RECT stuRect; // 区域, 坐标取值[0~8191], 仅使用left和top值, 点(left,top)应和(right,bottom)设置成同样的点 public int emTextAlign; // 文本对齐方式 ,参考枚举{@link EM_TITLE_TEXT_ALIGNTYPE} public NET_OSD_CHANNEL_TITLE() { this.dwSize = this.size(); } } // 编码物件-时间标题 public static class NET_OSD_TIME_TITLE extends SdkStructure { public int dwSize; public int emOsdBlendType; // 叠加类型,不管是获取还是设置都要设置该字段,详见NET_EM_OSD_BLEND_TYPE public int bEncodeBlend; // 是否叠加 public NET_COLOR_RGBA stuFrontColor; // 前景色 public NET_COLOR_RGBA stuBackColor; // 背景色 public NET_RECT stuRect; // 区域, 坐标取值[0~8191], 仅使用left和top值, 点(left,top)应和(right,bottom)设置成同样的点 public int bShowWeek; // 是否显示星期 public NET_OSD_TIME_TITLE() { this.dwSize = this.size(); } } // 编码物件-自定义标题信息 public static class NET_CUSTOM_TITLE_INFO extends SdkStructure { public int bEncodeBlend; // 是否叠加 public NET_COLOR_RGBA stuFrontColor; // 前景色 public NET_COLOR_RGBA stuBackColor; // 背景色 public NET_RECT stuRect; // 区域, 坐标取值[0~8191], 仅使用left和top值, 点(left,top)应和(right,bottom)设置成同样的点 public byte[] szText = new byte[CUSTOM_TITLE_LEN]; // 标题内容 public byte[] byReserved = new byte[512]; // 保留字节 } // 编码物件-自定义标题 public static class NET_OSD_CUSTOM_TITLE extends SdkStructure { public int dwSize; public int emOsdBlendType; // 叠加类型,不管是获取还是设置都要设置该字段,详见NET_EM_OSD_BLEND_TYPE public int nCustomTitleNum; // 自定义标题数量 public NET_CUSTOM_TITLE_INFO[] stuCustomTitle = new NET_CUSTOM_TITLE_INFO[MAX_CUSTOM_TITLE_NUM]; // 自定义标题 public NET_OSD_CUSTOM_TITLE() { this.dwSize = this.size(); for (int i = 0; i < stuCustomTitle.length; ++i) { stuCustomTitle[i] = new NET_CUSTOM_TITLE_INFO(); } } } // 标题文本对齐方式 public static class EM_TITLE_TEXT_ALIGNTYPE extends SdkStructure { public static final int EM_TEXT_ALIGNTYPE_INVALID = 0; // 无效的对齐方式 public static final int EM_TEXT_ALIGNTYPE_LEFT = 1; // 左对齐 public static final int EM_TEXT_ALIGNTYPE_XCENTER = 2; // X坐标中对齐 public static final int EM_TEXT_ALIGNTYPE_YCENTER = 3; // Y坐标中对齐 public static final int EM_TEXT_ALIGNTYPE_CENTER = 4; // 居中 public static final int EM_TEXT_ALIGNTYPE_RIGHT = 5; // 右对齐 public static final int EM_TEXT_ALIGNTYPE_TOP = 6; // 按照顶部对齐 public static final int EM_TEXT_ALIGNTYPE_BOTTOM = 7; // 按照底部对齐 public static final int EM_TEXT_ALIGNTYPE_LEFTTOP = 8; // 按照左上角对齐 public static final int EM_TEXT_ALIGNTYPE_CHANGELINE = 9; // 换行对齐 } // 自定义标题文本对齐 public static class NET_OSD_CUSTOM_TITLE_TEXT_ALIGN extends SdkStructure { public int dwSize; public int nCustomTitleNum; // 自定义标题数量 public int[] emTextAlign = new int[MAX_CUSTOM_TITLE_NUM]; // 自定义标题文本对齐方式,详见EM_TITLE_TEXT_ALIGNTYPE public NET_OSD_CUSTOM_TITLE_TEXT_ALIGN() { this.dwSize = this.size(); } } //编码物件-公共配置信息 public static class NET_OSD_COMM_INFO extends SdkStructure { public int dwSize; public double fFontSizeScale; // 叠加字体大小放大比例 //当fFontSizeScale≠0时,nFontSize不起作用 //当fFontSizeScale=0时,nFontSize起作用 //设备默认fFontSizeScale=1.0 //如果需要修改倍数,修改该值 //如果需要按照像素设置,则置该值为0,nFontSize的值生效 public int nFontSize; // 叠加到主码流上的全局字体大小,单位 px, 默认24. //和fFontSizeScale共同作用 public int nFontSizeExtra1; // 叠加到辅码流1上的全局字体大小,单位 px public int nFontSizeExtra2; // 叠加到辅码流2上的全局字体大小,单位 px public int nFontSizeExtra3; // 叠加到辅码流3上的全局字体大小,单位 px public int nFontSizeSnapshot; // 叠加到抓图流上的全局字体大小, 单位 px public int nFontSizeMergeSnapshot; // 叠加到抓图流上合成图片的字体大小,单位 px public int emFontSolution; // 叠加到主码流上的字体方案,参考枚举{@link EM_OSD_FONT_SOLUTION} public int emFontSolutionExtra1; // 叠加到辅码流1上的字体方案,参考枚举{@link EM_OSD_FONT_SOLUTION} public int emFontSolutionExtra2; // 叠加到辅码流2上的字体方案,参考枚举{@link EM_OSD_FONT_SOLUTION} public int emFontSolutionExtra3; // 叠加到辅码流3上的字体方案,参考枚举{@link EM_OSD_FONT_SOLUTION} public int emFontSolutionSnapshot; // 叠加到抓图码流上的字体方案,参考枚举{@link EM_OSD_FONT_SOLUTION} public int emFontSolutionMergeSnapshot; // 叠加到合成抓图流上的字体方案,参考枚举{@link EM_OSD_FONT_SOLUTION} public NET_OSD_COMM_INFO() { this.dwSize = this.size(); } } // 播报单元类型 public static class NET_PLAYAUDIO_TYPE extends SdkStructure { public static final int NET_PLAYAUDIO_TYPE_UNKNOWN = 0; public static final int NET_PLAYAUDIO_TYPE_PHRASE = 1; // 短语类型,不进行解析,依次读每个字,有该字的语音文件支持 public static final int NET_PLAYAUDIO_TYPE_FILE = 2; // 播放指定路径的语音文件(设备端完整路径) public static final int NET_PLAYAUDIO_TYPE_PLATERNUM = 3; // 播报车牌号码,按车牌号码格式读出 public static final int NET_PLAYAUDIO_TYPE_MONEY = 4; // 播报金额,按金额形式读出 public static final int NET_PLAYAUDIO_TYPE_DATE = 5; // 播报日期,按日期形式读出 public static final int NET_PLAYAUDIO_TYPE_TIME = 6; // 播报时间,按时间形式读出 public static final int NET_PLAYAUDIO_TYPE_EMPTY = 7; // 空类型,停顿一个字符时间 } // 语音播报内容 public static class NET_CTRL_PLAYAUDIO_INFO extends SdkStructure { public int dwSize; public int emPlayAudioType; // 播报单元类型,详见NET_PLAYAUDIO_TYPE,详见NET_PLAYAUDIO_TYPE public byte[] szDetail = new byte[NET_COMMON_STRING_128]; // 详细内容各类型详细内容: // Phrase类型:"欢迎" // File类型: "/home/停车.pcm" // PlateNumbe类型: "浙A12345" // Money类型: "80.12元" // Date类型: "2014年4月10日" // Time类型: "1天10小时20分5秒 public int nRepeatTimes; // 播放重复次数 public int emPriority; // 播放优先级,对应枚举EM_PLAYAUDIO_PRIORITY public NET_CTRL_PLAYAUDIO_INFO() { this.dwSize = this.size(); } } // CLIENT_ControlDevice接口的 DH_CTRL_START_PLAYAUDIOEX 命令参数 public static class NET_CTRL_START_PLAYAUDIOEX extends SdkStructure { public int dwSize; public int nAudioCount; // 播报内容数目 public NET_CTRL_PLAYAUDIO_INFO[] stuAudioInfos = new NET_CTRL_PLAYAUDIO_INFO[NET_MAX_PLAYAUDIO_COUNT]; // 语音播报内容 public int nListRepeatTimes; // 语音播报内容重复次数, 描述所有播报单元 public NET_CTRL_START_PLAYAUDIOEX() { this.dwSize = this.size(); for (int i = 0; i < stuAudioInfos.length; ++i) { stuAudioInfos[i] = new NET_CTRL_PLAYAUDIO_INFO(); } } } // 串口基本属性 public static class CFG_COMM_PROP extends SdkStructure { public byte byDataBit; // 数据位;0:5,1:6,2:7,3:8 public byte byStopBit; // 停止位;0:1位,1:1.5位,2:2位 public byte byParity; // 校验位;0:无校验,1:奇校验;2:偶校验 public byte byBaudRate; // 波特率;0:300,1:600,2:1200,3:2400,4:4800, // 5:9600,6:19200,7:38400,8:57600,9:115200 } // 归位预置点配置 public static class CFG_PRESET_HOMING extends SdkStructure { public int nPtzPresetId; // 云台预置点编号 0~65535 //-1表示无效 public int nFreeSec; // 空闲的时间,单位为秒 } // 云台配置 public static class CFG_PTZ_INFO extends SdkStructure { // 能力 public byte abMartixID; public byte abCamID; public byte abPTZType; // 信息 public int nChannelID; // 通道号(0开始) public int bEnable; // 使能开关 public byte[] szProName = new byte[MAX_NAME_LEN]; // 协议名称 public int nDecoderAddress; // 解码器地址;0 - 255 public CFG_COMM_PROP struComm; public int nMartixID; // 矩阵号 public int nPTZType; // 云台类型0-兼容,本地云台 1-远程网络云台 public int nCamID; // 摄像头ID public int nPort; // 使用的串口端口号 public CFG_PRESET_HOMING stuPresetHoming; // 一段时间不操作云台,自动归位到某个预置点 public int nControlMode; // 控制模式, 0:"RS485"串口控制(默认);1:"Coaxial" 同轴口控制 } // 抓拍物体信息 public static class NET_SNAP_OBJECT_INFO extends SdkStructure { public NET_RECT stuBoundingBox; // 物体包围盒, 点坐标归一化到[0, 8192]坐标 public byte[] byReserved = new byte[512]; // 保留字节 } // CLIENT_SnapPictureByAnalyseObject 接口输入参数 public static class NET_IN_SNAP_BY_ANALYSE_OBJECT extends SdkStructure { public int dwSize; // 结构体大小 public int nChannelID; // 通道号 public byte[] byReserved = new byte[4]; // 字节对齐 public int nSnapObjectNum; // 抓拍物体个数 public NET_SNAP_OBJECT_INFO[] stuSnapObjects = new NET_SNAP_OBJECT_INFO[32]; // 抓拍物体信息 public NET_IN_SNAP_BY_ANALYSE_OBJECT() { this.dwSize = this.size(); for (int i = 0; i < stuSnapObjects.length; ++i) { stuSnapObjects[i] = new NET_SNAP_OBJECT_INFO(); } } } // CLIENT_SnapPictureByAnalyseObject 接口输出参数 public static class NET_OUT_SNAP_BY_ANALYSE_OBJECT extends SdkStructure { public int dwSize; // 结构体大小 public NET_OUT_SNAP_BY_ANALYSE_OBJECT() { this.dwSize = this.size(); } } // 选中目标进行抓拍 public boolean CLIENT_SnapPictureByAnalyseObject(LLong lLoginID, NET_IN_SNAP_BY_ANALYSE_OBJECT pInParam, NET_OUT_SNAP_BY_ANALYSE_OBJECT pOutParam, int nWaitTime); // 热成像着火点报警 public static class ALARM_FIREWARNING_INFO extends SdkStructure { public int nPresetId; // 该字段废弃,请由NET_ALARM_FIREWARNING_INFO事件获取此信息 public int nState; // 0 - 开始,1 - 结束,-1:无意义 public DH_RECT stBoundingBox; // 该字段废弃,请由NET_ALARM_FIREWARNING_INFO事件获取此信息 public int nTemperatureUnit; // 该字段废弃,请由NET_ALARM_FIREWARNING_INFO事件获取此信息 public float fTemperature; // 该字段废弃,请由NET_ALARM_FIREWARNING_INFO事件获取此信息 public int nDistance; // 该字段废弃,请由DH_ALARM_FIREWARNING_INFO事件获取此信息 public GPS_POINT stGpsPoint; // 该字段废弃,请由NET_ALARM_FIREWARNING_INFO事件获取此信息 public int nChannel; // 对应视频通道号 public byte[] reserved = new byte[252]; } // 时间类型 public static class EM_TIME_TYPE extends SdkStructure { public static final int NET_TIME_TYPE_ABSLUTE = 0; // 绝对时间 public static final int NET_TIME_TYPE_RELATIVE = 1; // 相对时间,相对于视频文件头帧为时间基点,头帧对应于UTC(0000-00-00 00:00:00) } // 卡号省份 public static class EM_CARD_PROVINCE extends SdkStructure { public static final int EM_CARD_UNKNOWN = 10; // 解析出错,未知省份 public static final int EM_CARD_BEIJING = 11; // 北京 public static final int EM_CARD_TIANJIN = 12; // 天津 public static final int EM_CARD_HEBEI = 13; // 河北 public static final int EM_CARD_SHANXI_TAIYUAN = 14; // 山西 public static final int EM_CARD_NEIMENGGU = 15; // 内蒙古 public static final int EM_CARD_LIAONING = 21; // 辽宁 public static final int EM_CARD_JILIN = 22; // 吉林 public static final int EM_CARD_HEILONGJIANG = 23; // 黑龙江 public static final int EM_CARD_SHANGHAI = 31; // 上海 public static final int EM_CARD_JIANGSU = 32; // 江苏 public static final int EM_CARD_ZHEJIANG = 33; // 浙江 public static final int EM_CARD_ANHUI = 34; // 安徽 public static final int EM_CARD_FUJIAN = 35; // 福建 public static final int EM_CARD_JIANGXI = 36; // 江西 public static final int EM_CARD_SHANDONG = 37; // 山东 public static final int EM_CARD_HENAN = 41; // 河南 public static final int EM_CARD_HUBEI = 42; // 湖北 public static final int EM_CARD_HUNAN = 43; // 湖南 public static final int EM_CARD_GUANGDONG = 44; // 广东 public static final int EM_CARD_GUANGXI = 45; // 广西 public static final int EM_CARD_HAINAN = 46; // 海南 public static final int EM_CARD_CHONGQING = 50; // 重庆 public static final int EM_CARD_SICHUAN = 51; // 四川 public static final int EM_CARD_GUIZHOU = 52; // 贵州 public static final int EM_CARD_YUNNAN = 53; // 云南 public static final int EM_CARD_XIZANG = 54; // 西藏 public static final int EM_CARD_SHANXI_XIAN = 61; // 陕西 public static final int EM_CARD_GANSU = 62; // 甘肃 public static final int EM_CARD_QINGHAI = 63; // 青海 public static final int EM_CARD_NINGXIA = 64; // 宁夏 public static final int EM_CARD_XINJIANG = 65; // 新疆 public static final int EM_CARD_XIANGGANG = 71; // 香港 public static final int EM_CARD_AOMEN = 82; // 澳门 public static final int EM_CARD_TAIWAN = 83; // 台湾 } // 车辆类型 public static class EM_CAR_TYPE extends SdkStructure { public static final int EM_CAR_0 = 0; // 其他车辆 public static final int EM_CAR_1 = 1; // 大型普通客车 public static final int EM_CAR_2 = 2; // 大型双层客车 public static final int EM_CAR_3 = 3; // 大型卧铺客车 public static final int EM_CAR_4 = 4; // 大型铰接客车 public static final int EM_CAR_5 = 5; // 大型越野客车 public static final int EM_CAR_6 = 6; // 大型轿车 public static final int EM_CAR_7 = 7; // 大型专用客车 public static final int EM_CAR_8 = 8; // 大型专用校车 public static final int EM_CAR_9 = 9; // 中型普通客车 public static final int EM_CAR_10 = 10; // 中型双层客车 public static final int EM_CAR_11 = 11; // 中型卧铺客车 public static final int EM_CAR_12 = 12; // 中型铰接客车 public static final int EM_CAR_13 = 13; // 中型越野客车 public static final int EM_CAR_14 = 14; // 中型轿车 public static final int EM_CAR_15 = 15; // 中型专用客车 public static final int EM_CAR_16 = 16; // 中型专用校车 public static final int EM_CAR_17 = 17; // 小型普通客车 public static final int EM_CAR_18 = 18; // 小型越野客车 public static final int EM_CAR_19 = 19; // 小型轿车 public static final int EM_CAR_20 = 20; // 小型专用客车 public static final int EM_CAR_21 = 21; // 小型专用校车 public static final int EM_CAR_22 = 22; // 小型面包车 public static final int EM_CAR_23 = 23; // 微型普通客车 public static final int EM_CAR_24 = 24; // 微型越野客车 public static final int EM_CAR_25 = 25; // 微型轿车 public static final int EM_CAR_26 = 26; // 微型面包车 public static final int EM_CAR_27 = 27; // 重型半挂牵引车 public static final int EM_CAR_28 = 28; // 重型全挂牵引车 public static final int EM_CAR_29 = 29; // 中型半挂牵引车 public static final int EM_CAR_30 = 30; // 中型全挂牵引车 public static final int EM_CAR_31 = 31; // 轻型半挂牵引车 public static final int EM_CAR_32 = 32; // 轻型全挂牵引车 public static final int EM_CAR_33 = 33; // 大型非载货专项作业车 public static final int EM_CAR_34 = 34; // 大型载货专项作业车 public static final int EM_CAR_35 = 35; // 中型非载货专项作业车 public static final int EM_CAR_36 = 36; // 中型载货专项作业车 public static final int EM_CAR_37 = 37; // 小型非载货专项作业车 public static final int EM_CAR_38 = 38; // 小型载货专项作业车 public static final int EM_CAR_39 = 39; // 微型非载货专项作业车 public static final int EM_CAR_40 = 40; // 微型载货专项作业车 public static final int EM_CAR_41 = 41; // 重型非载货专项作业车 public static final int EM_CAR_42 = 42; // 重型载货专项作业车 public static final int EM_CAR_43 = 43; // 轻型非载货专项作业车 public static final int EM_CAR_44 = 44; // 轻型载货专项作业车 public static final int EM_CAR_45 = 45; // 普通正三轮摩托车 public static final int EM_CAR_46 = 46; // 轻便正三轮摩托车 public static final int EM_CAR_47 = 47; // 正三轮载客摩托车 public static final int EM_CAR_48 = 48; // 正三轮载货摩托车 public static final int EM_CAR_49 = 49; // 侧三轮摩托车 public static final int EM_CAR_50 = 50; // 普通二轮摩托车 public static final int EM_CAR_51 = 51; // 轻便二轮摩托车 public static final int EM_CAR_52 = 52; // 无轨电车 public static final int EM_CAR_53 = 53; // 有轨电车 public static final int EM_CAR_54 = 54; // 三轮汽车 public static final int EM_CAR_55 = 55; // 轮式装载机械 public static final int EM_CAR_56 = 56; // 轮式挖掘机械 public static final int EM_CAR_57 = 57; // 轮式平地机械 public static final int EM_CAR_58 = 58; // 重型普通货车 public static final int EM_CAR_59 = 59; // 重型厢式货车 public static final int EM_CAR_60 = 60; // 重型封闭货车 public static final int EM_CAR_61 = 61; // 重型罐式货车 public static final int EM_CAR_62 = 62; // 重型平板货车 public static final int EM_CAR_63 = 63; // 重型集装箱车 public static final int EM_CAR_64 = 64; // 重型自卸货车 public static final int EM_CAR_65 = 65; // 重型特殊结构货车 public static final int EM_CAR_66 = 66; // 重型仓栅式货车 public static final int EM_CAR_67 = 67; // 重型车辆运输车 public static final int EM_CAR_68 = 68; // 重型厢式自卸货车 public static final int EM_CAR_69 = 69; // 重型罐式自卸货车 public static final int EM_CAR_70 = 70; // 重型平板自卸货车 public static final int EM_CAR_71 = 71; // 重型集装箱自卸货车 public static final int EM_CAR_72 = 72; // 重型特殊结构自卸货车 public static final int EM_CAR_73 = 73; // 重型仓栅式自卸货车 public static final int EM_CAR_74 = 74; // 中型普通货车 public static final int EM_CAR_75 = 75; // 中型厢式货车 public static final int EM_CAR_76 = 76; // 中型封闭货车 public static final int EM_CAR_77 = 77; // 中型罐式货车 public static final int EM_CAR_78 = 78; // 中型平板货车 public static final int EM_CAR_79 = 79; // 中型集装箱车 public static final int EM_CAR_80 = 80; // 中型自卸货车 public static final int EM_CAR_81 = 81; // 中型特殊结构货车 public static final int EM_CAR_82 = 82; // 中型仓栅式货车 public static final int EM_CAR_83 = 83; // 中型车辆运输车 public static final int EM_CAR_84 = 84; // 中型厢式自卸货车 public static final int EM_CAR_85 = 85; // 中型罐式自卸货车 public static final int EM_CAR_86 = 86; // 中型平板自卸货车 public static final int EM_CAR_87 = 87; // 中型集装箱自卸货车 public static final int EM_CAR_88 = 88; // 中型特殊结构自卸货车 public static final int EM_CAR_89 = 89; // 中型仓栅式自卸货车 public static final int EM_CAR_90 = 90; // 轻型普通货车 public static final int EM_CAR_91 = 91; // 轻型厢式货车 public static final int EM_CAR_92 = 92; // 轻型封闭货车 public static final int EM_CAR_93 = 93; // 轻型罐式货车 public static final int EM_CAR_94 = 94; // 轻型平板货车 public static final int EM_CAR_95 = 95; // 轻型自卸货车 public static final int EM_CAR_96 = 96; // 轻型特殊结构货车 public static final int EM_CAR_97 = 97; // 轻型仓栅式货车 public static final int EM_CAR_98 = 98; // 轻型车辆运输车 public static final int EM_CAR_99 = 99; // 轻型厢式自卸货车 public static final int EM_CAR_100 = 100; // 轻型罐式自卸货车 public static final int EM_CAR_101 = 101; // 轻型平板自卸货车 public static final int EM_CAR_102 = 102; // 轻型特殊结构自卸货车 public static final int EM_CAR_103 = 103; // 轻型仓栅式自卸货车 public static final int EM_CAR_104 = 104; // 微型普通货车 public static final int EM_CAR_105 = 105; // 微型厢式货车 public static final int EM_CAR_106 = 106; // 微型封闭货车 public static final int EM_CAR_107 = 107; // 微型罐式货车 public static final int EM_CAR_108 = 108; // 微型自卸货车 public static final int EM_CAR_109 = 109; // 微型特殊结构货车 public static final int EM_CAR_110 = 110; // 微型仓栅式货车 public static final int EM_CAR_111 = 111; // 微型车辆运输车 public static final int EM_CAR_112 = 112; // 微型厢式自卸货车 public static final int EM_CAR_113 = 113; // 微型罐式自卸货车 public static final int EM_CAR_114 = 114; // 微型特殊结构自卸货车 public static final int EM_CAR_115 = 115; // 微型仓栅式自卸货车 public static final int EM_CAR_116 = 116; // 普通低速货车 public static final int EM_CAR_117 = 117; // 厢式低速货车 public static final int EM_CAR_118 = 118; // 罐式低速货车 public static final int EM_CAR_119 = 119; // 自卸低速货车 public static final int EM_CAR_120 = 120; // 仓栅式低速货车 public static final int EM_CAR_121 = 121; // 厢式自卸低速货车 public static final int EM_CAR_122 = 122; // 罐式自卸低速货车 public static final int EM_CAR_123 = 123; // 重型普通全挂车 public static final int EM_CAR_124 = 124; // 重型厢式全挂车 public static final int EM_CAR_125 = 125; // 重型罐式全挂车 public static final int EM_CAR_126 = 126; // 重型平板全挂车 public static final int EM_CAR_127 = 127; // 重型集装箱全挂车 public static final int EM_CAR_128 = 128; // 重型自卸全挂车 public static final int EM_CAR_129 = 129; // 重型仓栅式全挂车 public static final int EM_CAR_130 = 130; // 重型旅居全挂车 public static final int EM_CAR_131 = 131; // 重型专项作业全挂车 public static final int EM_CAR_132 = 132; // 重型厢式自卸全挂车 public static final int EM_CAR_133 = 133; // 重型罐式自卸全挂车 public static final int EM_CAR_134 = 134; // 重型平板自卸全挂车 public static final int EM_CAR_135 = 135; // 重型集装箱自卸全挂车 public static final int EM_CAR_136 = 136; // 重型仓栅式自卸全挂车 public static final int EM_CAR_137 = 137; // 重型专项作业自卸全挂车 public static final int EM_CAR_138 = 138; // 中型普通全挂车 public static final int EM_CAR_139 = 139; // 中型厢式全挂车 public static final int EM_CAR_140 = 140; // 中型罐式全挂车 public static final int EM_CAR_141 = 141; // 中型平板全挂车 public static final int EM_CAR_142 = 142; // 中型集装箱全挂车 public static final int EM_CAR_143 = 143; // 中型自卸全挂车 public static final int EM_CAR_144 = 144; // 中型仓栅式全挂车 public static final int EM_CAR_145 = 145; // 中型旅居全挂车 public static final int EM_CAR_146 = 146; // 中型专项作业全挂车 public static final int EM_CAR_147 = 147; // 中型厢式自卸全挂车 public static final int EM_CAR_148 = 148; // 中型罐式自卸全挂车 public static final int EM_CAR_149 = 149; // 中型平板自卸全挂车 public static final int EM_CAR_150 = 150; // 中型集装箱自卸全挂车 public static final int EM_CAR_151 = 151; // 中型仓栅式自卸全挂车 public static final int EM_CAR_152 = 152; // 中型专项作业自卸全挂车 public static final int EM_CAR_153 = 153; // 轻型普通全挂车 public static final int EM_CAR_154 = 154; // 轻型厢式全挂车 public static final int EM_CAR_155 = 155; // 轻型罐式全挂车 public static final int EM_CAR_156 = 156; // 轻型平板全挂车 public static final int EM_CAR_157 = 157; // 轻型自卸全挂车 public static final int EM_CAR_158 = 158; // 轻型仓栅式全挂车 public static final int EM_CAR_159 = 159; // 轻型旅居全挂车 public static final int EM_CAR_160 = 160; // 轻型专项作业全挂车 public static final int EM_CAR_161 = 161; // 轻型厢式自卸全挂车 public static final int EM_CAR_162 = 162; // 轻型罐式自卸全挂车 public static final int EM_CAR_163 = 163; // 轻型平板自卸全挂车 public static final int EM_CAR_164 = 164; // 轻型集装箱自卸全挂车 public static final int EM_CAR_165 = 165; // 轻型仓栅式自卸全挂车 public static final int EM_CAR_166 = 166; // 轻型专项作业自卸全挂车 public static final int EM_CAR_167 = 167; // 重型普通半挂车 public static final int EM_CAR_168 = 168; // 重型厢式半挂车 public static final int EM_CAR_169 = 169; // 重型罐式半挂车 public static final int EM_CAR_170 = 170; // 重型平板半挂车 public static final int EM_CAR_171 = 171; // 重型集装箱半挂车 public static final int EM_CAR_172 = 172; // 重型自卸半挂车 public static final int EM_CAR_173 = 173; // 重型特殊结构半挂车 public static final int EM_CAR_174 = 174; // 重型仓栅式半挂车 public static final int EM_CAR_175 = 175; // 重型旅居半挂车 public static final int EM_CAR_176 = 176; // 重型专项作业半挂车 public static final int EM_CAR_177 = 177; // 重型低平板半挂车 public static final int EM_CAR_178 = 178; // 重型车辆运输半挂车 public static final int EM_CAR_179 = 179; // 重型罐式自卸半挂车 public static final int EM_CAR_180 = 180; // 重型平板自卸半挂车 public static final int EM_CAR_181 = 181; // 重型集装箱自卸半挂车 public static final int EM_CAR_182 = 182; // 重型特殊结构自卸半挂车 public static final int EM_CAR_183 = 183; // 重型仓栅式自卸半挂车 public static final int EM_CAR_184 = 184; // 重型专项作业自卸半挂车 public static final int EM_CAR_185 = 185; // 重型低平板自卸半挂车 public static final int EM_CAR_186 = 186; // 重型中置轴旅居挂车 public static final int EM_CAR_187 = 187; // 重型中置轴车辆运输车 public static final int EM_CAR_188 = 188; // 重型中置轴普通挂车 public static final int EM_CAR_189 = 189; // 中型普通半挂车 public static final int EM_CAR_190 = 190; // 中型厢式半挂车 public static final int EM_CAR_191 = 191; // 中型罐式半挂车 public static final int EM_CAR_192 = 192; // 中型平板半挂车 public static final int EM_CAR_193 = 193; // 中型集装箱半挂车 public static final int EM_CAR_194 = 194; // 中型自卸半挂车 public static final int EM_CAR_195 = 195; // 中型特殊结构半挂车 public static final int EM_CAR_196 = 196; // 中型仓栅式半挂车 public static final int EM_CAR_197 = 197; // 中型旅居半挂车 public static final int EM_CAR_198 = 198; // 中型专项作业半挂车 public static final int EM_CAR_199 = 199; // 中型低平板半挂车 public static final int EM_CAR_200 = 200; // 中型车辆运输半挂车 public static final int EM_CAR_201 = 201; // 中型罐式自卸半挂车 public static final int EM_CAR_202 = 202; // 中型平板自卸半挂车 public static final int EM_CAR_203 = 203; // 中型集装箱自卸半挂车 public static final int EM_CAR_204 = 204; // 中型特殊结构自卸挂车 public static final int EM_CAR_205 = 205; // 中型仓栅式自卸半挂车 public static final int EM_CAR_206 = 206; // 中型专项作业自卸半挂车 public static final int EM_CAR_207 = 207; // 中型低平板自卸半挂车 public static final int EM_CAR_208 = 208; // 中型中置轴旅居挂车 public static final int EM_CAR_209 = 209; // 中型中置轴车辆运输车 public static final int EM_CAR_210 = 210; // 中型中置轴普通挂车 public static final int EM_CAR_211 = 211; // 轻型普通半挂车 public static final int EM_CAR_212 = 212; // 轻型厢式半挂车 public static final int EM_CAR_213 = 213; // 轻型罐式半挂车 public static final int EM_CAR_214 = 214; // 轻型平板半挂车 public static final int EM_CAR_215 = 215; // 轻型自卸半挂车 public static final int EM_CAR_216 = 216; // 轻型仓栅式半挂车 public static final int EM_CAR_217 = 217; // 轻型旅居半挂车 public static final int EM_CAR_218 = 218; // 轻型专项作业半挂车 public static final int EM_CAR_219 = 219; // 轻型低平板半挂车 public static final int EM_CAR_220 = 220; // 轻型车辆运输半挂车 public static final int EM_CAR_221 = 221; // 轻型罐式自卸半挂车 public static final int EM_CAR_222 = 222; // 轻型平板自卸半挂车 public static final int EM_CAR_223 = 223; // 轻型集装箱自卸半挂车 public static final int EM_CAR_224 = 224; // 轻型特殊结构自卸挂车 public static final int EM_CAR_225 = 225; // 轻型仓栅式自卸半挂车 public static final int EM_CAR_226 = 226; // 轻型专项作业自卸半挂车 public static final int EM_CAR_227 = 227; // 轻型低平板自卸半挂车 public static final int EM_CAR_228 = 228; // 轻型中置轴旅居挂车 public static final int EM_CAR_229 = 229; // 轻型中置轴车辆运输车 public static final int EM_CAR_230 = 230; // 轻型中置轴普通挂车 } // 号牌类型 public static class EM_PLATE_TYPE extends SdkStructure { public static final int EM_PLATE_OTHER = 0; // 其他车 public static final int EM_PLATE_BIG_CAR = 1; // 大型汽车 public static final int EM_PLATE_SMALL_CAR = 2; // 小型汽车 public static final int EM_PLATE_EMBASSY_CAR = 3; // 使馆汽车 public static final int EM_PLATE_CONSULATE_CAR = 4; // 领馆汽车 public static final int EM_PLATE_ABROAD_CAR = 5; // 境外汽车 public static final int EM_PLATE_FOREIGN_CAR = 6; // 外籍汽车 public static final int EM_PLATE_LOW_SPEED_CAR = 7; // 低速车 public static final int EM_PLATE_COACH_CAR = 8; // 教练车 public static final int EM_PLATE_MOTORCYCLE = 9; // 摩托车 public static final int EM_PLATE_NEW_POWER_CAR = 10; // 新能源车 public static final int EM_PLATE_POLICE_CAR = 11; // 警用车 public static final int EM_PLATE_HONGKONG_MACAO_CAR = 12; // 港澳两地车 public static final int EM_PLATE_WJPOLICE_CAR = 13; // public static final int EM_PLATE_OUTERGUARD_CAR = 14; // } // 车身颜色 public static class EM_CAR_COLOR_TYPE extends SdkStructure { public static final int EM_CAR_COLOR_WHITE = 0; // 白色 public static final int EM_CAR_COLOR_BLACK = 1; // 黑色 public static final int EM_CAR_COLOR_RED = 2; // 红色 public static final int EM_CAR_COLOR_YELLOW = 3; // 黄色 public static final int EM_CAR_COLOR_GRAY = 4; // 灰色 public static final int EM_CAR_COLOR_BLUE = 5; // 蓝色 public static final int EM_CAR_COLOR_GREEN = 6; // 绿色 public static final int EM_CAR_COLOR_PINK = 7; // 粉色 public static final int EM_CAR_COLOR_PURPLE = 8; // 紫色 public static final int EM_CAR_COLOR_DARK_PURPLE = 9; // 暗紫色 public static final int EM_CAR_COLOR_BROWN = 10; // 棕色 public static final int EM_CAR_COLOR_MAROON = 11; // 粟色 public static final int EM_CAR_COLOR_SILVER_GRAY = 12; // 银灰色 public static final int EM_CAR_COLOR_DARK_GRAY = 13; // 暗灰色 public static final int EM_CAR_COLOR_WHITE_SMOKE = 14; // 白烟色 public static final int EM_CAR_COLOR_DEEP_ORANGE = 15; // 深橙色 public static final int EM_CAR_COLOR_LIGHT_ROSE = 16; // 浅玫瑰色 public static final int EM_CAR_COLOR_TOMATO_RED = 17; // 番茄红色 public static final int EM_CAR_COLOR_OLIVE = 18; // 橄榄色 public static final int EM_CAR_COLOR_GOLDEN = 19; // 金色 public static final int EM_CAR_COLOR_DARK_OLIVE = 20; // 暗橄榄色 public static final int EM_CAR_COLOR_YELLOW_GREEN = 21; // 黄绿色 public static final int EM_CAR_COLOR_GREEN_YELLOW = 22; // 绿黄色 public static final int EM_CAR_COLOR_FOREST_GREEN = 23; // 森林绿 public static final int EM_CAR_COLOR_OCEAN_BLUE = 24; // 海洋绿 public static final int EM_CAR_COLOR_DEEP_SKYBLUE = 25; // 深天蓝 public static final int EM_CAR_COLOR_CYAN = 26; // 青色 public static final int EM_CAR_COLOR_DEEP_BLUE = 27; // 深蓝色 public static final int EM_CAR_COLOR_DEEP_RED = 28; // 深红色 public static final int EM_CAR_COLOR_DEEP_GREEN = 29; // 深绿色 public static final int EM_CAR_COLOR_DEEP_YELLOW = 30; // 深黄色 public static final int EM_CAR_COLOR_DEEP_PINK = 31; // 深粉色 public static final int EM_CAR_COLOR_DEEP_PURPLE = 32; // 深紫色 public static final int EM_CAR_COLOR_DEEP_BROWN = 33; // 深棕色 public static final int EM_CAR_COLOR_DEEP_CYAN = 34; // 深青色 public static final int EM_CAR_COLOR_ORANGE = 35; // 橙色 public static final int EM_CAR_COLOR_DEEP_GOLDEN = 36; // 深金色 public static final int EM_CAR_COLOR_OTHER = 255; // 未识别、其他 } // 使用性质 public static class EM_USE_PROPERTY_TYPE extends SdkStructure { public static final int EM_USE_PROPERTY_NONOPERATING = 0; // 非营运 public static final int EM_USE_PROPERTY_HIGWAY = 1; // 公路客运,旅游客运 public static final int EM_USE_PROPERTY_BUS = 2; // 公交客运 public static final int EM_USE_PROPERTY_TAXI = 3; // 出租客运 public static final int EM_USE_PROPERTY_FREIGHT = 4; // 货运 public static final int EM_USE_PROPERTY_LEASE = 5; // 租赁 public static final int EM_USE_PROPERTY_SECURITY = 6; // 警用,消防,救护,工程救险 public static final int EM_USE_PROPERTY_COACH = 7; // 教练 public static final int EM_USE_PROPERTY_SCHOOLBUS = 8; // 幼儿校车,小学生校车,其他校车 public static final int EM_USE_PROPERTY_FOR_DANGE_VEHICLE = 9; // 危化品运输 public static final int EM_USE_PROPERTY_OTHER = 10; // 其他 public static final int EM_USE_PROPERTY_ONLINE_CAR_HAILING = 11; // 网约车 } // 大类业务方案 public static class EM_CLASS_TYPE extends SdkStructure { public static final int EM_CLASS_UNKNOWN = 0; // 未知业务 public static final int EM_CLASS_VIDEO_SYNOPSIS = 1; // 视频浓缩 public static final int EM_CLASS_TRAFFIV_GATE = 2; // 卡口 public static final int EM_CLASS_ELECTRONIC_POLICE = 3; // 电警 public static final int EM_CLASS_SINGLE_PTZ_PARKING = 4; // 单球违停 public static final int EM_CLASS_PTZ_PARKINBG = 5; // 主从违停 public static final int EM_CLASS_TRAFFIC = 6; // 交通事件"Traffic" public static final int EM_CLASS_NORMAL = 7; // 通用行为分析"Normal" public static final int EM_CLASS_PS = 8; public static final int EM_CLASS_ATM = 9; // 金融行为分析"ATM" public static final int EM_CLASS_METRO = 10; // 地铁行为分析 public static final int EM_CLASS_FACE_DETECTION = 11; // 目标检测"FaceDetection" public static final int EM_CLASS_FACE_RECOGNITION = 12; // 目标识别"FaceRecognition" public static final int EM_CLASS_NUMBER_STAT = 13; // 人数统计"NumberStat" public static final int EM_CLASS_HEAT_MAP = 14; // 热度图"HeatMap" public static final int EM_CLASS_VIDEO_DIAGNOSIS = 15; // 视频诊断"VideoDiagnosis" public static final int EM_CLASS_VIDEO_ENHANCE = 16; // 视频增强 public static final int EM_CLASS_SMOKEFIRE_DETECT = 17; // 烟火检测 public static final int EM_CLASS_VEHICLE_ANALYSE = 18; // 车辆特征识别"VehicleAnalyse" public static final int EM_CLASS_PERSON_FEATURE = 19; // 人员特征识别 public static final int EM_CLASS_SDFACEDETECTION = 20; // 多预置点目标检测"SDFaceDetect" //配置一条规则但可以在不同预置点下生效 public static final int EM_CLASS_HEAT_MAP_PLAN = 21; // 球机热度图计划"HeatMapPlan" public static final int EM_CLASS_NUMBERSTAT_PLAN = 22; // 球机客流量统计计划 "NumberStatPlan" public static final int EM_CLASS_ATMFD = 23; // 金融目标检测,包括正常人脸、异常人脸、相邻人脸、头盔人脸等针对ATM场景特殊优化 public static final int EM_CLASS_HIGHWAY = 24; // 高速交通事件检测"Highway" public static final int EM_CLASS_CITY = 25; // 城市交通事件检测 "City" public static final int EM_CLASS_LETRACK = 26; // 民用简易跟踪"LeTrack" public static final int EM_CLASS_SCR = 27; // 打靶相机"SCR" public static final int EM_CLASS_STEREO_VISION = 28; // 立体视觉(双目)"StereoVision" public static final int EM_CLASS_HUMANDETECT = 29; // 人体检测"HumanDetect" public static final int EM_CLASS_FACE_ANALYSIS = 30; // 人脸分析 "FaceAnalysis" public static final int EM_CALSS_XRAY_DETECTION = 31; // X光检测 "XRayDetection" public static final int EM_CLASS_STEREO_NUMBER = 32; // 双目相机客流量统计 "StereoNumber" public static final int EM_CLASS_CROWDDISTRIMAP = 33; // 人群分布图 public static final int EM_CLASS_OBJECTDETECT = 34; // 目标检测 public static final int EM_CLASS_FACEATTRIBUTE = 35; // IVSS目标检测 "FaceAttribute" public static final int EM_CLASS_FACECOMPARE = 36; // IVSS目标识别 "FaceCompare" public static final int EM_CALSS_STEREO_BEHAVIOR = 37; // 立体行为分析 "StereoBehavior" public static final int EM_CALSS_INTELLICITYMANAGER = 38; // 智慧城管 "IntelliCityMgr" public static final int EM_CALSS_PROTECTIVECABIN = 39; // 防护舱(ATM舱内)"ProtectiveCabin" public static final int EM_CALSS_AIRPLANEDETECT = 40; // 飞机行为检测 "AirplaneDetect" public static final int EM_CALSS_CROWDPOSTURE = 41; // 人群态势(人群分布图服务)"CrowdPosture" public static final int EM_CLASS_PHONECALLDETECT = 42; // 打电话检测 "PhoneCallDetect" public static final int EM_CLASS_SMOKEDETECTION = 43; // 烟雾检测 "SmokeDetection" public static final int EM_CLASS_BOATDETECTION = 44; // 船只检测 "BoatDetection" public static final int EM_CLASS_SMOKINGDETECT = 45; // 吸烟检测 "SmokingDetect" public static final int EM_CLASS_WATERMONITOR = 46; // 水利监测 "WaterMonitor" public static final int EM_CLASS_GENERATEGRAPHDETECTION = 47; // 生成图规则 "GenerateGraphDetection" public static final int EM_CLASS_TRAFFIC_PARK = 48; // 交通停车 "TrafficPark" public static final int EM_CLASS_OPERATEMONITOR = 49; // 作业检测 "OperateMonitor" public static final int EM_CLASS_INTELLI_RETAIL = 50; // 智慧零售大类 "IntelliRetail" public static final int EM_CLASS_CLASSROOM_ANALYSE = 51; // 教育智慧课堂"ClassroomAnalyse" public static final int EM_CLASS_FEATURE_ABSTRACT = 52; // 特征向量提取大类 "FeatureAbstract" public static final int EM_CLASS_CROWD_ABNORMAL = 60; // 人群异常检测 "CrowdAbnormal" public static final int EM_CLASS_ANATOMY_TEMP_DETECT = 63; // 人体温智能检测 "AnatomyTempDetect" public static final int EM_CLASS_WEATHER_MONITOR = 64; // 天气监控 "WeatherMonitor" public static final int EM_CLASS_ELEVATOR_ACCESS_CONTROL = 65; // 电梯门禁 "ElevatorAccessControl" public static final int EM_CLASS_BREAK_RULE_BUILDING = 66; // 违章建筑 "BreakRuleBuilding" public static final int EM_CLASS_FOREIGN_DETECT = 67; // 异物检测 "ForeignDetection" public static final int EM_CLASS_PANORAMA_TRAFFIC = 68; // 全景交通 "PanoramaTraffic" public static final int EM_CLASS_CONVEY_OR_BLOCK = 69; // 传送带阻塞 "ConveyorBlock" public static final int EM_CLASS_KITCHEN_ANIMAL = 70; // 厨房有害动物检测 "KitchenAnimal" public static final int EM_CLASS_ALLSEEINGEYE = 71; // 万物检测 "AllSeeingEye" public static final int EM_CLASS_INTELLI_FIRE_CONTROL = 72; // 智慧消防 "IntelliFireControl" public static final int EM_CLASS_CONVERYER_BELT = 73; // 传送带检测 "ConveyerBelt" public static final int EM_CLASS_INTELLI_LOGISTICS = 74; // 智慧物流 "IntelliLogistics" public static final int EM_CLASS_SMOKE_FIRE = 75; // 烟火检测"SmokeFire" public static final int EM_CLASS_OBJECT_MONITOR = 76; // 物品监控"ObjectMonitor" public static final int EM_CLASS_INTELLI_PARKING = 77; // 智能停车"IntelliParking" } // 交通车辆行驶方向类型 public static class EM_TRAFFICCAR_MOVE_DIRECTION extends SdkStructure { public static final int EM_TRAFFICCAR_MOVE_DIRECTION_UNKNOWN = 0; // 未知的 public static final int EM_TRAFFICCAR_MOVE_DIRECTION_STRAIGHT = 1; // 直行 public static final int EM_TRAFFICCAR_MOVE_DIRECTION_TURN_LEFT = 2; // 左转 public static final int EM_TRAFFICCAR_MOVE_DIRECTION_TURN_RIGHT = 3; // 右转 public static final int EM_TRAFFICCAR_MOVE_DIRECTION_TURN_AROUND = 4; // 掉头 } // 货物通道信息(物流) public static class NET_CUSTOM_INFO extends SdkStructure { public int nCargoChannelNum; // 货物通道个数 public float[] fCoverageRate = new float[MAX_CARGO_CHANNEL_NUM]; // 货物覆盖率 public byte[] byReserved = new byte[40]; // 保留字节 } // 车辆物件类型 public static class EM_COMM_ATTACHMENT_TYPE extends SdkStructure { public static final int COMM_ATTACHMENT_TYPE_UNKNOWN = 0; // 未知类型 public static final int COMM_ATTACHMENT_TYPE_FURNITURE = 1; // 摆件 public static final int COMM_ATTACHMENT_TYPE_PENDANT = 2; // 挂件 public static final int COMM_ATTACHMENT_TYPE_TISSUEBOX = 3; // 纸巾盒 public static final int COMM_ATTACHMENT_TYPE_DANGER = 4; // 危险品 public static final int COMM_ATTACHMENT_TYPE_PERFUMEBOX = 5; // 香水 } // 按功能划分的车辆类型 public static class EM_VEHICLE_TYPE_BY_FUNC extends SdkStructure { public static final int EM_VEHICLE_TYPE_BY_FUNC_UNKNOWN = 0; // 未知 /*以下为特种车辆类型*/ public static final int EM_VEHICLE_TYPE_BY_FUNC_TANK_CAR = 1; // 危化品车辆 public static final int EM_VEHICLE_TYPE_BY_FUNC_SLOT_TANK_CAR = 2; // 槽罐车 public static final int EM_VEHICLE_TYPE_BY_FUNC_DREGS_CAR = 3; // 渣土车 public static final int EM_VEHICLE_TYPE_BY_FUNC_CONCRETE_MIXER_TRUCK = 4; // 混凝土搅拌车 public static final int EM_VEHICLE_TYPE_BY_FUNC_TAXI = 5; // 出租车 public static final int EM_VEHICLE_TYPE_BY_FUNC_POLICE = 6; // 警车 public static final int EM_VEHICLE_TYPE_BY_FUNC_AMBULANCE = 7; // 救护车 public static final int EM_VEHICLE_TYPE_BY_FUNC_GENERAL = 8; // 普通车 public static final int EM_VEHICLE_TYPE_BY_FUNC_WATERING_CAR = 9; // 洒水车 public static final int EM_VEHICLE_TYPE_BY_FUNC_FIRE_ENGINE = 10; // 消防车 public static final int EM_VEHICLE_TYPE_BY_FUNC_MACHINESHOP_TRUCK = 11; // 工程车 public static final int EM_VEHICLE_TYPE_BY_FUNC_POWER_LOT_VEHICLE = 12; // 粉粒物料车 public static final int EM_VEHICLE_TYPE_BY_FUNC_SUCTION_SEWAGE_TRUCK = 13; // 吸污车 public static final int EM_VEHICLE_TYPE_BY_FUNC_NORMAL_TANK_TRUCK = 14; // 普通罐车 public static final int EM_VEHICLE_TYPE_BY_FUNC_SCHOOL_BUS = 15; // 校车 public static final int EM_VEHICLE_TYPE_BY_FUNC_EXCAVATOR = 16; // 挖掘机 public static final int EM_VEHICLE_TYPE_BY_FUNC_BULLDOZER = 17; // 推土车 public static final int EM_VEHICLE_TYPE_BY_FUNC_CRANE = 18; // 吊车 public static final int EM_VEHICLE_TYPE_BY_FUNC_PUMP_TRUCK = 19; // 泵车 public static final int EM_VEHICLE_TYPE_BY_FUNC_POULTRY = 20; // 禽畜车 public static final int EM_VEHICLE_TYPE_BY_FUNC_TRACTOR = 21; // 拖拉机 /*以上为特种车辆类型*/ } // 标准车辆类型 public static class EM_STANDARD_VEHICLE_TYPE extends SdkStructure { public static final int EM_STANDARD_VEHICLE_UNKNOWN = 0; // 未知 public static final int EM_STANDARD_VEHICLE_MOTOR = 1; // 机动车 public static final int EM_STANDARD_VEHICLE_BUS = 2; // 公交车 public static final int EM_STANDARD_VEHICLE_UNLICENSED_MOTOR = 3; // 无牌机动车 public static final int EM_STANDARD_VEHICLE_LARGE_CAR = 4; // 大型汽车 public static final int EM_STANDARD_VEHICLE_MICRO_CAR = 5; // 小型汽车 public static final int EM_STANDARD_VEHICLE_EMBASSY_CAR = 6; // 使馆汽车 public static final int EM_STANDARD_VEHICLE_MARGINAL_CAR = 7; // 领馆汽车 public static final int EM_STANDARD_VEHICLE_AREAOUT_CAR = 8; // 境外汽车 public static final int EM_STANDARD_VEHICLE_FOREIGN_CAR = 9; // 外籍汽车 public static final int EM_STANDARD_VEHICLE_FARM_TRANS_CAR = 10; // 农用运输车 public static final int EM_STANDARD_VEHICLE_TRACTOR = 11; // 拖拉机 public static final int EM_STANDARD_VEHICLE_TRAILER = 12; // 挂车 public static final int EM_STANDARD_VEHICLE_COACH_CAR = 13; // 教练汽车 public static final int EM_STANDARD_VEHICLE_TRIAL_CAR = 14; // 试验汽车 public static final int EM_STANDARD_VEHICLE_TEMPORARYENTRY_CAR = 15; // 临时入境汽车 public static final int EM_STANDARD_VEHICLE_TEMPORARYENTRY_MOTORCYCLE = 16; // 临时入境摩托 public static final int EM_STANDARD_VEHICLE_TEMPORARY_STEER_CAR = 17; // 临时行驶车 public static final int EM_STANDARD_VEHICLE_LARGE_TRUCK = 18; // 大货车 public static final int EM_STANDARD_VEHICLE_MID_TRUCK = 19; // 中货车 public static final int EM_STANDARD_VEHICLE_MICRO_TRUCK = 20; // 小货车 public static final int EM_STANDARD_VEHICLE_MICROBUS = 21; // 面包车 public static final int EM_STANDARD_VEHICLE_SALOON_CAR = 22; // 轿车 public static final int EM_STANDARD_VEHICLE_CARRIAGE = 23; // 小轿车 public static final int EM_STANDARD_VEHICLE_MINI_CARRIAGE = 24; // 微型轿车 public static final int EM_STANDARD_VEHICLE_SUV_MPV = 25; // SUV或者MPV public static final int EM_STANDARD_VEHICLE_SUV = 26; // SUV public static final int EM_STANDARD_VEHICLE_MPV = 27; // MPV public static final int EM_STANDARD_VEHICLE_PASSENGER_CAR = 28; // 客车 public static final int EM_STANDARD_VEHICLE_MOTOR_BUS = 29; // 大客车 public static final int EM_STANDARD_VEHICLE_MID_PASSENGER_CAR = 30; // 中客车 public static final int EM_STANDARD_VEHICLE_MINI_BUS = 31; // 小客车 public static final int EM_STANDARD_VEHICLE_PICKUP = 32; // 皮卡车 public static final int EM_STANDARD_VEHICLE_OILTANK_TRUCK = 33; // 油罐车 } // 报警事件类型 EVENT_ALARM_LOCALALARM(外部报警),EVENT_ALARM_MOTIONALARM(动检报警)报警) public static class DEV_EVENT_ALARM_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] Reserved = new byte[4]; // 保留字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public EVENT_COMM_INFO stCommInfo; // 公共信息 public byte byEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved=new byte[3]; // 保留字节 public int emSenseType; // 传感器类型,参考NET_SENSE_METHOD public int emDefenceAreaType; // 防区类型 ,参考EM_NET_DEFENCE_AREA_TYPE public NET_GPS_STATUS_INFO stuGPS; // GPS信息 public byte[] szUserID = new byte[32]; // 本地报警时登陆的用户ID public byte[] szUserName = new byte[128]; // 本地报警时登陆的用户名 public byte[] szSN = new byte[32]; // 设备序列号 public int bExAlarmIn; // 外部输入报警 public NET_FILE_PROCESS_INFO stuFileProcessInfo; // 图片与智能事件信息 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] byReservedEx = new byte[512]; // 保留字节 } // 报警事件类型 EVENT_ALARM_VIDEOBLIND(视频遮挡报警) public static class DEV_EVENT_ALARM_VIDEOBLIND extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] Reserved = new byte[4]; // 保留字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_TIME_EX stuTime; // 事件发生的时间, (设备时间, 不一定是utc时间) public byte[] szDriverID=new byte[32]; // 司机ID public NET_GPS_STATUS_INFO stuGPSStatus; // GPS信息 public byte[] szVideoPath=new byte[256]; // 违章关联视频FTP上传路径 public NET_IMAGE_INFO_EX stuImageInfo[] = (NET_IMAGE_INFO_EX[])new NET_IMAGE_INFO_EX().toArray(6); //图片信息扩展 public int nImageInfo; //图片信息扩展的个数 public NET_IMAGE_INFO_EX2 stuImageInfoEx2[] = (NET_IMAGE_INFO_EX2[])new NET_IMAGE_INFO_EX2().toArray(32); //图片信息数组 public int nImageInfoEx2Num; //图片信息个数 public int nRelatingVideoInfoNum; // 违章关联的多个视频信息个数 public NET_RELATING_VIDEO_INFO[] stuRelatingVideoInfo = new NET_RELATING_VIDEO_INFO[16]; // 违章关联的多个视频信息数组,最多支持16个视频 public int bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte byReserved[] = new byte[1023]; //预留字节 } // 事件类型 EVENT_IVS_HIGHSPEED(车辆超速报警事件)对应的数据块描述信息 public static class DEV_EVENT_HIGHSPEED_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 事件动作,1表示持续性事件开始,2表示持续性事件结束; public NET_TIME_EX UTC; // 事件发生的时间 public byte[] byReserved = new byte[4]; // 保留字节 public double dbPTS; // 时间戳(单位是毫秒) public NET_GPS_STATUS_INFO stGPSStatusInfo; // GPS信息 public int nSpeedLimit; // 车连限速值(km/h) public int nCurSpeed; // 当前车辆速度(km/h) public int nMaxSpeed; // 最高速度(Km/h) public NET_TIME_EX stuStartTime; // 开始时间(需求),nAction为2时上报此字段 public byte[] byReserved1 = new byte[1024]; // 保留字节 } // 事件类型EVENT_IVS_TIREDPHYSIOLOGICAL(生理疲劳驾驶事件)对应的数据块描述信息 public static class DEV_EVENT_TIREDPHYSIOLOGICAL_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nAction; // 0:脉冲 1:开始 2:停止 public NET_GPS_STATUS_INFO stuGPSStatus; // GPS信息 public byte[] szDriverID= new byte[32]; // 司机ID public byte[] szVideoPath= new byte[256]; // 违章关联视频FTP上传路径 public int nRelatingVideoInfoNum; // 违章关联的多个视频信息个数 public NET_RELATING_VIDEO_INFO[] stuRelatingVideoInfo = new NET_RELATING_VIDEO_INFO[16]; // 违章关联的多个视频信息数组,最多支持16个视频 public byte[] bReserved = new byte[736]; // 保留字节,留待扩展. public DEV_EVENT_TIREDPHYSIOLOGICAL_INFO() { for (int i = 0; i < stuRelatingVideoInfo.length; i++) { stuRelatingVideoInfo[i] = new NET_RELATING_VIDEO_INFO(); } } } // 事件类型EVENT_IVS_TRAFFIC_TIREDLOWERHEAD(开车低头报警事件)对应的数据块描述信息 public static class DEV_EVENT_TIREDLOWERHEAD_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_GPS_STATUS_INFO stuGPSStatus; // GPS信息 public byte[] szDriverID= new byte[32]; // 司机ID public byte[] szVideoPath= new byte[256]; // 违章关联视频FTP上传路径 public int nRelatingVideoInfoNum; // 违章关联的多个视频信息个数 public NET_RELATING_VIDEO_INFO[] stuRelatingVideoInfo = new NET_RELATING_VIDEO_INFO[16]; // 违章关联的多个视频信息数组,最多支持16个视频 public byte[] bReserved = new byte[736]; // 保留字节,留待扩展. public DEV_EVENT_TIREDLOWERHEAD_INFO() { for (int i = 0; i < stuRelatingVideoInfo.length; i++) { stuRelatingVideoInfo[i] = new NET_RELATING_VIDEO_INFO(); } } } // 事件类型EVENT_IVS_TRAFFIC_DRIVERLEAVEPOST(开车离岗报警事件)对应的数据块描述信息 public static class DEV_EVENT_DRIVERLEAVEPOST_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_GPS_STATUS_INFO stuGPSStatus; // GPS信息 public byte[] szDriverID= new byte[32]; // 司机ID public byte[] szVideoPath= new byte[256]; // 违章关联视频FTP上传路径 public int nRelatingVideoInfoNum; // 违章关联的多个视频信息个数 public NET_RELATING_VIDEO_INFO[] stuRelatingVideoInfo = new NET_RELATING_VIDEO_INFO[16]; // 违章关联的多个视频信息数组,最多支持16个视频 public byte[] bReserved = new byte[736]; // 保留字节,留待扩展. public DEV_EVENT_DRIVERLEAVEPOST_INFO() { for (int i = 0; i < stuRelatingVideoInfo.length; i++) { stuRelatingVideoInfo[i] = new NET_RELATING_VIDEO_INFO(); } } } // 事件类型 EVENT_IVS_TRAFFIC_DRIVERYAWN (开车打哈欠事件) 对应的数据块描述信息 public static class DEV_EVENT_DRIVERYAWN_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public byte[] szReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_GPS_STATUS_INFO stuGPSStatus; // GPS信息 public byte[] szDriverID= new byte[32]; // 司机ID public byte[] szVideoPath= new byte[256]; // 违章关联视频FTP上传路径 public int nRelatingVideoInfoNum; // 违章关联的多个视频信息个数 public NET_RELATING_VIDEO_INFO[] stuRelatingVideoInfo = new NET_RELATING_VIDEO_INFO[16]; // 违章关联的多个视频信息数组,最多支持16个视频 public byte[] bReserved = new byte[736]; // 保留字节,留待扩展. public DEV_EVENT_DRIVERYAWN_INFO() { for (int i = 0; i < stuRelatingVideoInfo.length; i++) { stuRelatingVideoInfo[i] = new NET_RELATING_VIDEO_INFO(); } } } // 事件类型 EVENT_IVS_FORWARDCOLLISION_WARNNING(前向碰撞预警) 对应的数据块描述信息 public static class DEV_EVENT_FORWARDCOLLISION_WARNNING_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nEventID; // 事件ID public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nAction; // 0:脉冲 1:开始 2:停止 public NET_GPS_STATUS_INFO stuGPSStatusInfo; // GPS信息 public byte[] szDriverID= new byte[32]; // 司机ID public byte[] szVideoPath= new byte[256]; // 违章关联视频FTP上传路径 public int nRelatingVideoInfoNum; // 违章关联的多个视频信息个数 public NET_RELATING_VIDEO_INFO[] stuRelatingVideoInfo = new NET_RELATING_VIDEO_INFO[16]; // 违章关联的多个视频信息数组,最多支持16个视频 public byte[] bReserved = new byte[736]; // 保留字节 public DEV_EVENT_FORWARDCOLLISION_WARNNING_INFO() { for (int i = 0; i < stuRelatingVideoInfo.length; i++) { stuRelatingVideoInfo[i] = new NET_RELATING_VIDEO_INFO(); } } } // 事件类型 EVNET_IVS_LANEDEPARTURE_WARNNING(车道偏移预警) 对应的数据块描述信息 public static class DEV_EVENT_LANEDEPARTURE_WARNNING_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nEventID; // 事件ID public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nAction; // 0:脉冲 1:开始 2:停止 public NET_GPS_STATUS_INFO stuGPSStatusInfo; // GPS信息 public byte[] szDriverID= new byte[32]; // 司机ID public byte[] szVideoPath= new byte[256]; // 违章关联视频FTP上传路径 public int nRelatingVideoInfoNum; // 违章关联的多个视频信息个数 public NET_RELATING_VIDEO_INFO[] stuRelatingVideoInfo = new NET_RELATING_VIDEO_INFO[16]; // 违章关联的多个视频信息数组,最多支持16个视频 public byte[] bReserved = new byte[736]; // 保留字节,留待扩展. public DEV_EVENT_LANEDEPARTURE_WARNNING_INFO() { for (int i = 0; i < stuRelatingVideoInfo.length; i++) { stuRelatingVideoInfo[i] = new NET_RELATING_VIDEO_INFO(); } } } //图片路径类型 public static class NET_PICTURE_PATH_TYPE extends SdkStructure { public static final int NET_PATH_LOCAL_PATH = 0; // 本地硬盘或者sd卡成功写入路径 public static final int NET_PATH_FTP_PATH = 1; // 设备成功写到ftp服务器的路径 public static final int NET_PATH_VIDEO_PATH = 2; // 当前接入需要获取当前违章的关联视频的FTP上传路径 } public static final int MAX_PIC_PATH_NUM = 16; public static class NET_RESERVED_PATH extends SdkStructure { public int nMaxPathNum; // 图片路径总数,为0时采用设备默认路径 public int[] emPictruePaths = new int[MAX_PIC_PATH_NUM]; // 图片路径类型,详见NET_PICTURE_PATH_TYPE } //离线传输参数 public static class NET_OFFLINE_PARAM extends SdkStructure { public byte[] szClientID = new byte[20]; // 客户端mac地址,冒号分隔形式 public byte[] byReserved = new byte[108]; // 保留 } public static class NET_RESERVED_COMMON extends SdkStructure { public int dwStructSize; public Pointer pIntelBox; // 兼容RESERVED_TYPE_FOR_INTEL_BOX,指向ReservedDataIntelBox public int dwSnapFlagMask; // 抓图标志(按位),0位:"*",1位:"Timing",2位:"Manual",3位:"Marked",4位:"Event",5位:"Mosaic",6位:"Cutout" public Pointer pstuOfflineParam; // 离线传输参数,指向NET_OFFLINE_PARAM public Pointer pstuPath; // 兼容RESERVED_TYPE_FOR_PATH,指向NET_RESERVED_PATH public int emPathMode; // 返回的图片存储路径模式,对应枚举EM_PATH_MODE /** * 对应结构体{@link EM_FILTER_IMAGE_TYPE} */ public Pointer pImageType; // 返回的图片类型, 由用户申请释放 public int nImageTypeNum; // pImageType 有效个数 public int bFlagCustomInfo; // szCustomInfo 标志位 TRUE时 使用szCustomInfo字段 public byte[] szCustomInfo = new byte[512]; // 客户自定义信息 customInfo是getFiltercaps中能力对应的订阅参数的格式化字符串表示,字符串格式为:订阅参数以&分隔,订阅参数的名字和值用=连接 public int bSetEventsType; // 是否设置事件类型 public int nVOLayer; // 视频输出口图层, 0:未知 1:视频层 2:GUI层 3:动态跑马显示 public int emOrder; // 设备给客户端传离线图片需要按照的顺序,如果是倒序上传:越晚产生的优先上传,越早产生的后传,参考枚举EM_EVENT_ORDER public NET_RESERVED_COMMON() { this.dwStructSize = this.size(); } } // 事件类型EVENT_IVS_TRAFFIC_DRIVER_SMOKING (驾驶员抽烟事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_DRIVER_SMOKING extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public int nTriggerType; // TriggerType:触发类型,0车检器,1雷达,2视频 public int PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public byte byEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; BYTE byReserved1[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public byte[] byReserved1 = new byte[2]; public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nLane; // 对应车道号 public int nMark; // 底层产生的触发抓拍帧标记 public int nFrameSequence; // 视频分析帧序号 public int nSource; // 视频分析的数据源地址 public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stuTrafficCar; // 交通车辆信息 public int nSpeed; // 车辆实际速度,Km/h public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public EVENT_COMM_INFO stCommInfo; // 公共信息 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] szDriverID = new byte[32]; // 司机ID public int nRelatingVideoInfoNum; // 违章关联的多个视频信息个数 public NET_RELATING_VIDEO_INFO[] stuRelatingVideoInfo = new NET_RELATING_VIDEO_INFO[16]; // 违章关联的多个视频信息数组,最多支持16个视频 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] byReserved = new byte[952]; // 保留字节 } // 事件类型EVENT_IVS_TRAFFIC_DRIVER_CALLING(驾驶员打电话事件)对应的数据块描述信息 public static class DEV_EVENT_TRAFFIC_DRIVER_CALLING extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public int nTriggerType; // TriggerType:触发类型,0车检器,1雷达,2视频 public int PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nSequence; // 表示抓拍序号,如3,2,1,1表示抓拍结束,0表示异常结束 public byte byEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; BYTE byReserved1[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public byte[] byReserved1 = new byte[2]; public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nLane; // 对应车道号 public int nMark; // 底层产生的触发抓拍帧标记 public int nFrameSequence; // 视频分析帧序号 public int nSource; // 视频分析的数据源地址 public NET_MSG_OBJECT stuObject; // 检测到的物体 public NET_MSG_OBJECT stuVehicle; // 车身信息 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stuTrafficCar; // 交通车辆信息 public int nSpeed; // 车辆实际速度,Km/h public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public NET_RESOLUTION_INFO stuResolution; // 对应图片的分辨率 public EVENT_COMM_INFO stCommInfo; // 公共信息 public NET_GPS_INFO stuGPSInfo; // GPS信息 public byte[] szDriverID = new byte[32]; // 司机ID public int nRelatingVideoInfoNum; // 违章关联的多个视频信息个数 public NET_RELATING_VIDEO_INFO[] stuRelatingVideoInfo = new NET_RELATING_VIDEO_INFO[16]; // 违章关联的多个视频信息数组,最多支持16个视频 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] byReserved = new byte[952]; // 保留字节 public DEV_EVENT_TRAFFIC_DRIVER_CALLING() { for (int i = 0; i < stuRelatingVideoInfo.length; i++) { stuRelatingVideoInfo[i] = new NET_RELATING_VIDEO_INFO(); } } } // 事件类型EVENT_IVS_TRAFFIC_DRIVERLOOKAROUND(开车左顾右盼报警事件)对应的数据块描述信息 public static class DEV_EVENT_DRIVERLOOKAROUND_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_GPS_STATUS_INFO stuGPSStatus; // GPS信息 public byte[] szDriverID= new byte[32]; // 司机ID public byte[] szVideoPath= new byte[256]; // 违章关联视频FTP上传路径 public int nRelatingVideoInfoNum; // 违章关联的多个视频信息个数 public NET_RELATING_VIDEO_INFO[] stuRelatingVideoInfo = new NET_RELATING_VIDEO_INFO[16]; // 违章关联的多个视频信息数组,最多支持16个视频 public byte[] bReserved = new byte[736]; // 保留字节,留待扩展. public DEV_EVENT_DRIVERLOOKAROUND_INFO() { for (int i = 0; i < stuRelatingVideoInfo.length; i++) { stuRelatingVideoInfo[i] = new NET_RELATING_VIDEO_INFO(); } } } // 进站离站状态 public static class NET_BUS_STATE extends SdkStructure { public static final int NET_BUS_STATE_UNKNOWN = 0; // 未知 public static final int NET_BUS_STATE_ILLEGAL = 1; // 非法 public static final int NET_BUS_STATE_LEGAL = 2; // 合法 } // 报警事件类型NET_ALARM_ENCLOSURE_ALARM(电子围栏事件)对应的数据描述信息 public static class ALARM_ENCLOSURE_ALARM_INFO extends SdkStructure { public int dwSize; public int dwAlarmType; // 报警类型, 按位分别表示, // 0:LimitSpeed, 1:DriveAllow, 2:ForbidDrive, 3:LoadGoods, 4:UploadGoods public int dwAlarmDetail; // 报警描述, 按位分别表示, // 0:DriveIn, 1:DriveOut, 2:Overspeed, 3:SpeedClear public int emState; // 是否按规定时间触发事件,详见NET_BUS_STATE public int dwDriverNo; // 司机编号 public int dwEnclosureID; // 围栏ID public int dwLimitSpeed; // 限速 public int dwCurrentSpeed; // 当前速度 public NET_TIME_EX stuTime; // 当前时间 public NET_GPS_STATUS_INFO stuGPSStatusInfo; // GPS信息 public ALARM_ENCLOSURE_ALARM_INFO() { this.dwSize = this.size(); } } public static class DEV_SET_RESULT extends SdkStructure { public int dwType; // 类型(即GetDevConfig和SetDevConfig的类型) public short wResultCode; // 返回码;0:成功,1:失败,2:数据不合法,3:暂时无法设置,4:没有权限 public short wRebootSign; // 重启标志;0:不需要重启,1:需要重启才生效 public int[] dwReserved = new int[2]; // 保留 } // ALARM_ENCLOSURE_INFO // 电子围栏报警 public static class ALARM_ENCLOSURE_INFO extends SdkStructure { public int nTypeNumber; // 有效电子围栏类型个数 public byte[] bType = new byte[16]; // 电子围栏类型, 见 ENCLOSURE_TYPE public int nAlarmTypeNumber; // 有效报警类型个数 public byte[] bAlarmType = new byte[16]; // 报警类型,见ENCLOSURE_ALARM_TYPE public byte[] szDriverId = new byte[32]; // 司机工号 public int unEnclosureId; // 电子围栏ID public int unLimitSpeed; // 限速,单位km/h public int unCurrentSpeed; // 当前速度 public NET_TIME stAlarmTime; // 报警发生时间 public int dwLongitude; // 经度(单位是百万分之度,范围0-360度)如东经120.178274度表示为300178274 public int dwLatidude; // 纬度(单位是百万分之度,范围0-180度)如北纬30.183382度表示为12018338 // 经纬度的具体转换方式可以参考结构体 NET_WIFI_GPS_INFO 中的注释 public byte bOffline; // 0-实时 1-补传 public byte[] reserve = new byte[3]; // 字节对齐 public int unTriggerCount; // 围栏触发次数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public int bIsAlarmEnclosureInfoEx; // 该值为TRUE时应使用 ALARM_ENCLOSURE_INFO_EX 结构体中字段 public ALARM_ENCLOSURE_INFO_EX stuAlarmEnclosureInfoEx = new ALARM_ENCLOSURE_INFO_EX(); // 当走三代事件时数据存在该结构体 public byte[] byReserved = new byte[128]; // 保留字节 } // NETDEV_3GFLOW_EXCEED_STATE_INFO // 3G流量超出阈值状态信息 public static class NETDEV_3GFLOW_EXCEED_STATE_INFO extends SdkStructure { public byte bState; // 3G流量超出阈值状态,0表示未超出阀值,1表示超出阀值 public byte[] reserve1 = new byte[3]; // 字节对齐 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] reserve = new byte[32]; // 保留字节 } // 飞行器类型 public static class ENUM_UAV_TYPE extends SdkStructure { public static final int ENUM_UAV_TYPE_GENERIC = 0; // 通用 public static final int ENUM_UAV_TYPE_FIXED_WING = 1; // 固定翼 public static final int ENUM_UAV_TYPE_QUADROTOR = 2; // 四轴 public static final int ENUM_UAV_TYPE_COAXIAL = 3; // 共轴 public static final int ENUM_UAV_TYPE_HELICOPTER = 4; // 直机 public static final int ENUM_UAV_TYPE_ANTENNA_TRACKER = 5; // 地面跟踪天线 public static final int ENUM_UAV_TYPE_GCS = 6; // 地面站 public static final int ENUM_UAV_TYPE_AIRSHIP = 7; // 有控飞艇 public static final int ENUM_UAV_TYPE_FREE_BALLOON = 8; // 自由飞气球 public static final int ENUM_UAV_TYPE_ROCKET = 9; // 火箭 public static final int ENUM_UAV_TYPE_GROUND_ROVER = 10; // 地面车辆 public static final int ENUM_UAV_TYPE_SURFACE_BOAT = 11; // 水面船艇 public static final int ENUM_UAV_TYPE_SUBMARINE = 12; // 潜艇 public static final int ENUM_UAV_TYPE_HEXAROTOR = 13; // 六轴 public static final int ENUM_UAV_TYPE_OCTOROTOR = 14; // 八轴 public static final int ENUM_UAV_TYPE_TRICOPTER = 15; // 三轴 public static final int ENUM_UAV_TYPE_FLAPPING_WING = 16; // 扑翼机 public static final int ENUM_UAV_TYPE_KITE = 17; // 风筝 public static final int ENUM_UAV_TYPE_ONBOARD_CONTROLLER = 18; // 控制器 public static final int ENUM_UAV_TYPE_VTOL_DUOROTOR = 19; // 两翼VTOL public static final int ENUM_UAV_TYPE_VTOL_QUADROTOR = 20; // 四翼VTOL public static final int ENUM_UAV_TYPE_VTOL_TILTROTOR = 21; // 倾转旋翼机 public static final int ENUM_UAV_TYPE_VTOL_RESERVED2 = 22; // VTOL 保留2 public static final int ENUM_UAV_TYPE_VTOL_RESERVED3 = 23; // VTOL 保留3 public static final int ENUM_UAV_TYPE_VTOL_RESERVED4 = 24; // VTOL 保留4 public static final int ENUM_UAV_TYPE_VTOL_RESERVED5 = 25; // VTOL 保留5 public static final int ENUM_UAV_TYPE_GIMBAL = 26; // 常平架 public static final int ENUM_UAV_TYPE_ADSB = 27; // ADSB } // 飞行器模式 public static class ENUM_UAV_MODE extends SdkStructure { public static final int ENUM_UAV_MODE_UNKNOWN = 0; // 未知模式 public static final int ENUM_UAV_MODE_FIXED_WING_MANUAL = 0; // 固定翼 手动模式 public static final int ENUM_UAV_MODE_FIXED_WING_CIRCLE = 1; // 固定翼 绕圈模式 public static final int ENUM_UAV_MODE_FIXED_WING_STABILIZE = 2; // 固定翼 自稳模式 public static final int ENUM_UAV_MODE_FIXED_WING_TRAINING = 3; // 固定翼 训练模式 public static final int ENUM_UAV_MODE_FIXED_WING_ACRO = 4; // 固定翼 特技模式 public static final int ENUM_UAV_MODE_FIXED_WING_FLY_BY_WIRE_A = 5; // 固定翼 A翼飞行模式 public static final int ENUM_UAV_MODE_FIXED_WING_FLY_BY_WIRE_B = 6; // 固定翼 B翼飞行模式 public static final int ENUM_UAV_MODE_FIXED_WING_CRUISE = 7; // 固定翼 巡航模式 public static final int ENUM_UAV_MODE_FIXED_WING_AUTOTUNE = 8; // 固定翼 自动统调 public static final int ENUM_UAV_MODE_FIXED_WING_AUTO = 10; // 固定翼 智能模式 public static final int ENUM_UAV_MODE_FIXED_WING_RTL = 11; // 固定翼 返航模式 public static final int ENUM_UAV_MODE_FIXED_WING_LOITER = 12; // 固定翼 定点模式 public static final int ENUM_UAV_MODE_FIXED_WING_GUIDED = 15; // 固定翼 引导模式 public static final int ENUM_UAV_MODE_QUADROTOR_STABILIZE = 100; // 四轴 自稳模式 public static final int ENUM_UAV_MODE_QUADROTOR_ACRO = 101; // 四轴 特技模式 public static final int ENUM_UAV_MODE_QUADROTOR_ALT_HOLD = 102; // 四轴 定高模式 public static final int ENUM_UAV_MODE_QUADROTOR_AUTO = 103; // 四轴 智能模式 public static final int ENUM_UAV_MODE_QUADROTOR_GUIDED = 104; // 四轴 引导模式 public static final int ENUM_UAV_MODE_QUADROTOR_LOITER = 105; // 四轴 定点模式 public static final int ENUM_UAV_MODE_QUADROTOR_RTL = 106; // 四轴 返航模式 public static final int ENUM_UAV_MODE_QUADROTOR_CIRCLE = 107; // 四轴 绕圈模式 public static final int ENUM_UAV_MODE_QUADROTOR_LAND = 109; // 四轴 降落模式 public static final int ENUM_UAV_MODE_QUADROTOR_OF_LOITER = 110; // 四轴 启用光流的悬停模式需要光流传感器来保持位置和高度 public static final int ENUM_UAV_MODE_QUADROTOR_TOY = 111; // 四轴 飘移模式 public static final int ENUM_UAV_MODE_QUADROTOR_SPORT = 113; // 四轴 运动模式 public static final int ENUM_UAV_MODE_QUADROTOR_AUTOTUNE = 115; // 四轴 自动统调 public static final int ENUM_UAV_MODE_QUADROTOR_POSHOLD = 116; // 四轴 保持模式 public static final int ENUM_UAV_MODE_QUADROTOR_BRAKE = 117; // 四轴 制动模式 public static final int ENUM_UAV_MODE_GROUND_ROVER_MANUAL = 200; // 地面车辆 手动模式 public static final int ENUM_UAV_MODE_GROUND_ROVER_LEARNING = 202; // 地面车辆 学习模式 public static final int ENUM_UAV_MODE_GROUND_ROVER_STEERING = 203; // 地面车辆 驾驶模式 public static final int ENUM_UAV_MODE_GROUND_ROVER_HOLD = 204; // 地面车辆 锁定模式 public static final int ENUM_UAV_MODE_GROUND_ROVER_AUTO = 210; // 地面车辆 智能模式 public static final int ENUM_UAV_MODE_GROUND_ROVER_RTL = 211; // 地面车辆 返航模式 public static final int ENUM_UAV_MODE_GROUND_ROVER_GUIDED = 215; // 地面车辆 引导模式 public static final int ENUM_UAV_MODE_GROUND_ROVER_INITIALIZING = 216; // 地面车辆 初始化模式 public static final int ENUM_UAV_MODE_HEXAROTOR_STABILIZE = 300; // 六轴 自稳模式 public static final int ENUM_UAV_MODE_HEXAROTOR_ACRO = 301; // 六轴 特技模式 public static final int ENUM_UAV_MODE_HEXAROTOR_ALT_HOLD = 302; // 六轴 定高模式 public static final int ENUM_UAV_MODE_HEXAROTOR_AUTO = 303; // 六轴 智能模式 public static final int ENUM_UAV_MODE_HEXAROTOR_GUIDED = 304; // 六轴 引导模式 public static final int ENUM_UAV_MODE_HEXAROTOR_LOITER = 305; // 六轴 定点模式 public static final int ENUM_UAV_MODE_HEXAROTOR_RTL = 306; // 六轴 返航模式 public static final int ENUM_UAV_MODE_HEXAROTOR_CIRCLE = 307; // 六轴 绕圈模式 public static final int ENUM_UAV_MODE_HEXAROTOR_LAND = 309; // 六轴 降落模式 public static final int ENUM_UAV_MODE_HEXAROTOR_OF_LOITER = 310; // 六轴 启用光流的悬停模式需要光流传感器来保持位置和高度 public static final int ENUM_UAV_MODE_HEXAROTOR_DRIFT = 311; // 六轴 飘移模式 public static final int ENUM_UAV_MODE_HEXAROTOR_SPORT = 313; // 六轴 运动模式 public static final int ENUM_UAV_MODE_HEXAROTOR_AUTOTUNE = 315; // 六轴 自动统调 public static final int ENUM_UAV_MODE_HEXAROTOR_POSHOLD = 316; // 六轴 保持模式 public static final int ENUM_UAV_MODE_HEXAROTOR_BRAKE = 317; // 六轴 制动模式 } // 无人机系统状态 public static class ENUM_UAV_STATE extends SdkStructure { public static final int ENUM_UAV_STATE_UNINIT = 0; // 未初始化, 状态未知 public static final int ENUM_UAV_STATE_BOOT = 1; // 正在启动 public static final int ENUM_UAV_STATE_CALIBRATING = 2; // 正在校准,未准备好起飞. public static final int ENUM_UAV_STATE_STANDBY = 3; // 系统地面待命,随时可以起飞. public static final int ENUM_UAV_STATE_ACTIVE = 4; // 开车/开航. 发动机已经启动. public static final int ENUM_UAV_STATE_CRITICAL = 5; // 系统处于失常飞行状态,仍能导航. public static final int ENUM_UAV_STATE_EMERGENCY = 6; // 系统处于失常飞行状态,若干设备失灵,坠落状态. public static final int ENUM_UAV_STATE_POWEROFF = 7; // 系统刚执行了关机指令,正在关闭. } // UAV 系统当前模式 public static class NET_UAV_SYS_MODE_STATE extends SdkStructure { public int bSafetyArmedEnabled; // 主发动机使能, 准备好起飞. public int bManualInputEnabled; // 遥控输入信号使能. public int bHILEnabled; // HIL硬件环在线模拟使能.所有发动机, 舵机及其他动作设备阻断, 但内部软件处于全部可操作状态. public int bStabilizeEnabled; // 高度/位置电子增稳使能.在此状态下,飞行器仍需要外部操作指令以实现操作 public int bGuidedEnabled; // 导航使能.导航数据和指令来自导航/航点指令表文件 public int bAutoEnabled; // 全自主航行模式使能.系统自行决定目的地.前一项“导航使能”可以设置为TURE或FLASE状态 public int bTestEnabled; // 测试模式使能.本标识仅供临时的系统测试之用,不应该用于实际航行的应用中. public int bReserved; // 保留模式 } // 心跳状态信息 public static class NET_UAV_HEARTBEAT extends SdkStructure { public int emUAVMode; // 飞行模式和飞行器形态类型相关,详见ENUM_UAV_MODE public int emUAVType; // 飞行器形态类型,详见ENUM_UAV_TYPE public int emSystemStatus; // 系统状态,详见ENUM_UAV_STATE public NET_UAV_SYS_MODE_STATE stuBaseMode; // 系统当前模式 public byte[] byReserved = new byte[8]; // 保留字节 } // 传感器 public static class ENUM_UAV_SENSOR extends SdkStructure { public static final int ENUM_UAV_SENSOR_UNKNOWN = 0; // 未知类型 public static final int ENUM_UAV_SENSOR_3D_GYRO = 1; // 三轴陀螺 public static final int ENUM_UAV_SENSOR_3D_ACCEL = 2; // 三轴加速度/倾角仪 public static final int ENUM_UAV_SENSOR_3D_MAG = 3; // 三轴磁罗盘 public static final int ENUM_UAV_SENSOR_ABSOLUTE_PRESSURE = 4; // 绝对气压计 public static final int ENUM_UAV_SENSOR_DIFFERENTIAL_PRESSURE = 5; // 相对气压计 public static final int ENUM_UAV_SENSOR_GPS = 6; // GPS public static final int ENUM_UAV_SENSOR_OPTICAL_FLOW = 7; // 光测设备 public static final int ENUM_UAV_SENSOR_VISION_POSITION = 8; // 计算机视觉定位仪 public static final int ENUM_UAV_SENSOR_LASER_POSITION = 9; // 激光定位 public static final int ENUM_UAV_SENSOR_EXTERNAL_GROUND_TRUTH = 10; // 外部激光定位(Vicon 或徕卡) public static final int ENUM_UAV_SENSOR_ANGULAR_RATE_CONTROL = 11; // 三轴角速度控制器 public static final int ENUM_UAV_SENSOR_ATTITUDE_STABILIZATION = 12; // 高度稳定器 public static final int ENUM_UAV_SENSOR_YAW_POSITION = 13; // 方向稳定器(锁尾等) public static final int ENUM_UAV_SENSOR_Z_ALTITUDE_CONTROL = 14; // 高度控制器 public static final int ENUM_UAV_SENSOR_XY_POSITION_CONTROL = 15; // X/Y位置控制器 public static final int ENUM_UAV_SENSOR_MOTOR_OUTPUTS = 16; // 马达输出控制器 public static final int ENUM_UAV_SENSOR_RC_RECEIVER = 17; // RC 接收器 public static final int ENUM_UAV_SENSOR_3D_GYRO2 = 18; // 2nd 三轴陀螺 public static final int ENUM_UAV_SENSOR_3D_ACCEL2 = 19; // 2nd 三轴加速度/倾角仪 public static final int ENUM_UAV_SENSOR_3D_MAG2 = 20; // 2nd 三轴磁罗盘 public static final int ENUM_UAV_GEOFENCE = 21; // 地理围栏 public static final int ENUM_UAV_AHRS = 22; // 姿态子系统运行状况 public static final int ENUM_UAV_TERRAIN = 23; // 地形子系统运行状况 public static final int ENUM_UAV_REVERSE_MOTOR = 24; // 保留马达 } public static final int UAV_MAX_SENSOR_NUM = 32; // 最大传感器个数 // 传感器信息 public static class NET_UAV_SENSOR extends SdkStructure { public int emType; // 传感器类型,详见ENUM_UAV_SENSOR public int bEnabled; // 使能状态 public int bHealthy; // 传感器状态 } // 系统状态信息 public static class NET_UAV_SYS_STATUS extends SdkStructure { public int nPresentSensorNum; // 可见传感器个数, 最大支持32 public NET_UAV_SENSOR[] stuSensors = new NET_UAV_SENSOR[UAV_MAX_SENSOR_NUM]; // 传感器信息 public int nBatteryVoltage; // 电池电压, 单位: 毫伏 public int nBatteryCurrent; // 电池电流, 单位: 10毫安 public int nChargeDischargeNum; // 电池充放电次数 public int nHomeDistance; // 距离Home的距离, 单位: 米 public int nRemainingFlightTime; // 剩余飞行时间, 单位: 秒 public int nRemainingBattery; // 剩余电量百分比 -1: 正在估测剩余电量 public byte[] byReserverd = new byte[16]; // 保留字节 public NET_UAV_SYS_STATUS() { for (int i = 0; i < stuSensors.length; ++i) { stuSensors[i] = new NET_UAV_SENSOR(); } } } public static final int UAV_MAX_SATELLITE_NUM = 20; // 最多支持卫星个数 // 卫星信息 public static class NET_SATELLITE_STATUS extends SdkStructure { public int bUsed; // 卫星使用状态 FLASE: 未使用 TURE: 使用 public int nID; // 卫星ID public int nElevation; // 卫星在天空中的仰角 单位: 度 public int nDireciton; // 卫星方位角 单位: 度 public int nSNR; // 信噪比, 信号强度百分比 } // GPS 可见卫星的状态信息 public static class NET_UAV_GPS_STATUS extends SdkStructure { public int nVisibleNum; // 可见卫星个数, 最多支持20个 public NET_SATELLITE_STATUS[] stuSatellites = new NET_SATELLITE_STATUS[UAV_MAX_SATELLITE_NUM]; // 卫星信息 public NET_UAV_GPS_STATUS() { for (int i = 0; i < stuSatellites.length; ++i) { stuSatellites[i] = new NET_SATELLITE_STATUS(); } } } // 姿态信息 public static class NET_UAV_ATTITUDE extends SdkStructure { public float fRollAngle; // 滚转角, 单位: 度 public float fPitchAngle; // 俯仰角, 单位: 度 public float fYawAngle; // 偏航角, 单位: 度 public byte[] bReserved = new byte[16]; // 保留字节 } // 遥控通道信息 public static class NET_UAV_RC_CHANNELS extends SdkStructure { public int nControllerSignal; // 遥控器信号百分比, 255: 非法未知 public byte[] byReserved = new byte[80]; // 保留字节 } // 平视显示信息 public static class NET_UAV_VFR_HUD extends SdkStructure { public float fGroundSpeed; // 水平速度, 单位: 米/秒 public float fAltitude; // 高度, 单位: 米 public float fClimbSpeed; // 垂直速度, 单位: 米/秒 public byte[] byReserved = new byte[12]; } // 故障等级 public static class ENUM_UAV_SEVERITY extends SdkStructure { public static final int ENUM_UAV_SEVERITY_EMERGENCY = 0; // 系统不可用, 最紧急状态 public static final int ENUM_UAV_SEVERITY_ALERT = 1; // 警报. 非致命性系统故障, 应立即应对. public static final int ENUM_UAV_SEVERITY_CRITICAL = 2; // 警报: 主要系统故障, 应立即应对 public static final int ENUM_UAV_SEVERITY_ERROR = 3; // 故障: 次系统故障/备份系统故障 public static final int ENUM_UAV_SEVERITY_WARNING = 4; // 警告 public static final int ENUM_UAV_SEVERITY_NOTICE = 5; // 注意: 出现失常现象, 单非错误故障. 应该排查其现象根源 public static final int ENUM_UAV_SEVERITY_INFO = 6; // 提示: 一般性操作消息, 可用于日志. 此消息不需要应对行动 public static final int ENUM_UAV_SEVERITY_DEBUG = 7; // 调试信息。正常操作的时候不该出现 } // 报警文本信息 public static class NET_UAV_STATUSTEXT extends SdkStructure { public int emSeverity; // 故障等级,详见ENUM_UAV_SEVERITY public byte[] szText = new byte[60]; // 文本信息 public byte[] byReserved = new byte[4]; // 保留字节 } // 全球定位数据 public static class NET_UAV_GLOBAL_POSITION extends SdkStructure { public float fLatitude; // 纬度, 单位: 角度 public float fLongitude; // 经度, 单位: 角度 public int nAltitude; // 海拔高度, 单位: 厘米 public int nRelativeAltitude; // 相对高度, 单位: 厘米 public int nXSpeed; // X速度(绝对速度、北东地坐标系), 单位: 厘米每秒 public int nYSpeed; // Y速度(绝对速度、北东地坐标系), 单位: 厘米每秒 public int nZSpeed; // Z速度(绝对速度、北东地坐标系), 单位: 厘米每秒 public byte[] byReserved = new byte[12]; } // GPS原始数据 public static class NET_UAV_GPS_RAW extends SdkStructure { public int nDHOP; // GPS水平定位经度因子, 单位厘米. 65535 表示未知 public int nGroudSpeed; // GPS地速, 厘米每秒. 65535 表示未知 public int nVisibleStatellites; // 卫星数, 255 表示未知 public int nVDOP; // GPS 垂直定位因子,单位厘米。65535表示未知 public int nCourseOverGround; // 整体移动方向, 非机头移动方向. 单位: 100*度 public int nFixType; // 定位类型. 0 或 1 尚未定位, 2: 2D 定位, 3: 3D 定位 public byte[] byReserved = new byte[20]; } // 系统时间 public static class NET_UAV_SYS_TIME extends SdkStructure { public NET_TIME_EX UTC; // UTC 时间 public int dwBootTime; // 启动时间, 单位毫秒 } // 当前航点 public static class NET_UAV_MISSION_CURRENT extends SdkStructure { public int nSequence; // 序号 0 ~ 700 public byte[] byReserved = new byte[16]; // 保留字节 } // 到达航点 public static class NET_UAV_MISSION_REACHED extends SdkStructure { public int nSequence; // 序号 0 ~ 700 public byte[] byReserved = new byte[16]; // 保留字节 } // 云台姿态 public static class NET_UAV_MOUNT_STATUS extends SdkStructure { public float fRollAngle; // 滚转角, 单位: 度 public float fPitchAngle; // 俯仰角, 单位: 度 public float fYawAngle; // 偏航角, 单位: 度 public int nTargetSystem; // 目标系统 public int nTargetComponent; // 目标部件 public int nMountMode; // 云台模式, 参照 NET_UAVCMD_MOUNT_CONFIGURE public byte[] byReserved = new byte[8]; // 保留字节 } // Home点位置信息 public static class NET_UAV_HOME_POSITION extends SdkStructure { public float fLatitude; // 纬度, 单位: 角度 public float fLongitude; // 经度, 单位: 角度 public int nAltitude; // 海拔高度, 单位: 厘米 public float fLocalX; // X 点 public float fLocalY; // Y 点 public float fLocalZ; // Z 点 public float fApproachX; // 本地 x 矢量点 public float fApproachY; public float fApproachZ; public byte[] byReserved = new byte[16]; } // 无人机实时消息类型 public static class EM_UAVINFO_TYPE extends SdkStructure { public static final int EM_UAVINFO_TYPE_UNKNOWN = 0; // 未知类型 public static final int EM_UAVINFO_TYPE_HEARTBEAT = 1; // 心跳状态 *pInfo = NET_UAV_HEARTBEAT public static final int EM_UAVINFO_TYPE_SYS_STATUS = 2; // 系统状态 *pInfo = NET_UAV_SYS_STATUS public static final int EM_UAVINFO_TYPE_GPS_STATUS = 3; // GPS状态 *pInfo = NET_UAV_GPS_STATUS public static final int EM_UAVINFO_TYPE_ATTITUDE = 4; // 姿态信息 *pInfo = NET_UAV_ATTITUDE public static final int EM_UAVINFO_TYPE_RC_CHANNELS = 5; // 遥控通道信息 *pInfo = NET_UAV_RC_CHANNELS public static final int EM_UAVINFO_TYPE_VFR_HUD = 6; // 平视显示信息 *pInfo = NET_UAV_VFR_HUD public static final int EM_UAVINFO_TYPE_STATUSTEXT = 7; // 报警文本信息 *pInfo = NET_UAV_STATUSTEXT public static final int EM_UAVINFO_TYPE_GLOBAL_POSITION = 8; // 全球定位数据 *pInfo = NET_UAV_GLOBAL_POSITION public static final int EM_UAVINFO_TYPE_GPS_RAW = 9; // GPS原始数据 *pInfo = NET_UAV_GPS_RAW public static final int EM_UAVINFO_TYPE_SYS_TIME = 10; // 系统时间 *pInfo = NET_UAV_SYS_TIME public static final int EM_UAVINFO_TYPE_MISSION_CURRENT = 11; // 当前航点 *pInfo = NET_UAV_MISSION_CURRENT public static final int EM_UAVINFO_TYPE_MOUNT_STATUS = 12; // 云台姿态 *pInfo = NET_UAV_MOUNT_STATUS public static final int EM_UAVINFO_TYPE_HOME_POSITION = 13; // Home点位置信息 *pInfo = NET_UAV_HOME_POSITION public static final int EM_UAVINFO_TYPE_MISSION_REACHED = 14; // 到达航点 *pInfo = NET_UAV_MISSION_REACHED } // 无人机实时回调数据 public static class NET_UAVINFO extends SdkStructure { public int emType; // 消息类型,详见EM_UAVINFO_TYPE public Pointer pInfo; // 消息内容,指向void public int dwInfoSize; // 消息大小 public byte[] byReserved = new byte[512]; // 保留字节 } // 无人机实时数据回调 public interface fUAVInfoCallBack extends Callback { public void invoke(LLong lAttachHandle, NET_UAVINFO pstuUAVInfo, int dwUAVInfoSize, Pointer dwUser); } // 订阅无人机实时消息入参 public static class NET_IN_ATTACH_UAVINFO extends SdkStructure { public int dwSize; public Callback cbNotify; // 实时回调函数,实现fUAVInfoCallBack public Pointer dwUser; // 用户信息 public NET_IN_ATTACH_UAVINFO() { this.dwSize = this.size(); } } // 订阅无人机实时消息入参 public static class NET_OUT_ATTACH_UAVINFO extends SdkStructure { public int dwSize; public NET_OUT_ATTACH_UAVINFO() { this.dwSize = this.size(); } } // 无人机通用设置命令类型 结构体大小与 NET_UAVCMD_PARAM_BUFFER 保持一致 public static class ENUM_UAVCMD_TYPE extends SdkStructure { public static final int ENUM_UAVCMD_UNKNOWN = -1; public static final int ENUM_UAVCMD_NAV_TAKEOFF = 0; // 地面起飞或手抛起飞 NET_UAVCMD_TAKEOFF public static final int ENUM_UAVCMD_NAV_LOITER_UNLIM = 1; // 悬停 NET_UAVCMD_LOITER_UNLIMITED public static final int ENUM_UAVCMD_NAV_RETURN_TO_LAUNCH = 2; // 返航降落 NET_UAVCMD_RETURN_TO_LAUNCH public static final int ENUM_UAVCMD_NAV_LAND = 3; // 设定点着陆 NET_UAVCMD_LAND public static final int ENUM_UAVCMD_CONDITION_YAW = 4; // 变换航向 NET_UAVCMD_CONDITION_YAW public static final int ENUM_UAVCMD_DO_CHANGE_SPEED = 5; // 改变速度 NET_UAVCMD_CHANGE_SPEED public static final int ENUM_UAVCMD_DO_SET_HOME = 6; // 设置返航点 NET_UAVCMD_SET_HOME public static final int ENUM_UAVCMD_DO_FLIGHTTERMINATION = 7; // 立即停转电机, 飞机锁定 NET_UAVCMD_FLIGHT_TERMINATION public static final int ENUM_UAVCMD_MISSION_START = 8; // 开始航点任务 NET_UAVCMD_MISSION_START public static final int ENUM_UAVCMD_COMPONENT_ARM_DISARM = 9; // 电调解锁, 电调锁定 NET_UAVCMD_COMPONENT_ARM_DISARM public static final int ENUM_UAVCMD_PREFLIGHT_REBOOT_SHUTDOWN = 10; // 重启飞行器 NET_UAVCMD_REBOOT_SHUTDOWN public static final int ENUM_UAVCMD_DO_SET_RELAY = 11; // 继电器控制 NET_UAVCMD_SET_RELAY public static final int ENUM_UAVCMD_DO_REPEAT_RELAY = 12; // 继电器循环控制 NET_UAVCMD_REPEAT_RELAY public static final int ENUM_UAVCMD_DO_FENCE_ENABLE = 13; // 电子围栏启用禁用 NET_UAVCMD_FENCE_ENABLE public static final int ENUM_UAVCMD_MOUNT_CONFIGURE = 14; // 云台模式配置 NET_UAVCMD_MOUNT_CONFIGURE public static final int ENUM_UAVCMD_GET_HOME_POSITION = 15; // 异步获取Home点位置, 实时数据回调中返回 NET_UAVCMD_GET_HOME_POSITION public static final int ENUM_UAVCMD_IMAGE_START_CAPTURE = 16; // 开始抓拍 NET_UAVCMD_IMAGE_START_CAPTURE public static final int ENUM_UAVCMD_IMAGE_STOP_CAPTURE = 17; // 停止抓拍 NET_UAVCMD_IMAGE_STOP_CAPTURE public static final int ENUM_UAVCMD_VIDEO_START_CAPTURE = 18; // 开始录像 NET_UAVCMD_VIDEO_START_CAPTURE public static final int ENUM_UAVCMD_VIDEO_STOP_CAPTURE = 19; // 停止录像 NET_UAVCMD_VIDEO_STOP_CAPTURE public static final int ENUM_UAVCMD_NAV_WAYPOINT = 20; // 航点 NET_UAVCMD_NAV_WAYPOINT public static final int ENUM_UAVCMD_NAV_LOITER_TURNS = 21; // 循环绕圈 NET_UAVCMD_NAV_LOITER_TURNS public static final int ENUM_UAVCMD_NAV_LOITER_TIME = 22; // 固定时间等待航点 NET_UAVCMD_NAV_LOITER_TIME public static final int ENUM_UAVCMD_NAV_SPLINE_WAYPOINT = 23; // 曲线航点 NET_UAVCMD_NAV_SPLINE_WAYPOINT public static final int ENUM_UAVCMD_NAV_GUIDED_ENABLE = 24; // 引导模式开关 NET_UAVCMD_NAV_GUIDED_ENABLE public static final int ENUM_UAVCMD_DO_JUMP = 25; // 跳转到任务单某个位置. 并执行N次 NET_UAVCMD_DO_JUMP public static final int ENUM_UAVCMD_DO_GUIDED_LIMITS = 26; // 引导模式执行控制限制 NET_UAVCMD_DO_GUIDED_LIMITS public static final int ENUM_UAVCMD_CONDITION_DELAY = 27; // 动作延时 NET_UAVCMD_CONDITION_DELAY public static final int ENUM_UAVCMD_CONDITION_DISTANCE = 28; // 动作距离. 前往设定距离(到下一航点),然后继续 NET_UAVCMD_CONDITION_DISTANCE public static final int ENUM_UAVCMD_DO_SET_ROI = 29; // 相机兴趣点 NET_UAVCMD_DO_SET_ROI public static final int ENUM_UAVCMD_DO_DIGICAM_CONTROL = 30; // 相机控制 NET_UAVCMD_DO_DIGICAM_CONTROL public static final int ENUM_UAVCMD_DO_MOUNT_CONTROL = 31; // 云台角度控制 NET_UAVCMD_DO_MOUNT_CONTROL public static final int ENUM_UAVCMD_DO_SET_CAM_TRIGG_DIST = 32; // 聚焦距离 NET_UAVCMD_DO_SET_CAM_TRIGG_DIST public static final int ENUM_UAVCMD_SET_MODE = 33; // 设置模式 NET_UAVCMD_SET_MODE public static final int ENUM_UAVCMD_NAV_GUIDED = 34; // 设定引导点 NET_UAVCMD_NAV_GUIDED public static final int ENUM_UAVCMD_MISSION_PAUSE = 35; // 飞行任务暂停 NET_UAVCMD_MISSION_PAUSE public static final int ENUM_UAVCMD_MISSION_STOP = 36; // 飞行任务停止 NET_UAVCMD_MISSION_STOP public static final int ENUM_UAVCMD_LOAD_CONTROL = 37; // 负载控制 NET_UAVCMD_LOAD_CONTROL public static final int ENUM_UAVCMD_RC_CHANNELS_OVERRIDE = 38; // 模拟摇杆 NET_UAVCMD_RC_CHANNELS_OVERRIDE public static final int ENUM_UAVCMD_HEART_BEAT = 39; // 心跳 NET_UAVCMD_HEART_BEAT } // 无人机命令通用信息 public static class NET_UAVCMD_COMMON extends SdkStructure { public int nTargetSystem; // 目标系统 public int nTargetComponent; // 目标部件, 0 - 所有部件 public int nConfirmation; // 确认次数, 0 - 为首次命令. 用于航点任务为0 public byte[] byReserved = new byte[4]; // 保留 } // 地面起飞命令 ENUM_UAVCMD_NAV_TAKEOFF public static class NET_UAVCMD_TAKEOFF extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public float fMinimumPitch; // 最小爬升率(有空速传感器时适用)设定的爬升率(无传感器) public float fYawAngle; // 指向设定.(有罗盘)如无罗盘, 则忽略此参数. public float fLatitude; // 纬度 public float fLongitude; // 经度 public float fAltitude; // 高度 public byte[] byReserved = new byte[8]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 悬停命令 ENUM_UAVCMD_NAV_LOITER_UNLIM public static class NET_UAVCMD_LOITER_UNLIMITED extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public float fRadius; // 盘旋半径(m), 正值顺时针, 负值逆时针. public float fYawAngle; // 指向设定, 仅适用可悬停机型 public float fLatitude; // 纬度 public float fLongitude; // 经度 public float fAltitude; // 高度 public byte[] byReserved = new byte[8]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 返航降落 ENUM_UAVCMD_NAV_RETURN_TO_LAUNCH public static class NET_UAVCMD_RETURN_TO_LAUNCH extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public byte[] byReserved = new byte[28]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 设定点着陆 ENUM_UAVCMD_NAV_LAND public static class NET_UAVCMD_LAND extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public float fYawAngle; // 指向设定, 仅适用可悬停机型. public float fLatitude; // 纬度 public float fLongitude; // 经度 public float fAltitude; // 高度 public byte[] byReserved = new byte[12]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 变换航向 ENUM_UAVCMD_CONDITION_YAW public static class NET_UAVCMD_CONDITION_YAW extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public float fTargetAngle; // 目标角度: [0-360], 0为北 public float fSpeed; // 转向速率: [度/秒] public float fDirection; // 指向: 负值逆时针, 正值顺时针 public float fRelativeOffset; // 相对偏置或绝对角[1,0] public byte[] byReserved = new byte[12]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 改变速度 ENUM_UAVCMD_DO_CHANGE_SPEED public static class NET_UAVCMD_CHANGE_SPEED extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public float fSpeedType; // 速度类型(0=空速, 1=地速) public float fSpeed; // 速度(米/秒, -1表示维持原来速度不变) public float fThrottle; // 油门开度, 百分比数据,-1表示维持原来数值不变 public byte[] byReserved = new byte[16]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 设置返航点 ENUM_UAVCMD_DO_SET_HOME public static class NET_UAVCMD_SET_HOME extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nLocation; // 返航点: 1 = 使用当前点, 0 - 设定点 public float fLatitude; // 纬度 public float fLongitude; // 经度 public float fAltitude; // 高度 public byte[] byReserved = new byte[12]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 立即停转电机 ENUM_UAVCMD_DO_FLIGHTTERMINATION public static class NET_UAVCMD_FLIGHT_TERMINATION extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public float fActivated; // 触发值: 大于0.5 被触发 public byte[] byReserved = new byte[24]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 开始航点任务 ENUM_UAVCMD_MISSION_START public static class NET_UAVCMD_MISSION_START extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nFirstItem; // 第一项 n, 起始点的任务号 public int nLastItem; // 最后一项 m, 终点的任务号 public byte[] byReserved = new byte[20]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 飞行任务暂停 ENUM_UAVCMD_MISSION_PAUSE public static class NET_UAVCMD_MISSION_PAUSE extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public byte[] byReserved = new byte[28]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 飞行任务停止 ENUM_UAVCMD_MISSION_STOP public static class NET_UAVCMD_MISSION_STOP extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public byte[] byReserved = new byte[28]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 负载类型 public static class EM_LOAD_CONTROL_TYPE extends SdkStructure { public static final int EM_LOAD_CONTROL_COMMON = 0; // 通用设备 NET_LOAD_CONTROL_COMMON public static final int EM_LOAD_CONTROL_PHOTO = 1; // 拍照设备 NET_LOAD_CONTROL_PHOTO public static final int EM_LOAD_CONTROL_VIDEO = 2; // 视频设备 NET_LOAD_CONTROL_VIDEO public static final int EM_LOAD_CONTROL_AUDIO = 3; // 音频设备 NET_LOAD_CONTROL_AUDIO public static final int EM_LOAD_CONTROL_LIGHT = 4; // 灯光设备 NET_LOAD_CONTROL_LIGHT public static final int EM_LOAD_CONTROL_RELAY = 5; // 继电器设备NET_LOAD_CONTROL_RELAY public static final int EM_LOAD_CONTROL_TIMING = 6; // 定时拍照设备NET_LOAD_CONTROL_TIMING public static final int EM_LOAD_CONTROL_DISTANCE = 7; // 定距拍照设备NET_LOAD_CONTROL_DISTANCE } // 通用设备 public static class NET_LOAD_CONTROL_COMMON extends SdkStructure { public byte[] byReserved = new byte[24]; // 实际请使用对应负载填入 } // 拍照设备 public static class NET_LOAD_CONTROL_PHOTO extends SdkStructure { public float fCycle; // 拍照周期 单位s public byte[] byReserved = new byte[20]; // 对齐 NET_MISSION_ITEM_COMMON } // 视频设备 public static class NET_LOAD_CONTROL_VIDEO extends SdkStructure { public int nSwitch; // 开关 0-结束录像 1-开始录像 public byte[] byReserved = new byte[20]; // 对齐 NET_LOAD_CONTROL_COMMON } // 音频设备 public static class NET_LOAD_CONTROL_AUDIO extends SdkStructure { public byte[] byReserved = new byte[24]; // 对齐 NET_LOAD_CONTROL_COMMON } // 灯光设备 public static class NET_LOAD_CONTROL_LIGHT extends SdkStructure { public int nSwitch; // 开关 0-关闭 1-打开 public byte[] byReserved = new byte[20]; // 对齐 NET_LOAD_CONTROL_COMMON } // 继电器设备 public static class NET_LOAD_CONTROL_RELAY extends SdkStructure { public int nSwitch; // 开关 0-关闭 1-打开 public byte[] byReserved = new byte[20]; // 对齐 NET_LOAD_CONTROL_COMMON } // 定时拍照设备 public static class NET_LOAD_CONTROL_TIMING extends SdkStructure { public int nInterval; // 拍照时间间隔 单位:s public int nSwitch; // 起停控制 0-停止 1-启用 public byte[] byReserved = new byte[16]; // 对齐 NET_LOAD_CONTROL_COMMON } // 定距拍照设备 public static class NET_LOAD_CONTROL_DISTANCE extends SdkStructure { public int nInterval; // 拍照距离间隔 单位:m public int nSwitch; // 起停控制 0-停止 1-启用 public byte[] byReserved = new byte[16]; // 对齐 NET_LOAD_CONTROL_COMMON } // 负载控制 public static class NET_UAVCMD_LOAD_CONTROL extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int emLoadType; // 负载类型,详见EM_LOAD_CONTROL_TYPE public NET_LOAD_CONTROL_COMMON stuLoadInfo; // 负载控制信息 } // 电调解锁/锁定 ENUM_UAVCMD_COMPONENT_ARM_DISARM, public static class NET_UAVCMD_COMPONENT_ARM_DISARM extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int bArm; // TRUE - 解锁, FALSE - 锁定 public byte[] byReserved = new byte[24]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 重启飞行器 ENUM_UAVCMD_PREFLIGHT_REBOOT_SHUTDOWN public static class NET_UAVCMD_REBOOT_SHUTDOWN extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nCtrlAutopilot; // 控制飞控 0 - 空 1 - 重启 2 - 关机 public int nCtrlOnboardComputer; // 控制机载计算机 0 - 空 1 - 机载计算机重启 2 - 机载计算机关机 public byte[] byReserved = new byte[20]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 继电器控制 ENUM_UAVCMD_DO_SET_RELAY public static class NET_UAVCMD_SET_RELAY extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nRelayNumber; // 继电器号 public int nCtrlRelay; // 0=关,1=开。 public byte[] byReserved = new byte[20]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 继电器循环控制 ENUM_UAVCMD_DO_REPEAT_RELAY public static class NET_UAVCMD_REPEAT_RELAY extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nRelayNumber; // 继电器号 public int nCycleCount; // 循环次数 public int nCycleTime; // 周期(十进制,秒) public byte[] byReserved = new byte[16]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 电子围栏启用禁用 ENUM_UAVCMD_DO_FENCE_ENABLE public static class NET_UAVCMD_FENCE_ENABLE extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nEnableState; // 启用状态 0 - 禁用 1 - 启用 2 - 仅地面禁用 public byte[] byReserved = new byte[24]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 云台模式设置 ENUM_UAVCMD_MOUNT_CONFIGURE public static class NET_UAVCMD_MOUNT_CONFIGURE extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nMountMode; // 云台模式 // 0 - 预留; 1 - 水平模式, RC 不可控; 2 - UAV模式, RC 不可控 ; // 3 - 航向锁定模式, RC可控; 4 - 预留; 5-垂直90度模式, RC不可控 6 - 航向跟随模式, RC可控 public byte[] byReserved = new byte[24]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 异步获取Home点位置 ENUM_UAVCMD_GET_HOME_POSITION public static class NET_UAVCMD_GET_HOME_POSITION extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public byte[] byReserved = new byte[28]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 开始抓拍 ENUM_UAVCMD_IMAGE_START_CAPTURE Start image capture sequence public static class NET_UAVCMD_IMAGE_START_CAPTURE extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nDurationTime; // 连拍持续时间 public int nTatolNumber; // 抓拍数量 0 - 表示无限制 public int emResolution; // 分辨率为 CAPTURE_SIZE_NR时, 表示自定义。目前仅支持 CAPTURE_SIZE_VGA 和 CAPTURE_SIZE_720 public int nCustomWidth; // 自定义水平分辨率 单位: 像素 pixel public int nCustomHeight; // 自定义垂直分辨率 单位: 像素 pixel public int nCameraID; // 相机ID public byte[] byReserved = new byte[4]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 分辨率枚举 public static class CAPTURE_SIZE extends SdkStructure { public static final int CAPTURE_SIZE_D1 = 0; // 704*576(PAL) 704*480(NTSC),兼容WWxHH,下同 public static final int CAPTURE_SIZE_HD1 = 1; // 352*576(PAL) 352*480(NTSC) public static final int CAPTURE_SIZE_BCIF = 2; // 704*288(PAL) 704*240(NTSC) public static final int CAPTURE_SIZE_CIF = 3; // 352*288(PAL) 352*240(NTSC) public static final int CAPTURE_SIZE_QCIF = 4; // 176*144(PAL) 176*120(NTSC) public static final int CAPTURE_SIZE_VGA = 5; // 640*480 public static final int CAPTURE_SIZE_QVGA = 6; // 320*240 public static final int CAPTURE_SIZE_SVCD = 7; // 480*480 public static final int CAPTURE_SIZE_QQVGA = 8; // 160*128 public static final int CAPTURE_SIZE_SVGA = 9; // 800*592 public static final int CAPTURE_SIZE_XVGA = 10; // 1024*768 public static final int CAPTURE_SIZE_WXGA = 11; // 1280*800 public static final int CAPTURE_SIZE_SXGA = 12; // 1280*1024 public static final int CAPTURE_SIZE_WSXGA = 13; // 1600*1024 public static final int CAPTURE_SIZE_UXGA = 14; // 1600*1200 public static final int CAPTURE_SIZE_WUXGA = 15; // 1920*1200 public static final int CAPTURE_SIZE_LTF = 16; // 240*192,ND1 public static final int CAPTURE_SIZE_720 = 17; // 1280*720 public static final int CAPTURE_SIZE_1080 = 18; // 1920*1080 public static final int CAPTURE_SIZE_1_3M = 19; // 1280*960 public static final int CAPTURE_SIZE_2M = 20; // 1872*1408,2_5M public static final int CAPTURE_SIZE_5M = 21; // 3744*1408 public static final int CAPTURE_SIZE_3M = 22; // 2048*1536 public static final int CAPTURE_SIZE_5_0M = 23; // 2432*2050 public static final int CPTRUTE_SIZE_1_2M = 24; // 1216*1024 public static final int CPTRUTE_SIZE_1408_1024 = 25; // 1408*1024 public static final int CPTRUTE_SIZE_8M = 26; // 3296*2472 public static final int CPTRUTE_SIZE_2560_1920 = 27; // 2560*1920(5_1M) public static final int CAPTURE_SIZE_960H = 28; // 960*576(PAL) 960*480(NTSC) public static final int CAPTURE_SIZE_960_720 = 29; // 960*720 public static final int CAPTURE_SIZE_NHD = 30; // 640*360 public static final int CAPTURE_SIZE_QNHD = 31; // 320*180 public static final int CAPTURE_SIZE_QQNHD = 32; // 160*90 public static final int CAPTURE_SIZE_960_540 = 33; // 960*540 public static final int CAPTURE_SIZE_640_352 = 34; // 640*352 public static final int CAPTURE_SIZE_640_400 = 35; // 640*400 public static final int CAPTURE_SIZE_320_192 = 36; // 320*192 public static final int CAPTURE_SIZE_320_176 = 37; // 320*176 public static final int CAPTURE_SIZE_SVGA1 = 38; // 800*600 public static final int CAPTURE_SIZE_NR = 255; } // 停止抓拍 ENUM_UAVCMD_IMAGE_STOP_CAPTURE public static class NET_UAVCMD_IMAGE_STOP_CAPTURE extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nCameraID; // 相机ID public byte[] byReserved = new byte[24]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 开始录像 ENUM_UAVCMD_VIDEO_START_CAPTURE public static class NET_UAVCMD_VIDEO_START_CAPTURE extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nCameraID; // 相机ID 0 - 表示所有相机 public int nFrameSpeed; // 帧率 单位: 秒 -1 表示: 最高帧率 public int emResolution; // 分辨率 为 CAPTURE_SIZE_NR时, 表示自定义。目前仅支持 CAPTURE_SIZE_VGA 和 CAPTURE_SIZE_720 public int nCustomWidth; // 自定义水平分辨率 单位: 像素 pixel public int nCustomHeight; // 自定义垂直分辨率 单位: 像素 pixel public byte[] byReserved = new byte[8]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 停止录像 ENUM_UAVCMD_VIDEO_STOP_CAPTURE public static class NET_UAVCMD_VIDEO_STOP_CAPTURE extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nCameraID; // 相机ID public byte[] byReserved = new byte[24]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 航点 ENUM_UAVCMD_NAV_WAYPOINT public static class NET_UAVCMD_NAV_WAYPOINT extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nHoldTime; // 驻留时间. 单位: 秒 public float fAcceptanceRadius; // 触发半径. 单位: 米. 进入此半径, 认为该航点结束. public float fLatitude; // 纬度 public float fLongitude; // 经度 public float fAltitude; // 高度 public byte[] byReserved = new byte[8]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 循环绕圈 ENUM_UAVCMD_NAV_LOITER_TURNS public static class NET_UAVCMD_NAV_LOITER_TURNS extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nTurnNumber; // 圈数. public float fRadius; // 盘旋半径(m), 正值顺时针, 负值逆时针. public float fLatitude; // 纬度 public float fLongitude; // 经度 public float fAltitude; // 高度 public byte[] byReserved = new byte[8]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 在航点盘旋N秒 ENUM_UAVCMD_NAV_LOITER_TIME public static class NET_UAVCMD_NAV_LOITER_TIME extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nTime; // 时间. 单位: 秒 public float fRadius; // 盘旋半径(m), 正值顺时针, 负值逆时针. public float fLatitude; // 纬度 public float fLongitude; // 经度 public float fAltitude; // 高度 public byte[] byReserved = new byte[8]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 曲线航点 ENUM_UAVCMD_NAV_SPLINE_WAYPOINT public static class NET_UAVCMD_NAV_SPLINE_WAYPOINT extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nHoldTime; // 驻留时间 Hold time in decimal seconds. public float fLatitude; // 纬度 public float fLongitude; // 经度 public float fAltitude; // 高度 public byte[] byReserved = new byte[12]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 引导模式开关 ENUM_UAVCMD_NAV_GUIDED_ENABLE public static class NET_UAVCMD_NAV_GUIDED_ENABLE extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int bEnable; // 使能 public byte[] byReserved = new byte[24]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 跳转 ENUM_UAVCMD_DO_JUMP public static class NET_UAVCMD_DO_JUMP extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nSequenceNumber; // 任务序号 public int nRepeatCount; // 重复次数 public byte[] byReserved = new byte[20]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 引导模式执行控制限制 ENUM_UAVCMD_DO_GUIDED_LIMITS public static class NET_UAVCMD_DO_GUIDED_LIMITS extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nMaxTime; // 最大时间. 单位: 秒 public float fMinAltitude; // 最低限制高度. 单位: 米 public float fMaxAltitude; // 最大限制高度. 单位: 米 public float fHorizontalDistance; // 水平限制距离. 单位: 米 public byte[] byReserved = new byte[12]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 动作延时 ENUM_UAVCMD_CONDITION_DELAY public static class NET_UAVCMD_CONDITION_DELAY extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int nDelay; // 延迟时间. 单位: 秒 public byte[] byReserved = new byte[24]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 动作距离 ENUM_UAVCMD_CONDITION_DISTANCE public static class NET_UAVCMD_CONDITION_DISTANCE extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public float fDistance; // 距离. 单位: 米 public byte[] byReserved = new byte[24]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 无人机兴趣点类型 public static class ENUM_UAV_ROI_MODE extends SdkStructure { public static final int ENUM_UAV_ROI_MODE_NONE = 0; // 无兴趣点 public static final int ENUM_UAV_ROI_MODE_WPNEXT = 1; // 面向下一航点 public static final int ENUM_UAV_ROI_MODE_WPINDEX = 2; // 面向指定兴趣点 public static final int ENUM_UAV_ROI_MODE_LOCATION = 3; // 当前航点 } // 相机兴趣点 ENUM_UAVCMD_DO_SET_ROI public static class NET_UAVCMD_DO_SET_ROI extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int emROIMode; // 兴趣点模式,详见ENUM_UAV_ROI_MODE public int nId; // 指定航点或编号, 根据emROIMode而定 public int nROIIndex; // ROI 编号 public byte[] byReserved = new byte[16]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 相机控制 ENUM_UAVCMD_DO_DIGICAM_CONTROL public static class NET_UAVCMD_DO_DIGICAM_CONTROL extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public byte[] byReserved = new byte[28]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 云台角度控制 ENUM_UAVCMD_DO_MOUNT_CONTROL public static class NET_UAVCMD_DO_MOUNT_CONTROL extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public float fPitchAngle; // 俯仰角, 单位: 度. 0: 一键回中, -90 : 一键置90度 public float fYawAngle; // 航向角, 单位: 度. 0: 一键回中, -90 : 一键置90度 public byte[] byReserved = new byte[20]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 聚焦距离 ENUM_UAVCMD_DO_SET_CAM_TRIGG_DIST public static class NET_UAVCMD_DO_SET_CAM_TRIGG_DIST extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public float fDistance; // 聚焦距离 public byte[] byReserved = new byte[24]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 设置模式 ENUM_UAVCMD_SET_MODE public static class NET_UAVCMD_SET_MODE extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public int emUAVMode; // 飞行模式,详见ENUM_UAV_MODE public byte[] byReserved = new byte[24]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 设定引导点 ENUM_UAVCMD_NAV_GUIDED public static class NET_UAVCMD_NAV_GUIDED extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 通用信息 public float fLatitude; // 纬度 public float fLongitude; // 经度 public float fAltitude; // 高度 public byte[] byReserved = new byte[16]; // 对齐 NET_UAVCMD_PARAM_BUFFER } // 航点命令对应的通用参数, 需要转换成 ENUM_UAVCMD_TYPE 对应的结构体 public static class NET_UAVCMD_PARAM_BUFFER extends SdkStructure { public NET_UAVCMD_COMMON stuCommon; // 命令通用信息 public byte[] byParamBuffer = new byte[28]; // 参数缓存 } // 摇杆模拟:输入参数 public static class NET_UAVCMD_RC_CHANNELS_OVERRIDE extends SdkStructure { public short nChan1; // 滚转角,范围[1091, 1937],如果未改变,填 UINT16_MAX public short nChan2; // 俯仰角,范围[1091, 1937],如果未改变,填 UINT16_MAX public short nChan3; // 油门,范围[1091, 1937],如果未改变,填 UINT16_MAX public short nChan4; // 偏航角,[1091, 1937],如果未改变,填 UINT16_MAX public short nChan5; // 模式切换:取值1091,1514,1937,如果未改变,填 UINT16_MAX public short nChan6; // 云台航向,范围[1091,1937],如果未改变,填 UINT16_MAX public short nChan7; // 云台俯仰,范围[1091,1937],如果未改变,填 UINT16_MAX public short nChan8; // 起落架,取值1091,1937,如果未改变,填 UINT16_MAX public short nChan9; // 云台模式, 取值1091,1514,1937,如果未改变,填 UINT16_MAX public short nChan10; // 一键返航,取值1091,1937,如果未改变,填 UINT16_MAX public short nChan11; // 一键起降,取值1091,1937,如果未改变,填 UINT16_MAX public short nChan12; // 当前没有用到,填 UINT16_MAX public short nChan13; // 当前没有用到,填 UINT16_MAX public short nChan14; // 当前没有用到,填 UINT16_MAX public short nChan15; // 当前没有用到,填 UINT16_MAX public short nChan16; // 当前没有用到,填 UINT16_MAX public short nChan17; // 当前没有用到,填 UINT16_MAX public short nChan18; // 当前没有用到,填 UINT16_MAX public byte nTargetSystem; // 目标系统 public byte nTargetComponent; // 目标组件 public byte[] szReserved = new byte[6]; // 保留字段,对齐NET_UAVCMD_PARAM_BUFFER } // 心跳结构体 public static class NET_UAVCMD_HEART_BEAT extends SdkStructure { public int nCustomMode; // 自动驾驶仪用户自定义模式 public byte nType; // MAV 类型 public byte nAutoPilot; // 自动驾驶仪类型 public byte nBaseMode; // 系统模式 public byte nSystemStatus; // 系统状态值 public byte nMavlinkVersion; // MAVLink 版本信息 public byte[] szReserved = new byte[35]; // 保留字段,对齐NET_UAVCMD_PARAM_BUFFER } // 订阅无人机实时消息 pstuInParam 和 pstuOutParam 由设备申请释放 public LLong CLIENT_AttachUAVInfo(LLong lLoginID, NET_IN_ATTACH_UAVINFO pstuInParam, NET_OUT_ATTACH_UAVINFO pstuOutParam, int nWaitTime); // 退订无人机实时消息 lAttachHandle 是 CLIENT_AttachUAVInfo 返回值 public boolean CLIENT_DetachUAVInfo(LLong lAttachHandle); // 警戒区入侵方向 public static class NET_CROSSREGION_DIRECTION_INFO extends SdkStructure { public static final int EM_CROSSREGION_DIRECTION_UNKNOW = 0; public static final int EM_CROSSREGION_DIRECTION_ENTER = 1; // 进入 public static final int EM_CROSSREGION_DIRECTION_LEAVE = 2; // 离开 public static final int EM_CROSSREGION_DIRECTION_APPEAR = 3; // 出现 public static final int EM_CROSSREGION_DIRECTION_DISAPPEAR = 4; // 消失 } // 电源类型 public static class EM_POWER_TYPE extends SdkStructure { public static final int EM_POWER_TYPE_MAIN = 0; // 主电源 public static final int EM_POWER_TYPE_BACKUP = 1; // 备用电源 } // 电源故障事件类型 public static class EM_POWERFAULT_EVENT_TYPE extends SdkStructure { public static final int EM_POWERFAULT_EVENT_UNKNOWN = -1; // 未知 public static final int EM_POWERFAULT_EVENT_LOST = 0; // 掉电、电池不在位 public static final int EM_POWERFAULT_EVENT_LOST_ADAPTER = 1; // 适配器不在位 public static final int EM_POWERFAULT_EVENT_LOW_BATTERY = 2; // 电池欠压 public static final int EM_POWERFAULT_EVENT_LOW_ADAPTER = 3; // 适配器欠压 } // 电源故障事件 public static class ALARM_POWERFAULT_INFO extends SdkStructure { public int dwSize; public int emPowerType; // 电源类型,详见EM_POWER_TYPE public int emPowerFaultEvent; // 电源故障事件,详见EM_POWERFAULT_EVENT_TYPE public NET_TIME stuTime; // 报警事件发生的时间 public int nAction; // 0:开始 1:停止 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public ALARM_POWERFAULT_INFO() { this.dwSize = this.size(); } } // 防拆报警事件 public static class ALARM_CHASSISINTRUDED_INFO extends SdkStructure { public int dwSize; public int nAction; // 0:开始 1:停止 public NET_TIME stuTime; // 报警事件发生的时间 public int nChannelID; // 通道号 public byte[] szReaderID = new byte[NET_COMMON_STRING_32]; // 读卡器ID public int nEventID; // 事件ID public byte[] szSN = new byte[32]; // 无线设备序列号 public int bRealUTC; // RealUTC 是否有效,bRealUTC 为 TRUE 时,用 RealUTC,否则用 stuTime 字段 public NET_TIME_EX RealUTC; // 事件发生的时间(标准UTC) public int emDevType; //设备类型,参考EM_ALARM_CHASSISINTRUDED_DEV_TYPE public ALARM_CHASSISINTRUDED_INFO() { this.dwSize = this.size(); } } // 传感器感应方式枚举类型 public static class NET_SENSE_METHOD extends SdkStructure { public static final int NET_SENSE_UNKNOWN = -1; // 未知类型 public static final int NET_SENSE_DOOR = 0; // 门磁 public static final int NET_SENSE_PASSIVEINFRA = 1; // 被动红外 public static final int NET_SENSE_GAS = 2; // 气感 public static final int NET_SENSE_SMOKING = 3; // 烟感 public static final int NET_SENSE_WATER = 4; // 水感 public static final int NET_SENSE_ACTIVEFRA = 5; // 主动红外 public static final int NET_SENSE_GLASS = 6; // 玻璃破碎 public static final int NET_SENSE_EMERGENCYSWITCH = 7; // 紧急开关 public static final int NET_SENSE_SHOCK = 8; // 震动 public static final int NET_SENSE_DOUBLEMETHOD = 9; // 双鉴(红外+微波) public static final int NET_SENSE_THREEMETHOD = 10; // 三技术 public static final int NET_SENSE_TEMP = 11; // 温度 public static final int NET_SENSE_HUMIDITY = 12; // 湿度 public static final int NET_SENSE_WIND = 13; // 风速 public static final int NET_SENSE_CALLBUTTON = 14; // 呼叫按钮 public static final int NET_SENSE_GASPRESSURE = 15; // 气体压力 public static final int NET_SENSE_GASCONCENTRATION = 16; // 燃气浓度 public static final int NET_SENSE_GASFLOW = 17; // 气体流量 public static final int NET_SENSE_OTHER = 18; // 其他 public static final int NET_SENSE_OIL = 19; // 油量检测,汽油、柴油等车辆用油检测 public static final int NET_SENSE_MILEAGE = 20; // 里程数检测 public static final int NET_SENSE_URGENCYBUTTON = 21; // 紧急按钮 public static final int NET_SENSE_STEAL = 22; // 盗窃 public static final int NET_SENSE_PERIMETER = 23; // 周界 public static final int NET_SENSE_PREVENTREMOVE = 24; // 防拆 public static final int NET_SENSE_DOORBELL = 25; // 门铃 public static final int NET_SENSE_ALTERVOLT = 26; // 交流电压传感器 public static final int NET_SENSE_DIRECTVOLT = 27; // 直流电压传感器 public static final int NET_SENSE_ALTERCUR = 28; // 交流电流传感器 public static final int NET_SENSE_DIRECTCUR = 29; // 直流电流传感器 public static final int NET_SENSE_RSUGENERAL = 30; // 高新兴通用模拟量 4~20mA或0~5V public static final int NET_SENSE_RSUDOOR = 31; // 高新兴门禁感应 public static final int NET_SENSE_RSUPOWEROFF = 32; // 高新兴断电感应 public static final int NET_SENSE_TEMP1500 = 33; // 1500温度传感器 public static final int NET_SENSE_TEMPDS18B20 = 34; // DS18B20温度传感器 public static final int NET_SENSE_HUMIDITY1500 = 35; // 1500湿度传感器 public static final int NET_SENSE_INFRARED = 36; // 红外报警 public static final int NET_SENSE_FIREALARM = 37; // 火警 public static final int NET_SENSE_CO2 = 38; // CO2浓度检测,典型值:0~5000ppm public static final int NET_SNESE_SOUND = 39; // 噪音检测,典型值:30~130dB public static final int NET_SENSE_PM25 = 40; // PM2.5检测,典型值:0~1000ug/m3 public static final int NET_SENSE_SF6 = 41; // SF6浓度检测,典型值:0~3000ppm public static final int NET_SENSE_O3 = 42; // 臭氧浓度检测,典型值:0~100ppm public static final int NET_SENSE_AMBIENTLIGHT = 43; // 环境光照检测,典型值:0~20000Lux public static final int NET_SENSE_SIGNINBUTTON = 44; // 签入按钮 public static final int NET_SENSE_LIQUIDLEVEL = 45; // 液位 public static final int NET_SENSE_DISTANCE = 46; // 测距 public static final int NET_SENSE_WATERFLOW = 47; // 水流量 public static final int NET_SENSE_NUM = 48; // 枚举类型总数 } // 防区类型 public static class NET_DEFENCEAREA_TYPE extends SdkStructure { public static final int NET_DEFENCEAREA_TYPE_UNKNOWN = 0; // 未知类型防区 public static final int NET_DEFENCEAREA_TYPE_ALARM = 1; // 开关量防区 } // 旁路状态类型 public static class NET_BYPASS_MODE extends SdkStructure { public static final int NET_BYPASS_MODE_UNKNOW = 0; // 未知状态 public static final int NET_BYPASS_MODE_BYPASS = 1; // 旁路 public static final int NET_BYPASS_MODE_NORMAL = 2; // 正常 public static final int NET_BYPASS_MODE_ISOLATED = 3; // 隔离 } // 旁路状态变化事件的信息 public static class ALARM_BYPASSMODE_CHANGE_INFO extends SdkStructure { public int dwSize; public int nChannelID; // 通道号 public NET_TIME stuTime; // 报警事件发生的时间 public int emDefenceType; // 防区类型,详见NET_DEFENCEAREA_TYPE public int nIsExtend; // 是否为扩展(通道)防区, 1:扩展通道, 0: 非扩展通道 public int emMode; // 变化后的模式,详见NET_BYPASS_MODE public int dwID; // ID号, 遥控器编号或键盘地址, emTriggerMode为NET_EM_TRIGGER_MODE_NET类型时为0 public int emTriggerMode; // 触发方式,详见NET_EM_TRIGGER_MODE public ALARM_BYPASSMODE_CHANGE_INFO() { this.dwSize = this.size(); } } // 报警输入源事件详情(只要有输入就会产生改事件,不论防区当前的模式,无法屏蔽) public static class ALARM_INPUT_SOURCE_SIGNAL_INFO extends SdkStructure { public int dwSize; public int nChannelID; // 通道号 public int nAction; // 0:开始 1:停止 public NET_TIME stuTime; // 报警事件发生的时间 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public ALARM_INPUT_SOURCE_SIGNAL_INFO() { this.dwSize = this.size(); } } // 门禁状态类型 public static class NET_ACCESS_CTL_STATUS_TYPE extends SdkStructure { public static final int NET_ACCESS_CTL_STATUS_TYPE_UNKNOWN = 0; public static final int NET_ACCESS_CTL_STATUS_TYPE_OPEN = 1; // 开门 public static final int NET_ACCESS_CTL_STATUS_TYPE_CLOSE = 2; // 关门 public static final int NET_ACCESS_CTL_STATUS_TYPE_ABNORMAL = 3; // 异常 public static final int NET_ACCESS_CTL_STATUS_TYPE_FAKELOCKED = 4; // 假锁 public static final int NET_ACCESS_CTL_STATUS_TYPE_CLOSEALWAYS = 5; // 常闭 public static final int NET_ACCESS_CTL_STATUS_TYPE_OPENALWAYS = 6; // 常开 } // 多人组合开门事件(对应NET_ALARM_OPENDOORGROUP类型) public static class ALARM_OPEN_DOOR_GROUP_INFO extends SdkStructure { public int dwSize; public int nChannelID; // 门通道号(从0开始) public NET_TIME stuTime; // 事件时间 public ALARM_OPEN_DOOR_GROUP_INFO() { this.dwSize = this.size(); } } // 获取信息事件(对应NET_ALARM_FINGER_PRINT类型) public static class ALARM_CAPTURE_FINGER_PRINT_INFO extends SdkStructure { public int dwSize; public int nChannelID; // 门通道号(从0开始) public NET_TIME stuTime; // 事件时间 public byte[] szReaderID = new byte[NET_COMMON_STRING_32]; // 门读卡器ID public int nPacketLen; // 单个信息数据包长度 public int nPacketNum; // 信息数据包个数 public Pointer szFingerPrintInfo; // 信息数据(数据总长度即nPacketLen*nPacketNum),指向byte public int bCollectResult; // 采集结果 public byte[] szCardNo=new byte[32]; // 信息所属人员卡号 public byte[] szUserID=new byte[32]; // 信息所属人员ID public ALARM_CAPTURE_FINGER_PRINT_INFO() { this.dwSize = this.size(); } } // 子系统状态类型 public static class EM_SUBSYSTEM_STATE_TYPE extends SdkStructure { public static final int EM_SUBSYSTEM_STATE_UNKNOWN = 0; // 未知 public static final int EM_SUBSYSTEM_STATE_ACTIVE = 1; // 已激活 public static final int EM_SUBSYSTEM_STATE_INACTIVE = 2; // 未激活 } // 子系统状态改变事件 public static class ALARM_SUBSYSTEM_STATE_CHANGE_INFO extends SdkStructure { public int dwSize; public int nChannelID; // 子系统序号(从0开始) public NET_TIME stuTime; // 事件发生的时间 public int emState; // 变化后的状态,详见EM_SUBSYSTEM_STATE_TYPE public ALARM_SUBSYSTEM_STATE_CHANGE_INFO() { this.dwSize = this.size(); } } // PSTN掉线事件 public static class ALARM_PSTN_BREAK_LINE_INFO extends SdkStructure { public int dwSize; public int nChannelID; // 电话线序号(从0开始) public int nAction; // 0:开始 1:停止 public NET_TIME stuTime; // 事件发生的时间 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public ALARM_PSTN_BREAK_LINE_INFO() { this.dwSize = this.size(); } } // 反复进入事件详细信息 public static class ALARM_ACCESS_CTL_REPEAT_ENTER_INFO extends SdkStructure { public int dwSize; public int nDoor; // 门通道号 public byte[] szDoorName = new byte[NET_MAX_DOORNAME_LEN]; // 门禁名称 public NET_TIME stuTime; // 报警事件发生的时间 public byte[] szCardNo = new byte[NET_MAX_CARDNO_LEN]; // 卡号 public int nEventID; // 事件ID public ALARM_ACCESS_CTL_REPEAT_ENTER_INFO() { this.dwSize = this.size(); } } // 胁迫卡刷卡事件详细信息 public static class ALARM_ACCESS_CTL_DURESS_INFO extends SdkStructure { public int dwSize; public int nDoor; // 门通道号 public byte[] szDoorName = new byte[NET_MAX_DOORNAME_LEN]; // 门禁名称 public byte[] szCardNo = new byte[NET_MAX_CARDNO_LEN]; // 胁迫卡号 public NET_TIME stuTime; // 报警事件发生的时间 public int nEventID; // 事件ID public byte[] szSN = new byte[32]; // 无线设备序列号 public byte[] szUserID=new byte[12]; // 用户ID public boolean bRealUTC; // RealUTC 是否有效,bRealUTC 为 TRUE 时,用 RealUTC,否则用 stuTime 字段 public NET_TIME_EX RealUTC; // 事件发生的时间(标准UTC) public byte[] szUserIDEx= new byte[32]; // 用户ID扩展 public ALARM_ACCESS_CTL_DURESS_INFO() { this.dwSize = this.size(); } } // 区域检测事件动作 public static class NET_CROSSREGION_ACTION_INFO extends SdkStructure { public static final int EM_CROSSREGION_ACTION_UNKNOW = 0; public static final int EM_CROSSREGION_ACTION_INSIDE = 1; // 在区域内 public static final int EM_CROSSREGION_ACTION_CROSS = 2; // 穿越区域 public static final int EM_CROSSREGION_ACTION_APPEAR = 3; // 出现 public static final int EM_CROSSREGION_ACTION_DISAPPEAR = 4; // 消失 } // 警戒线入侵方向 public static class NET_CROSSLINE_DIRECTION_INFO extends SdkStructure { public static final int EM_CROSSLINE_DIRECTION_UNKNOW = 0; public static final int EM_CROSSLINE_DIRECTION_LEFT2RIGHT = 1; // 左到右 public static final int EM_CROSSLINE_DIRECTION_RIGHT2LEFT = 2; // 右到左 public static final int EM_CROSSLINE_DIRECTION_ANY = 3; } // 拌线入侵事件(对应事件 NET_EVENT_CROSSLINE_DETECTION) public static class ALARM_EVENT_CROSSLINE_INFO extends SdkStructure { public int dwSize; public int nChannelID; // 通道号 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public int emCrossDirection; // 入侵方向,详见NET_CROSSLINE_DIRECTION_INFO public int nOccurrenceCount; // 规则被触发生次数 public int nLevel; // 事件级别,GB30147需求项 public int bIsObjectInfo; // 是否检测到物体信息 public NET_MSG_OBJECT stuObject; // 检测到的物体信息 public int nRetObjectNum; // 实际返回多个检测到的物体信息 public NET_MSG_OBJECT[] stuObjects = new NET_MSG_OBJECT[MAX_TARGET_OBJECT_NUM]; // 多个检测到的物体信息 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public ALARM_EVENT_CROSSLINE_INFO() { this.dwSize = this.size(); for (int i = 0; i < stuObjects.length; ++i) { stuObjects[i] = new NET_MSG_OBJECT(); } } } //区域入侵事件(对应事件 NET_EVENT_CROSSREGION_DETECTION) public static class ALARM_EVENT_CROSSREGION_INFO extends SdkStructure { public int dwSize; public int nChannelID; // 通道号 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public int emDirection; // 警戒区入侵方向,详见NET_CROSSREGION_DIRECTION_INFO public int emActionType; // 警戒区检测动作类型,详见NET_CROSSREGION_ACTION_INFO public int nOccurrenceCount; // 规则被触发生次数 public int nLevel; // 事件级别,GB30147需求项 public byte[] szName = new byte[NET_COMMON_STRING_128]; // 名称 public int bIsObjectInfo; // 是否检测到物体信息 public NET_MSG_OBJECT stuObject; // 检测到的物体信息 public int nRetObjectNum; // 实际返回多个检测到的物体信息 public NET_MSG_OBJECT[] stuObjects = new NET_MSG_OBJECT[MAX_TARGET_OBJECT_NUM]; // 多个检测到的物体信息 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] szMac = new byte[32]; // 事件触发源的Mac地址 public byte[] szReserved = new byte[1024]; // 预留字节 public ALARM_EVENT_CROSSREGION_INFO() { this.dwSize = this.size(); for (int i = 0; i < stuObjects.length; ++i) { stuObjects[i] = new NET_MSG_OBJECT(); } } } // 探测器状态 public static class EM_SENSOR_ABNORMAL_STATUS extends SdkStructure { public static final int NET_SENSOR_ABNORMAL_STATUS_UNKNOWN = 0; public static final int NET_SENSOR_ABNORMAL_STATUS_SHORT = 1; // 短路 public static final int NET_SENSOR_ABNORMAL_STATUS_BREAK = 2; // 断路 public static final int NET_SENSOR_ABNORMAL_STATUS_INTRIDED = 3; // 被拆开 } //事件类型(NET_ALARM_SENSOR_ABNORMAL) 探测器状态异常报警 public static class ALARM_SENSOR_ABNORMAL_INFO extends SdkStructure { public int nAction; // 0:开始 1:停止 public int nChannelID; // 视频通道号 public NET_TIME_EX stuTime; // 事件发生的时间 public int emStatus; // 探测器状态,详见EM_SENSOR_ABNORMAL_STATUS public int emSenseMethod; // SenseMethod, 感应方式,参见具体枚举定义NET_SENSE_METHOD public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] byReserved = new byte[124]; // 预留字段 } // 防区布防撤防状态类型 public static class EM_DEFENCEMODE extends SdkStructure { public static final int EM_DEFENCEMODE_UNKNOWN = 0; // "unknown" 未知 public static final int EM_DEFENCEMODE_ARMING = 1; // "Arming" 布防 public static final int EM_DEFENCEMODE_DISARMING = 2; // "Disarming" 撤防 } //触发方式 public static class EM_ARMMODECHANGE_TRIGGERMODE extends SdkStructure { public static final int EM_ARMMODECHANGE_TRIGGERMODE_UNKNOWN = 0; // 未知 public static final int EM_ARMMODECHANGE_TRIGGERMODE_NET = 1; // 网络用户 public static final int EM_ARMMODECHANGE_TRIGGERMODE_KEYBOARD = 2; // 键盘 public static final int EM_ARMMODECHANGE_TRIGGERMODE_REMOTECONTROL = 3; // 遥控器 } //防区类型 public static class EM_ARMMODECHANGE_DEFENCEAREATYPE extends SdkStructure { public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_UNKNOWN = 0; // 未知 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_INTIME = 1; // 及时 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_DELAY = 2; // 延时 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_FULLDAY = 3; // 全天 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_FOLLOW = 4; // 跟随 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_MEDICAL = 5; // 医疗紧急 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_PANIC = 6; // 恐慌 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_FIRE = 7; // 火警 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_FULLDAYSOUND = 8; // 全天有声 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_FULLDAYSILENT = 9; // 全天无声 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_ENTRANCE1 = 10; // 出入防区1 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_ENTRANCE2 = 11; // 出入防区2 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_INSIDE = 12; // 内部防区 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_OUTSIDE = 13; // 外部防区 public static final int EM_ARMMODECHANGE_DEFENCEAREATYPE_PEOPLEDETECT = 14; // 人员检测 } // 事件类型NET_ALARM_DEFENCE_ARMMODECHANGE (防区布撤防状态改变事件) public static class ALARM_DEFENCE_ARMMODECHANGE_INFO extends SdkStructure { public int emDefenceStatus; // 布撤防状态,详见EM_DEFENCEMODE public int nDefenceID; // 防区号 public NET_TIME_EX stuTime; // 时间 public int emTriggerMode; // 触发方式,详见EM_ARMMODECHANGE_TRIGGERMODE public int emDefenceAreaType; // 防区类型,详见EM_ARMMODECHANGE_DEFENCEAREATYPE public int nID; // 遥控器编号或键盘地址 public int nAlarmSubSystem; // 子系统号 public byte[] szName = new byte[64]; // 防区名称 public byte[] szNetClientAddr = new byte[64]; // 用户IP或网络地址 public byte[] reserved = new byte[368]; // 预留 } // 工作状态 public static class EM_SUBSYSTEMMODE extends SdkStructure { public static final int EM_SUBSYSTEMMODE_UNKNOWN = 0; // "unknown" 未知 public static final int EM_SUBSYSTEMMODE_ACTIVE = 1; // "active" 激活 public static final int EM_SUBSYSTEMMODE_INACTIVE = 2; // "inactive" 未激活 public static final int EM_SUBSYSTEMMODE_UNDISTRIBUTED = 3; // "undistributed" 未分配 public static final int EM_SUBSYSTEMMODE_ALLARMING = 4; // "AllArming" 全部布防 public static final int EM_SUBSYSTEMMODE_ALLDISARMING = 5; // "AllDisarming" 全部撤防 public static final int EM_SUBSYSTEMMODE_PARTARMING = 6; // "PartArming" 部分布防 } //触发方式 public static class EM_SUBSYSTEM_ARMMODECHANGE_TRIGGERMODE extends SdkStructure { public static final int EM_SUBSYSTEM_ARMMODECHANGE_TRIGGERMODE_UNKNOWN = 0; // 未知 public static final int EM_SUBSYSTEM_ARMMODECHANGE_TRIGGERMODE_NET = 1; // 网络用户 public static final int EM_SUBSYSTEM_ARMMODECHANGE_TRIGGERMODE_KEYBOARD = 2; // 键盘 public static final int EM_SUBSYSTEM_ARMMODECHANGE_TRIGGERMODE_REMOTECONTROL = 3; // 遥控器 } // 事件类型 NET_ALARM_SUBSYSTEM_ARMMODECHANGE (子系统布撤防状态改变事件) public static class ALARM_SUBSYSTEM_ARMMODECHANGE_INFO extends SdkStructure { public int emSubsystemMode; // 布撤防状态 (只支持AllArming,AllDisarming,PartArming三种状态),详见EM_SUBSYSTEMMODE public NET_TIME_EX UTC; // 事件发生的时间 public byte[] szSubSystemname = new byte[64]; // 子系统名称 public int nSubSystemID; // 子系统编号 public int emTriggerMode; // 触发方式,详见EM_SUBSYSTEM_ARMMODECHANGE_TRIGGERMODE public int nID; // 键盘或遥控器地址 public byte[] szNetClientAddr = new byte[64]; // 网络用户IP地址或网络地址 public byte[] reserved = new byte[440]; // 预留 } // 立体视觉站立事件区域内人员列表 public static class MAN_STAND_LIST_INFO extends SdkStructure { public NET_POINT stuCenter; // 站立人员所在位置,8192坐标系 public byte[] szSerialUUID=new byte[22]; // 智能物体全局唯一物体标识 // 有效数据位21位,包含’\0’ // 前2位%d%d:01-视频片段, 02-图片, 03-文件, 99-其他 // 中间14位YYYYMMDDhhmmss:年月日时分秒 // 后5位%u%u%u%u%u:物体ID,如00001 public DH_RECT stuBoundingBox; // 包围盒 public byte[] szReversed = new byte[90]; // 保留字节 } // 事件类型EVENT_IVS_MAN_STAND_DETECTION(立体视觉站立事件)对应数据块描述信息 public static class DEV_EVENT_MANSTAND_DETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐,非保留字节 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID ///////////////////////////////以上为公共字段,除nChannelID外的其他字段是为了预留公共字段空间////////////////////////////// public int nAction; // 0:脉冲 1:开始 2:停止 public int nManListCount; // 区域人员列表数量 public MAN_STAND_LIST_INFO[] stuManList = new MAN_STAND_LIST_INFO[MAX_MAN_LIST_COUNT]; // 区域内人员列表 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public byte[] szReversed = new byte[2048]; // 保留字节 public DEV_EVENT_MANSTAND_DETECTION_INFO() { for (int i = 0; i < stuManList.length; ++i) { stuManList[i] = new MAN_STAND_LIST_INFO(); } } } // 课堂行为动作类型 public static class EM_CLASSROOM_ACTION extends SdkStructure { public static final int EM_CLASSROOM_ACTION_UNKNOWN = 0; // 未知 public static final int EM_CLASSROOM_ACTION_PLAY_PHONE = 1; // 玩手机 public static final int EM_CLASSROOM_ACTION_HANDSUP = 2; // 举手 public static final int EM_CLASSROOM_ACTION_LISTEN = 3; // 听讲 public static final int EM_CLASSROOM_ACTION_READ_WRITE = 4; // 读写 public static final int EM_CLASSROOM_ACTION_TABLE = 5; // 趴桌子 } // 事件类型 EVENT_IVS_CLASSROOM_BEHAVIOR (课堂行为分析事件) 对应的数据块描述信息 public static class DEV_EVENT_CLASSROOM_BEHAVIOR_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName = new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int emClassType; // 智能事件所属大类,详见EM_SCENE_CLASS_TYPE public int nRuleID; // 智能事件规则编号,用于标示哪个规则触发的事件 public int nObjectID; // 物体ID public int nSequence; // 帧序号 public int emClassroomAction; // 课堂行为动作,详见EM_CLASSROOM_ACTION public NET_POINT[] stuDetectRegion = new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 规则检测区域 public int nDetectRegionNum; // 规则检测区域顶点数 public int nPresetID; // 事件触发的预置点号 public byte[] szPresetName = new byte[64]; // 事件触发的预置点名称 public byte[] szSerialUUID = new byte[22]; // 智能物体全局唯一物体标识 // 格式如下:前2位%d%d:01-视频片段,02-图片,03-文件,99-其他; //中间14位YYYYMMDDhhmmss:年月日时分秒;后5位%u%u%u%u%u:物体ID,如00001 public byte[] byReserved1 = new byte[2]; // 用于字节对齐 public NET_RECT stuBoundingBox; // 包围盒 public NET_INTELLIGENCE_IMAGE_INFO stuSceneImage; // 人脸底图信息 public NET_INTELLIGENCE_IMAGE_INFO stuFaceImage; // 人脸小图信息 public NET_FACE_ATTRIBUTE_EX stuFaceAttributes; // 人脸属性 public NET_IMAGE_INFO_EX2 stuImageInfo[] = (NET_IMAGE_INFO_EX2[])new NET_IMAGE_INFO_EX2().toArray(32); //图片信息数组 public int nImageInfoNum; //图片信息个数 public byte byReserved[] = new byte[1024]; //预留字节 public DEV_EVENT_CLASSROOM_BEHAVIOR_INFO() { for (int i = 0; i < stuDetectRegion.length; ++i) { stuDetectRegion[i] = new NET_POINT(); } } } // 抓拍类型 public static class NET_EM_SNAP_SHOT_TYPE extends SdkStructure { public static final int NET_EM_SNAP_SHOT_TYPE_UNKNOWN = 0; // 未知 public static final int NET_EM_SNAP_SHOT_TYPE_NEAR = 1; // 近景 public static final int NET_EM_SNAP_SHOT_TYPE_MEDIUM = 2; // 中景 public static final int NET_EM_SNAP_SHOT_TYPE_FAR = 3; // 远景 public static final int NET_EM_SNAP_SHOT_TYPE_FEATURE = 4; // 车牌特写 } // 抓拍间隔模式 public static class NET_EM_SNAP_SHOT_INTERVAL_MODE extends SdkStructure { public static final int NET_EM_SNAP_SHOT_INTERVAL_UNKNOWN = 0; // 未知 public static final int NET_EM_SNAP_SHOT_INTERVAL_TIME = 1; // 按固定时间间隔,该模式下nSingleInterval有效 public static final int NET_EM_SNAP_SHOT_INTERVAL_FRAMEADAPTSPEED = 2; // 速度自适应帧间隔 public static final int NET_EM_SNAP_SHOT_INTERVAL_FRAME = 3; // 固定帧间隔 } // 规则集抓拍参数 public static class NET_SNAP_SHOT_WITH_RULE_INFO extends SdkStructure { public int nRuleId; public int dwRuleType; // 规则类型,详见dhnetsdk.h中"智能分析事件类型" public int nSnapShotNum; // 抓拍图片张数 public int[] emSnapShotType = new int[MAX_SNAP_SHOT_NUM]; // 抓拍图片类型数组,详见NET_EM_SNAP_SHOT_TYPE public int[] nSingleInterval = new int[MAX_SNAP_SHOT_NUM]; // 抓图时间间隔数组,单位秒,数组第一个时间:5~180 默认10, 其余时间(N张抓拍有N-1个间隔时):1~3600 默认20 public int emIntervalMode; // 抓拍间隔模式,详见NET_EM_SNAP_SHOT_INTERVAL_MODE public byte[] byReserved = new byte[1024]; // 预留 } // 抓拍参数 public static class NET_SCENE_SNAP_SHOT_WITH_RULE2_INFO extends SdkStructure { public int nPresetID; // 场景预置点号 public int nRetSnapShotRuleNum; // stuSnapShotWithRule中有效数据个数 public NET_SNAP_SHOT_WITH_RULE_INFO[] stuSnapShotWithRule = new NET_SNAP_SHOT_WITH_RULE_INFO[32]; // 规则集抓拍参数 public byte[] byReserved = new byte[1024]; // 预留 public NET_SCENE_SNAP_SHOT_WITH_RULE2_INFO() { for (int i = 0; i < stuSnapShotWithRule.length; ++i) { stuSnapShotWithRule[i] = new NET_SNAP_SHOT_WITH_RULE_INFO(); } } } // 场景抓拍设置 对应枚举 NET_EM_CFG_SCENE_SNAP_SHOT_WITH_RULE2 public static class NET_CFG_SCENE_SNAP_SHOT_WITH_RULE2_INFO extends SdkStructure { public int dwSize; // 结构体大小 public int nMaxRuleNum; // pstuSnapShotWithRule中用户分配的内存个数 public int nRetRuleNum; // pstuSnapShotWithRule中实际有效的数据个数 public Pointer pstuSceneSnapShotWithRule; // 抓拍参数,由用户分配和释放内存,大小为nMaxRuleNum * sizeof(NET_SCENE_SNAP_SHOT_WITH_RULE2_INFO),指向NET_SCENE_SNAP_SHOT_WITH_RULE2_INFO public NET_CFG_SCENE_SNAP_SHOT_WITH_RULE2_INFO() { this.dwSize = this.size(); } } // 车辆动作 public static class EM_VEHICLE_ACTION extends Structure{ public static final int EM_VEHICLE_ACTION_UNKNOWN=0; // 未知 public static final int EM_VEHICLE_ACTION_APPEAR=1; // "Appear"在检测区域内 public static final int EM_VEHICLE_ACTION_DISAPPEAR=2; // "Disappear"离开检测区域 } // 检测到的车辆信息 public static class NET_DETECT_VEHICLE_INFO extends SdkStructure{ public int emAction; // 检测车辆动作 public int /*UINT*/ nObjectID; // 物体ID public EVENT_PIC_INFO stuVehicleImage; // 车辆抓图信息 public NET_COLOR_RGBA stuColor; // 车身主要颜色 public int emCategoryType; // 车辆类型,参考枚举EM_CATEGORY_TYPE public int /*UINT*/ nFrameSequence; // 帧序号 public int /*UINT*/ nCarLogoIndex; // 车辆车标 public int /*UINT*/ nSubBrand; // 车辆子品牌 public int /*UINT*/ nBrandYear; // 车辆品牌年款 public int /*UINT*/ nConfidence; // 置信度,值越大表示置信度越高, 范围 0~255 public NET_RECT stuBoundingBox; // 包围盒, 0-8191相对坐标 public byte[] szText=new byte[128]; // 车标 public int /*UINT*/ nSpeed; // 车速,单位为km/h public int /*UINT*/ nDirection; // 车辆行驶方向, 0:未知, 1:上行方向, 2:下行方向 public byte[] bReserved=new byte[512];// 保留字节 } // 检测的车牌信息 public static class NET_DETECT_PLATE_INFO extends SdkStructure{ public int /*UINT*/ nObjectID; // 车牌ID public int /*UINT*/ nRelativeID; // 关联的车辆ID public EVENT_PIC_INFO stuPlateImage; // 车牌图片信息 public int emPlateType; // 车牌类型,参考枚举EM_NET_PLATE_TYPE public int emPlateColor; // 车牌颜色,参考枚举EM_NET_PLATE_COLOR_TYPE public int /*UINT*/ nConfidence; // 置信度,值越大表示置信度越高, 范围 0~255 public byte[] szCountry=new byte[3]; // 车牌国家 public byte bReserved1; // 字节对齐 public byte[] szPlateNumber=new byte[128]; // 车牌号码 public byte[] bReserved=new byte[512];// 保留字节 } // 加油站车辆检测事件 (对应 DEV_EVENT_GASSTATION_VEHICLE_DETECT_INFO) public static class DEV_EVENT_GASSTATION_VEHICLE_DETECT_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲1:开始 2:停止 public byte[] szName = new byte[NET_EVENT_NAME_LEN]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nRuleID; // 智能事件规则编号,用于标示哪个规则触发的事件 public int emClassType; // 智能事件所属大类 public NET_DETECT_VEHICLE_INFO stuDetectVehicleInfo; // 检测到的车辆信息 public NET_DETECT_PLATE_INFO stuDetectPlateInfo; // 检测到的车牌信息 public boolean bIsGlobalScene; // 是否有场景图 public EVENT_PIC_INFO stuSceneImage; // 场景图信息, bIsGlobalScene 为 TRUE 时有效 public int nCarCandidateNum; // 候选车辆数量 public NET_CAR_CANDIDATE_INFO[] stuCarCandidate = (NET_CAR_CANDIDATE_INFO[])new NET_CAR_CANDIDATE_INFO().toArray(MAX_CAR_CANDIDATE_NUM); // 候选车辆数据 /*public boolean bIsEmptyPlace; // 是否是空车位报警*/ public NET_FUEL_DISPENSER_INFO stuFuelDispenser; // 从加油机获取的信息,IVSS对接加油机及N8000 public DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO stuTrafficCar; // 交通车辆信息 public byte[] bReserved=new byte[872]; // 保留字节 } // 事件级别,GB30147需求 public static class EM_EVENT_LEVEL extends Structure { public static final int EM_EVENT_LEVEL_HINT = 0; // 提示 public static final int EM_EVENT_LEVEL_GENERAL=1; // 普通 public static final int EM_EVENT_LEVEL_WARNING=2; // 警告 } // 事件类型EVENT_IVS_SHOPPRESENCE(商铺占道经营事件)对应的数据块描述信息 public static class DEV_EVENT_SHOPPRESENCE_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName=new byte[128]; // 事件名称 public byte[] bReserved1=new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_MSG_OBJECT stuObject; // 检测到的物体,推荐使用字段stuObjects获取物体信息 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_POINT[] DetectRegion = (NET_POINT[])new NET_POINT().toArray(NET_MAX_DETECT_REGION_NUM); // 规则检测区域 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved=new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice = new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public byte[] szPresetName=new byte[64]; // 事件触发的预置点名称 public int emEventLevel; // 事件级别,GB30147需求 public byte[] szShopAddress=new byte[256]; // 商铺地址 public int nViolationDuration; // 违法持续时长,单位:秒,缺省值0表示无意义 public int nObjectNum; // 检测到的物体个数 public NET_MSG_OBJECT[] stuObjects = (NET_MSG_OBJECT[]) new NET_MSG_OBJECT().toArray(HDBJ_MAX_OBJECTS_NUM);// 检测到的物体 public byte[] szSourceID=new byte[32]; // 事件关联ID,同一个物体或图片生成多个事件时SourceID相同 public Pointer pstuImageInfo; // 图片信息数组,指针对应NET_IMAGE_INFO_EX2数组 public int nImageInfoNum; // 图片信息个数 public SCENE_IMAGE_INFO_EX stuSceneImage = new SCENE_IMAGE_INFO_EX(); // 全景图图片信息,事件前2~5s抓图 public Pointer pstuMosaicImage; // 合成图,指针对应SCENE_IMAGE_INFO_EX数组 public int nMosaicImageNum; // 合成图个数 public Pointer pstuAdvanceImage; // 事件发生前抓图,指针对应SCENE_IMAGE_INFO_EX数组 public int nAdvanceImageNum; // 事件发生前抓图个数 public byte[] byReserved2=new byte[1248-POINTERSIZE*3]; // 保留字节 } // 事件类型 EVENT_IVS_FLOWBUSINESS (流动摊贩事件) 对应的数据块描述信息 public static class DEV_EVENT_FLOWBUSINESS_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nDetectRegionNum; // 检测区域顶点数 public NET_POINT[] DetectRegion = (NET_POINT[])new NET_POINT().toArray(NET_MAX_DETECT_REGION_NUM);// 检测区域 public byte[] szPresetName=new byte[64]; // 事件触发的预置名称 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public int nViolationDuration; // 违法持续时长,单位:秒 缺省值0表示无意义 public int nObjectNum; // 检测到的物体个数 public NET_MSG_OBJECT[] stuObjects = (NET_MSG_OBJECT[]) new NET_MSG_OBJECT().toArray(HDBJ_MAX_OBJECTS_NUM);// 检测到的物体 public byte[] szSourceID=new byte[32]; // 事件关联ID,同一个物体或图片生成多个事件时SourceID相同 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public byte[] byReserved=new byte[2044]; // 保留字节 } // 立体视觉区域内人数统计事件区域人员列表 public static class MAN_NUM_LIST_INFO extends SdkStructure { public DH_RECT stuBoudingBox; // 人员包围盒,8192坐标系 public int nStature; // 人员身高,单位cm public byte[] szReversed=new byte[128]; // 保留字节 } /** * @author 260611 * @description 事件类型EVENT_IVS_MAN_NUM_DETECTION(立体视觉区域内人数统计事件)对应数据块描述信息 * @date 2023/01/10 19:44:49 */ public class DEV_EVENT_MANNUM_DETECTION_INFO extends SdkStructure { /** * 通道号 */ public int nChannelID; /** * 事件名称 */ public byte[] szName = new byte[128]; /** * 字节对齐, 非保留字节 */ public byte[] bReserved1 = new byte[4]; /** * 时间戳(单位是毫秒) */ public double PTS; /** * 事件发生的时间 */ public com.netsdk.lib.structure.NET_TIME_EX UTC = new com.netsdk.lib.structure.NET_TIME_EX(); /** * 事件ID */ public int nEventID; /** * 0:脉冲 1:开始 2:停止 */ public int nAction; /** * 区域人员列表数量 */ public int nManListCount; /** * 区域内人员列表 */ public MAN_NUM_LIST_INFO[] stuManList = new MAN_NUM_LIST_INFO[64]; /** * 智能事件公共信息 */ public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo = new EVENT_INTELLI_COMM_INFO(); /** * 区域ID(一个预置点可以对应多个区域ID) */ public int nAreaID; /** * 变化前人数 */ public int nPrevNumber; /** * 当前人数 */ public int nCurrentNumber; /** * 事件关联ID。应用场景是同一个物体或者同一张图片做不同分析,产生的多个事件的SourceID相同 * 缺省时为空字符串,表示无此信息 * 格式:类型+时间+序列号,其中类型2位,时间14位,序列号5位 */ public byte[] szSourceID = new byte[32]; /** * null */ public byte[] szRuleName = new byte[128]; /** * 检测模式 {@link com.netsdk.lib.enumeration.EM_EVENT_DETECT_TYPE} */ public int emDetectType; /** * 实际触发报警的人数 */ public int nAlertNum; /** * 报警类型. 0:未知, 1:从人数正常到人数异常, 2:从人数异常到人数正常 */ public int nAlarmType; /** * 图片信息数组 */ public Pointer pstuImageInfo; /** * 图片信息个数 */ public int nImageInfoNum; /** * 事件公共扩展字段结构体 */ public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); /** * 检测区个数 */ public int nDetectRegionNum; /** * 检测区 */ public NET_POINT_EX[] stuDetectRegion = new NET_POINT_EX[20]; /** * 保留字节 */ public byte[] szReversed = new byte[700]; public DEV_EVENT_MANNUM_DETECTION_INFO() { for (int i = 0; i < stuManList.length; i++) { stuManList[i] = new MAN_NUM_LIST_INFO(); } for (int i = 0; i < stuDetectRegion.length; i++) { stuDetectRegion[i] = new NET_POINT_EX(); } } } public static class EM_ALARM_TYPE extends SdkStructure { public static final int EM_ALARM_TYPE_UNKNOWN = 0; // 未知类型 public static final int EM_ALARM_TYPE_CROWD_DENSITY = 1; // 拥挤人群密度报警 public static final int EM_ALARM_TYPE_NUMBER_EXCEED = 2; // 人数超限报警 public static final int EM_ALARM_TYPE_CROWD_DENSITY_AND_NUMBER_EXCEED = 3; // 拥挤人群密度报警和人数超限报警 }; // 全局拥挤人群密度列表(圆形)信息 public static class NET_CROWD_LIST_INFO extends SdkStructure { public NET_POINT stuCenterPoint = new NET_POINT(); // 中心点坐标,8192坐标系 public int nRadiusNum; // 半径像素点个数 public byte[] byReserved=new byte[1024]; // 保留字节 }; // 人数超限的报警区域ID列表信息 public static class NET_REGION_LIST_INFO extends SdkStructure { public int nRegionID; // 配置的区域下标 public int nPeopleNum; // 区域内人数统计值 public byte[] szName = new byte[32]; // 配置的名称 public DH_POINT[] stuDetectRegion = new DH_POINT[20]; // 配置的检测区域坐标 public int nDetectRegionNum; // 配置的检测区域坐标个数 public byte[] byReserved=new byte[908]; // 保留字节 }; // 全局拥挤人群密度列表(矩形)信息 public static class NET_CROWD_RECT_LIST_INFO extends SdkStructure { public NET_POINT[] stuRectPoint = (NET_POINT[])new NET_POINT().toArray(RECT_POINT); // 矩形的左上角点与右下角点,8192坐标系,表示矩形的人群密度矩形框 public byte[] byReserved=new byte[32]; // 保留字节 }; // 事件类型 EVENT_IVS_CROWDDETECTION(人群密度检测事件)对应的数据块描述信息 public static class DEV_EVENT_CROWD_DETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nEventID; // 事件ID public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventAction; // 事件动作,1表示持续性事件开始,2表示持续性事件结束; public int emAlarmType; // 报警业务类型 public byte[] szName=new byte[MAX_CROWD_DETECTION_NAME_LEN]; // 事件名称 public int nCrowdListNum; // 返回的全局拥挤人群密度列表个数 (圆形描述) public int nRegionListNum; // 返回的人数超限的报警区域ID列表个数 public NET_CROWD_LIST_INFO[] stuCrowdList=new NET_CROWD_LIST_INFO[MAX_CROWD_LIST_NUM]; // 全局拥挤人群密度列表信息(圆形描述) public NET_REGION_LIST_INFO[] stuRegionList=new NET_REGION_LIST_INFO[MAX_REGION_LIST_NUM]; // 人数超限的报警区域ID列表信息 public NET_EXTENSION_INFO stuExtensionInfo; // 扩展信息 public int nCrowdRectListNum; // 返回的全局拥挤人群密度列表个数 (矩形描述) public NET_CROWD_RECT_LIST_INFO[] stuCrowdRectList=new NET_CROWD_RECT_LIST_INFO[MAX_CROWD_RECT_LIST]; // 全局拥挤人群密度列表信息(矩形描述) public int nGlobalPeopleNum; // 检测区全局总人数 public Pointer pstuImageInfo; // 图片信息数组 ,结构体NET_IMAGE_INFO_EX2数组指针 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] byReserved=new byte[680]; // 保留扩展字节 }; // 人群密度检测事件(对应事件NET_ALARM_CROWD_DETECTION) public static class ALARM_CROWD_DETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nEventID; // 事件ID public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventAction; // 事件动作,1表示持续性事件开始,2表示持续性事件结束; public int emAlarmType; // 报警业务类型 public byte[] szName=new byte[MAX_CROWD_DETECTION_NAME_LEN]; // 事件名称 public int nCrowdListNum; // 返回的全局拥挤人群密度列表个数 public int nRegionListNum; // 返回的人数超限的报警区域ID列表个数 public NET_CROWD_LIST_INFO[] stuCrowdList=new NET_CROWD_LIST_INFO[MAX_CROWD_LIST_NUM]; // 全局拥挤人群密度列表信息 public NET_REGION_LIST_INFO[] stuRegionList=new NET_REGION_LIST_INFO[MAX_REGION_LIST_NUM]; // 人数超限的报警区域ID列表信息 public NET_EXTENSION_INFO stuExtensionInfo; // 扩展信息 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] byReserved=new byte[896]; // 保留扩展字节 }; // 对象目标类型 public static class EM_OBJECT_TYPE extends SdkStructure { public static final int EM_OBJECT_TYPE_UNKNOWN = -1; // 未知 public static final int EM_OBJECT_TYPE_FACE = 0; // 目标 public static final int EM_OBJECT_TYPE_HUMAN = 1; // 人体 public static final int EM_OBJECT_TYPE_VECHILE = 2; // 机动车 public static final int EM_OBJECT_TYPE_NOMOTOR = 3; // 非机动车 public static final int EM_OBJECT_TYPE_ALL = 4; // 所有类型 }; // CLIENT_StartMultiFindFaceRecognition 接口输入参数 public static class NET_IN_STARTMULTIFIND_FACERECONGNITION extends SdkStructure { public int dwSize; public Pointer pChannelID; // 通道号 public int nChannelCount; // 通道申请个数 public int bPersonEnable; // 人员信息查询条件是否有效 public FACERECOGNITION_PERSON_INFO stPerson; // 人员信息查询条件 public NET_FACE_MATCH_OPTIONS stMatchOptions; // 人脸匹配选项 public NET_FACE_FILTER_CONDTION stFilterInfo; // 查询过滤条件 // 图片二进制数据 public Pointer pBuffer; // 缓冲地址 public int nBufferLen; // 缓冲数据长度 public int bPersonExEnable; // 人员信息查询条件是否有效, 并使用人员信息扩展结构体 public FACERECOGNITION_PERSON_INFOEX stPersonInfoEx; // 人员信息扩展 public int emObjectType; // 搜索的目标类型,参考EM_OBJECT_TYPE public int nChannelNum; // 通道有效个数 public byte[] szChannelString = new byte[512*32];// 通道号(使用) public int nProcessType; // 以图搜图类型, -1: 未知, 0: 特征值搜索, 1: SMD属性特征搜索 public int bIsUsingTaskID; // 是否使能订阅的TaskID字段 public int nTaskIDNum; // 订阅的TaskID数组有效个数 public int[] nTaskID = new int[128]; // 订阅的TaskID, bIsUsingTaskID为TRUE,nTaskIDNum为0表示订阅所有任务结果 public NET_IN_STARTMULTIFIND_FACERECONGNITION() { this.dwSize = this.size(); } }; // CLIENT_StartMultiFindFaceRecognition 接口输出参数 public static class NET_OUT_STARTMULTIFIND_FACERECONGNITION extends SdkStructure { public int dwSize; public int nTotalCount; // 返回的符合查询条件的记录个数 // -1表示总条数未生成,要推迟获取 // 使用CLIENT_AttachFaceFindState接口状态 public LLong lFindHandle; // 查询句柄 public int nToken; // 获取到的查询令牌 public NET_OUT_STARTMULTIFIND_FACERECONGNITION() { this.dwSize = this.size(); } }; // 开始目标检测/注册库的多通道查询 public Boolean CLIENT_StartMultiFindFaceRecognition(LLong lLoginID, NET_IN_STARTMULTIFIND_FACERECONGNITION pstInParam, NET_OUT_STARTMULTIFIND_FACERECONGNITION pstOutParam, int nWaitTime); // 事件类型 EVENT_IVS_PEDESTRIAN_JUNCTION (行人卡口事件) 对应的数据块描述信息 public static class DEV_EVENT_PEDESTRIAN_JUNCTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName=new byte[NET_EVENT_NAME_LEN]; // 事件名称 public int nGroupID; // 事件组ID, 同一个人抓拍过程内nGroupID相同 public int nCountInGroup; // 一个事件组内的抓拍张数 public int nIndexInGroup; // 一个事件组内的抓拍序号,从1开始 public double PTS; // 事件戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int UTCMS; // UTC时间对应的毫秒数 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public NET_MSG_OBJECT stuObject; // 人脸信息 public int nLane; // 人行道号 public int nSequence; // 表示抓拍序号,如3/2/1,1表示抓拍结束,0表示异常结束 public VA_OBJECT_NONMOTOR stuNonMotor; // 非机动车信息 public boolean bHasNonMotor; // stuNonMotor 字段是否有效 public NET_MSG_OBJECT stuVehicle; // 行人信息 public byte[] byReserved=new byte[336]; // 保留字节 }; // 多人多开门方式组合(对应 CFG_CMD_OPEN_DOOR_GROUP 命令),表示每个通道的组合信息, // 第一个通道的组合的开门优先级最高,后面依次递减 public static class CFG_OPEN_DOOR_GROUP_INFO extends SdkStructure { public int nGroup; // 有效组合数 public CFG_OPEN_DOOR_GROUP[] stuGroupInfo = new CFG_OPEN_DOOR_GROUP[CFG_MAX_OPEN_DOOR_GROUP_NUM];// 多人开门组合信息 public int nGroupMaxNum; // 组合总数,指明pGroupInfoEx实际内存空间大小,获取和下发均需要用户赋值,非0时nGroup、stuGroupInfo字段不生效 public int nGroupRetNum; // 实际有效的组合数,获取时由动态库赋值,下发时由用户赋值 public Pointer pGroupInfoEx; //多人开门组合信息扩展,内存有用户申请,指针对应CFG_OPEN_DOOR_GROUP数组 public byte[] szReserved =new byte[2048]; // 保留字节 }; // 多人组合开门组信息 public static class CFG_OPEN_DOOR_GROUP extends SdkStructure { public int nUserCount; // 用户数目,表示需要组合才能开门的人数 public int nGroupNum; // 有效组数目 public CFG_OPEN_DOOR_GROUP_DETAIL[] stuGroupDetail = new CFG_OPEN_DOOR_GROUP_DETAIL[CFG_MAX_OPEN_DOOR_GROUP_DETAIL_NUM];// 多人组合开门组的详细信息 public Boolean bGroupDetailEx; // TRUE: stuGroupDetail // 字段无效、pstuGroupDetailEx字段有效, FALSE: // stuGroupDetail // 字段有效、pstuGroupDetailEx字段无效 public int nMaxGroupDetailNum; // 多人组合开门组的详细信息最大个数 public Pointer pstuGroupDetailEx; /* * 多人组合开门组的详细信息扩展, 由用户申请内存, * 大小为sizeof(CFG_OPEN_DOOR_GROUP_DETAIL * )*nMaxUserCount, 当多人组合开门组的详细信息个数大于 * CFG_MAX_OPEN_DOOR_GROUP_DETAIL_NUM * 时使用此字段 */ }; // 多人组合开门组详细信息 public static class CFG_OPEN_DOOR_GROUP_DETAIL extends SdkStructure { public byte[] szUserID = new byte[CFG_MAX_USER_ID_LEN]; // 用户ID public int emMethod; // 开门方式 public int nMethodExNum; // 开门方式扩展个数 public int[] emMethodEx = new int[CFG_MAX_METHODEX_NUM]; // 开门方式扩展 }; public static class EM_CFG_OPEN_DOOR_GROUP_METHOD extends SdkStructure { public static final int EM_CFG_OPEN_DOOR_GROUP_METHOD_UNKNOWN = 0; public static final int EM_CFG_OPEN_DOOR_GROUP_METHOD_CARD = 1; // 刷卡 public static final int EM_CFG_OPEN_DOOR_GROUP_METHOD_PWD = 2; // 密码 public static final int EM_CFG_OPEN_DOOR_GROUP_METHOD_FINGERPRINT = 3; // 信息 public static final int EM_CFG_OPEN_DOOR_GROUP_METHOD_ANY = 4; // 任意组合方式开门 public static final int EM_CFG_OPEN_DOOR_GROUP_METHOD_FACE = 5; // 人脸 }; public static final int CFG_MAX_USER_ID_LEN = 32; // 门禁卡用户ID最大长度 public static final int CFG_MAX_METHODEX_NUM = 4; // 开门方式扩展最大个数 public static final int CFG_MAX_OPEN_DOOR_GROUP_DETAIL_NUM = 64; // 每一组多人开门组合的最大人数 public static final int CFG_MAX_OPEN_DOOR_GROUP_NUM = 4; // 多人开门组合的最大组合数 // 开始查找X光机包裹信息 public LLong CLIENT_StartFindXRayPkg(LLong lLoginID, NET_IN_START_FIND_XRAY_PKG pInParam, NET_OUT_START_FIND_XRAY_PIC pOutParam, int nWaitTime); // 查询X光机包裹的信息 public Boolean CLIENT_DoFindXRayPkg(LLong lFindID, NET_IN_DO_FIND_XRAY_PKG pInParam, NET_OUT_DO_FIND_XRAY_PKG pOutParam, int nWaitTime); // 结束查询X光机包裹的信息 public Boolean CLIENT_StopFindXRayPkg(LLong lFindID); // 物品类型 public static class EM_INSIDE_OBJECT_TYPE { public static final int EM_INSIDE_OBJECT_UNKNOWN = 0; // 算法未识别物品 public static final int EM_INSIDE_OBJECT_KNIFE = 1; // 刀具 public static final int EM_INSIDE_OBJECT_BOTTLELIQUID = 2; // 瓶装液体 public static final int EM_INSIDE_OBJECT_GUN = 3; // 枪支 public static final int EM_INSIDE_OBJECT_UMBRELLA = 4; // 雨伞 public static final int EM_INSIDE_OBJECT_PHONE = 5; // 手机 public static final int EM_INSIDE_OBJECT_NOTEBOOK = 6; // 笔记本 public static final int EM_INSIDE_OBJECT_POWERBANK = 7; // 充电宝 public static final int EM_INSIDE_OBJECT_SHOES = 8; // 鞋子 public static final int EM_INSIDE_OBJECT_ROD = 9; // 杠子 public static final int EM_INSIDE_OBJECT_METAL = 10; // 金属 public static final int EM_INSIDE_OBJECT_EXPLOSIVE = 11; // 爆炸物 public static final int EM_INSIDE_OBJECT_CONTAINERSPRAY = 12; // 喷雾喷灌 public static final int EM_INSIDE_OBJECT_EXPLOSIVE_FIREWORKS = 13; // 烟花爆竹 public static final int EM_INSIDE_OBJECT_LIGHTER = 14; // 打火机 public static final int EM_INSIDE_OBJECT_STICK = 15; // 警棍 public static final int EM_INSIDE_OBJECT_BRASSKNUCKLE = 16; // 指虎 public static final int EM_INSIDE_OBJECT_HANDCUFFS = 17; // 手铐 public static final int EM_INSIDE_OBJECT_IVORY = 18; // 象牙 public static final int EM_INSIDE_OBJECT_BOOK = 19; // 书籍 public static final int EM_INSIDE_OBJECT_CD = 20; // 光盘 public static final int EM_INSIDE_OBJECT_HAMMERS = 21; // 锤子 public static final int EM_INSIDE_OBJECT_PLIERS = 22; // 钳子 public static final int EM_INSIDE_OBJECT_AXE = 23; // 斧头 public static final int EM_INSIDE_OBJECT_SCREW_DRIVER = 24; // 螺丝刀 public static final int EM_INSIDE_OBJECT_WRENCH = 25; // 扳手 public static final int EM_INSIDE_OBJECT_ELECTRIC_SHOCK_STICK = 26; // 电击棍 public static final int EM_INSIDE_OBJECT_THERMOS = 27; // 保温杯 public static final int EM_INSIDE_OBJECT_GLASS_BOTTLES = 28; // 玻璃杯 public static final int EM_INSIDE_OBJECT_PLASTIC_BOTTLE = 29; // 塑料瓶 public static final int EM_INSIDE_OBJECT_IGNITION_OIL = 30; // 打火机油 public static final int EM_INSIDE_OBJECT_NAIL_POLISH = 31; // 指甲油 public static final int EM_INSIDE_OBJECT_BLUNT_INSTRUMENT = 32; // 工具 public static final int EM_INSIDE_OBJECT_SCISSORS = 33; // 剪刀 public static final int EM_INSIDE_OBJECT_ELECTRONIC = 34; // 电子产品 public static final int EM_INSIDE_OBJECT_PISTOL = 35; // 手枪 public static final int EM_INSIDE_OBJECT_FOLDINGKNIFE = 36; // 折叠刀 public static final int EM_INSIDE_OBJECT_SHARPKNIFE = 37; // 尖刀 public static final int EM_INSIDE_OBJECT_KITCHENKNIFE = 38; // 菜刀 public static final int EM_INSIDE_OBJECT_UTILITYKNIFE = 39; // 美工刀 public static final int EM_INSIDE_OBJECT_FIREWORKS = 40; // 烟花 public static final int EM_INSIDE_OBJECT_FIRECRACKER = 41; // 爆竹 public static final int EM_INSIDE_OBJECT_POWDER = 42; // 粉末 public static final int EM_INSIDE_OBJECT_IMPENETERABLE_MATERALS = 43; //难穿透物品 public static final int EM_INSIDE_OBJECT_CIGARETTE = 44; //香烟 public static final int EM_INSIDE_OBJECT_BATTERY = 45; //电池 public static final int EM_INSIDE_OBJECT_GUNPARTS = 46; //零部件 public static final int EM_INSIDE_OBJECT_MATCH = 47; //火柴 public static final int EM_INSIDE_OBJECT_GUNGRIP = 48; //握把 public static final int EM_INSIDE_OBJECT_GUNMAGAZINE = 49; //弹夹 public static final int EM_INSIDE_OBJECT_GUNSLEEVE = 50; //套筒 public static final int EM_INSIDE_OBJECT_GUNBARREL = 51; //枪管 public static final int EM_INSIDE_OBJECT_BULLET = 52; //子弹 public static final int EM_INSIDE_OBJECT_GRENADE = 53; //手雷 public static final int EM_INSIDE_OBJECT_CERAMICSHEET = 54; //陶瓷片 public static final int EM_INSIDE_OBJECT_GLASSSHEET = 55; //玻璃片 public static final int EM_INSIDE_OBJECT_IPADBASE = 56; //IPAD底壳 public static final int EM_INSIDE_OBJECT_SLINGSHOT = 57; //弹弓 public static final int EM_INSIDE_OBJECT_DRUG = 58; //毒品 public static final int EM_INSIDE_OBJECT_EXPLOSIVEPACKAGE = 59; //炸药包 public static final int EM_INSIDE_OBJECT_CELLBATTERY = 60; //纽扣电池 public static final int EM_INSIDE_OBJECT_LEADBATTERY = 61; //铅蓄电池 public static final int EM_INSIDE_OBJECT_METALLIGHTER = 62; //金属打火机 public static final int EM_INSIDE_OBJECT_COSMETICBOTTLE = 63; //化妆瓶 public static final int EM_INSIDE_OBJECT_CONTAINERCAN = 64; //易拉罐 public static final int EM_INSIDE_OBJECT_AIRBOTTLE = 65; //气罐 public static final int EM_INSIDE_OBJECT_SQUAREKNIFE = 66; //方刀 } ; // 危险等级 public static class EM_DANGER_GRADE_TYPE extends SdkStructure { public static final int EM_DANGER_GRADE_UNKNOWN = -1; // 未知 public static final int EM_DANGER_GRADE_NORMAL=0; // 普通级别 public static final int EM_DANGER_GRADE_WARN=1; // 警示级别 public static final int EM_DANGER_GRADE_DANGER=2; // 危险级别 } ; // CLIENT_StartFindXRayPkg 接口输入参数 public static class NET_IN_START_FIND_XRAY_PKG extends SdkStructure { public int dwSize; // 结构体大小 public int emTimeOrder; // 查询结果按时间排序 public NET_TIME stuStartTime; // 查询的开始时间 public NET_TIME stuEndTime; // 查询的结束时间 public int[] nSimilarityRange=new int[2]; // 相似度范围,下标0:表示最小值, 下标1:表示最大值 public int nObjTypeNum; // 物体类型的数量 public int[] emObjType=new int[32]; // 物品类型,参考枚举EM_INSIDE_OBJECT_TYPE public int nObjTypeCount; // 自定义物体类型的数量 public NET_XRAY_INSIDE_ONJECT_TYPE[] stuObjType=(NET_XRAY_INSIDE_ONJECT_TYPE[]) new NET_XRAY_INSIDE_ONJECT_TYPE().toArray(32); // 自定义物品类型 public NET_IN_START_FIND_XRAY_PKG() { this.dwSize = this.size(); } } ; // X光机物体信息 public static class NET_PKG_OBJECT_INFO extends SdkStructure { public int emObjType; // 物品类型 public int emDangerGrade; // 物品危险等级 public int nSimilarity; // 相似度,0~100 public byte[] byReserved=new byte[132]; // 保留字节 }; // CLIENT_StartFindXRayPkg 接口输出参数 public static class NET_OUT_START_FIND_XRAY_PIC extends SdkStructure { public int dwSize; // 结构体大小 public int nTotal; // 包裹总数 public NET_OUT_START_FIND_XRAY_PIC() { this.dwSize = this.size(); } } ; // CLIENT_DoFindXRayPkg 接口输入参数 public static class NET_IN_DO_FIND_XRAY_PKG extends SdkStructure { public int dwSize; // 结构体大小 public int nOffset; // 查询偏移 public int nCount; // 需要查找的数目 public NET_IN_DO_FIND_XRAY_PKG() { this.dwSize = this.size(); } }; // 视角信息数 public static class NET_PKG_VIEW_INFO extends SdkStructure { public int emViewType; // 视图类型 public int nEnergyImageLength; // 能量图大小 单位字节 public byte[] szEnergyImagePath=new byte[128]; // 能量图绝对路径 public int nColorImageLength; // 彩图大小单位字节 public byte[] szColorImagePath=new byte[128]; // 彩图绝对路径 public int nColorOverlayImageLength; // 彩图叠加图大小单位字节 public byte[] szColorOverlayImagePath=new byte[128]; // 彩图叠加图绝对路径 public NET_PKG_OBJECT_INFO[] stuObject=new NET_PKG_OBJECT_INFO[32]; // 物体数组 public int nObjectCount; // 物体数量 public byte[] byReserved=new byte[1024]; // 保留字节 } ; // X光机的包裹信息 public static class NET_XRAY_PKG_INFO extends SdkStructure { public NET_TIME stuTime; // 包裹产生时间(含时区) public int nChannelIn; // 关联的进口IPC通道号,从0开始,-1表示无效 public int nChannelOut; // 关联的出口IPC通道号,从0开始,-1表示无效 public byte[] szUser=new byte[128]; // 用户名 public NET_PKG_VIEW_INFO[] stuViewInfo= new NET_PKG_VIEW_INFO[2]; // 视角信息数组 public byte[] byReserved=new byte[1024]; // 保留字节 public NET_XRAY_PKG_INFO() { for (int i = 0; i < stuViewInfo.length; i ++) { stuViewInfo[i] = new NET_PKG_VIEW_INFO(); } } }; // CLIENT_DoFindXRayPkg 接口输出参数 public static class NET_OUT_DO_FIND_XRAY_PKG extends SdkStructure { public int dwSize; // 结构体大小 public int nMaxCount; // 用户指定分配结构体个数,需大于等于NET_IN_DO_FIND_XRAY_PKG的nCount public int nRetCount; // 实际返回的查询数量 public Pointer pstuXRayPkgInfo; // X光机的包裹信息,缓存大小由用户指定 public NET_OUT_DO_FIND_XRAY_PKG() { this.dwSize = this.size(); } } //事件类型 EVENT_IVS_TRAFFIC_PARKINGSPACEPARKING(车位有车事件)对应的规则配置 public static class CFG_TRAFFIC_PARKINGSPACEPARKING_INFO extends SdkStructure { public byte[] szRuleName=new byte[MAX_NAME_LEN]; // 规则名称,不同规则不能重名 public byte bRuleEnable; // 规则使能 public byte[] bReserved=new byte[3]; // 保留字段 public int nObjectTypeNum; // 相应物体类型个数 public byte[] szObjectTypes=new byte[MAX_OBJECT_LIST_SIZE*MAX_NAME_LEN]; // 相应物体类型列表 public int nPtzPresetId; // 云台预置点编号 0~65535 public CFG_ALARM_MSG_HANDLE stuEventHandler; // 报警联动 // public CFG_TIME_SECTION[] stuTimeSection=new CFG_TIME_SECTION[WEEK_DAY_NUM*MAX_REC_TSECT_EX]; // 事件响应时间段 public CFG_TIME_SECTION[] stuTimeSection = (CFG_TIME_SECTION[])new CFG_TIME_SECTION().toArray(WEEK_DAY_NUM*MAX_REC_TSECT_EX); // 事件响应时间段 public int nLane; // 车位号 public int nDelayTime; // 检测到报警发生到开始上报的时间, 单位:秒,范围1~65535 public int nDetectRegionPoint; // 检测区域顶点数 public CFG_POLYGON[] stuDetectRegion=(CFG_POLYGON[]) new CFG_POLYGON().toArray(MAX_POLYGON_NUM); // 检测区域 public int nPlateSensitivity; // 有牌检测灵敏度(控制抓拍) public int nNoPlateSensitivity; // 无牌检测灵敏度(控制抓拍) public int nLightPlateSensitivity; // 有牌检测灵敏度(控制车位状态灯) public int nLightNoPlateSensitivity; // 无牌检测灵敏度(控制车位状态灯) public boolean bForbidParkingEnable; // 禁止停车使能 TRUE:禁止 FALSE:未禁止 }; //事件类型 EVENT_IVS_TRAFFIC_PARKINGSPACENOPARKING(车位无车事件)对应的规则配置 public static class CFG_TRAFFIC_PARKINGSPACENOPARKING_INFO extends SdkStructure { public byte[] szRuleName=new byte[MAX_NAME_LEN]; // 规则名称,不同规则不能重名 public byte bRuleEnable; // 规则使能 public byte[] bReserved=new byte[3]; // 保留字段 public int nObjectTypeNum; // 相应物体类型个数 public byte[] szObjectTypes=new byte[MAX_OBJECT_LIST_SIZE*MAX_NAME_LEN]; // 相应物体类型列表 public int nPtzPresetId; // 云台预置点编号 0~65535 public CFG_ALARM_MSG_HANDLE stuEventHandler; // 报警联动 public CFG_TIME_SECTION[] stuTimeSection = (CFG_TIME_SECTION[])new CFG_TIME_SECTION().toArray(WEEK_DAY_NUM*MAX_REC_TSECT_EX); // 事件响应时间段 public int nLane; // 车位号 public int nDelayTime; // 检测到报警发生到开始上报的时间, 单位:秒,范围1~65535 public int nDetectRegionPoint; // 检测区域顶点数 public CFG_POLYGON[] stuDetectRegion=(CFG_POLYGON[]) new CFG_POLYGON().toArray(MAX_POLYGON_NUM); // 检测区域 public int nPlateSensitivity; // 有牌检测灵敏度(控制抓拍) public int nNoPlateSensitivity; // 无牌检测灵敏度(控制抓拍) public int nLightPlateSensitivity; // 有牌检测灵敏度(控制车位状态灯) public int nLightNoPlateSensitivity; // 无牌检测灵敏度(控制车位状态灯) }; // 事件类型 EVENT_IVS_CITY_MOTORPARKING (城市机动车违停事件) 对应的数据块描述信息 public static class DEV_EVENT_CITY_MOTORPARKING_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC = new NET_TIME_EX(); // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo = new NET_EVENT_FILE_INFO(); // 事件对应文件信息 public int nObjectNum; // 检测到的物体个数 public NET_MSG_OBJECT[] stuObjects=new NET_MSG_OBJECT[NET_MAX_OBJECT_NUM]; // 检测到的物体 public int nDetectRegionNum; // 检测区域顶点数 public NET_POINT[] DetectRegion=new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 检测区域 public byte[] szPresetName=new byte[64]; // 事件触发的预置名称 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo = new EVENT_INTELLI_COMM_INFO(); // 智能事件公共信息 public int nParkingDuration; // 违停持续时长,单位:秒 缺省值0表示无意义 public byte[] szSourceID=new byte[32]; // 事件关联ID,同一个物体或图片生成多个事件时SourceID相同 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public int bPtzPosition; // stuPtzPosition 是否有效 public PTZ_NORMALIZED_POSITION_UNIT stuPtzPosition = new PTZ_NORMALIZED_POSITION_UNIT(); // 云台信息 public int emMotorStatus; // 车辆状态,{@link EM_CITYMOTOR_STATUS} public SCENE_IMAGE_INFO stuSceneImage = new SCENE_IMAGE_INFO(); // 全景广角图信息 public int emPreAlarm; // 是否为违规预警图片(预警触发后一定时间,违规物体还没有离开,才判定为违规),参考EM_PREALARM public Pointer pstuImageInfo; //图片信息数组,NET_IMAGE_INFO_EX2的数组 public int nImageInfoNum; //图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte byVehicleHeadDirection; // 车头朝向 0-未知,1-正面,2-侧面,3-背面 public byte[] byReserved = new byte[1011]; //预留字节 public DEV_EVENT_CITY_MOTORPARKING_INFO() { for (int i = 0; i < stuObjects.length; i++) { stuObjects[i] = new NET_MSG_OBJECT(); } for (int i = 0; i < DetectRegion.length; i++) { DetectRegion[i] = new NET_POINT(); } } }; // 事件类型 EVENT_IVS_CITY_NONMOTORPARKING (城市非机动车违停事件) 对应的数据块描述信息 public static class DEV_EVENT_CITY_NONMOTORPARKING_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nDetectRegionNum; // 检测区域顶点数 public NET_POINT[] DetectRegion=new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 检测区域 public int nAlarmNum; // 报警阈值 public int nNoMotorNum; // 非机动车的个数 public byte[] szPresetName=new byte[64]; // 事件触发的预置名称 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public int nViolationDuration; // 违法持续时长,单位:秒 缺省值0表示无意义 public int nObjectNum; // 检测到的物体个数 public NET_MSG_OBJECT[] stuObjects=new NET_MSG_OBJECT[HDBJ_MAX_OBJECTS_NUM]; // 检测到的物体 public byte[] szSourceID=new byte[32]; // 事件关联ID,同一个物体或图片生成多个事件时SourceID相同 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public SCENE_IMAGE_INFO stuSceneImage; // 全景广角图 public Pointer pstuImageInfo; // 图片信息数组 ,结构体NET_IMAGE_INFO_EX2数组指针 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] byReserved=new byte[892]; // 保留字节 }; // 事件类型 EVENT_IVS_HOLD_UMBRELLA (违规撑伞检测事件) 对应的数据块描述信息 public static class DEV_EVENT_HOLD_UMBRELLA_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public NET_POINT[] DetectRegion=new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 规则检测区域 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_MSG_OBJECT[] stuObjects=new NET_MSG_OBJECT[HDBJ_MAX_OBJECTS_NUM]; // 检测到的物体 public int nObjectNum; // 检测到的物体个数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public byte[] szPresetName=new byte[64]; // 事件触发的预置名称 public int nViolationDuration; // 违法持续时长,单位:秒 缺省值0表示无意义 public byte[] szSourceID=new byte[32]; // 事件关联ID,同一个物体或图片生成多个事件时SourceID相同 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public byte[] bReserved=new byte[4092]; // 保留字节,留待扩展. }; // 事件类型 EVENT_IVS_GARBAGE_EXPOSURE (垃圾暴露检测事件) 对应的数据块描述信息 public static class DEV_EVENT_GARBAGE_EXPOSURE_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public NET_POINT[] DetectRegion=new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 规则检测区域 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_MSG_OBJECT[] stuObjects=new NET_MSG_OBJECT[HDBJ_MAX_OBJECTS_NUM]; // 检测到的物体 public int nObjectNum; // 检测到的物体个数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public byte[] szPresetName=new byte[64]; // 事件触发的预置名称 public int nViolationDuration; // 违法持续时长,单位:秒 缺省值0表示无意义 public byte[] szSourceID=new byte[32]; // 事件关联ID,同一个物体或图片生成多个事件时SourceID相同 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public Pointer pstuImageInfo; // 图片信息数组,指针对应NET_IMAGE_INFO_EX2的数组 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx =new NET_EVENT_INFO_EXTEND();// 事件公共扩展字段结构体 public byte[] bReserved=new byte[3016]; // 保留字节,留待扩展. } ; // 事件类型 EVENT_IVS_DUSTBIN_OVER_FLOW (垃圾桶满溢检测事件) 对应的数据块描述信息 public static class DEV_EVENT_DUSTBIN_OVER_FLOW_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public NET_POINT[] DetectRegion=new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 规则检测区域 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_MSG_OBJECT[] stuObjects=new NET_MSG_OBJECT[HDBJ_MAX_OBJECTS_NUM]; // 检测到的物体 public int nObjectNum; // 检测到的物体个数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public byte[] szPresetName=new byte[64]; // 事件触发的预置名称 public int nViolationDuration; // 违法持续时长,单位:秒 缺省值0表示无意义 public byte[] szSourceID=new byte[32]; // 事件关联ID,同一个物体或图片生成多个事件时SourceID相同 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public Pointer pstuImageInfo; // 图片信息数组,指针对应NET_IMAGE_INFO_EX2数组 public int nImageInfoNum; // 图片信息个数 public int nRuleId; // 规则编号 public byte[] szRuleName = new byte[128]; // 规则名称 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND();// 事件公共扩展字段结构体 public SCENE_IMAGE_INFO_EX stuSceneImage = new SCENE_IMAGE_INFO_EX();// 全景图图片信息,事件前2~5s抓图 public Pointer pstuMosaicImage; // 合成图,指针对应SCENE_IMAGE_INFO_EX数组 public int nMosaicImageNum; // 合成图个数 public Pointer pstuAdvanceImage; // 事件发生前抓图,指针对应SCENE_IMAGE_INFO_EX数组 public int nAdvanceImageNum; // 事件发生前抓图个数 public byte[] bReserved=new byte[2088 - POINTERSIZE*2]; // 保留字节,留待扩展. } ; // 事件类型 EVENT_IVS_DOOR_FRONT_DIRTY (门前脏乱检测事件) 对应的数据块描述信息 public static class DEV_EVENT_DOOR_FRONT_DIRTY_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public NET_POINT[] DetectRegion=new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 规则检测区域 public int nDetectRegionNum; // 规则检测区域顶点数 public NET_MSG_OBJECT[] stuObjects=new NET_MSG_OBJECT[HDBJ_MAX_OBJECTS_NUM]; // 检测到的物体 public int nObjectNum; // 检测到的物体个数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public byte[] szPresetName=new byte[64]; // 事件触发的预置名称 public byte[] szShopAddress=new byte[256]; // 商铺地址名称 public int nViolationDuration; // 违法持续时长,单位:秒,缺省值0表示无意义 public byte[] szSourceID=new byte[32]; // 事件关联ID,同一个物体或图片生成多个事件时SourceID相同 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public byte[] bReserved=new byte[4092]; // 保留字节,留待扩展. } ; // CLIENT_StartRemoteUpgrade-输入参数 public static class NET_IN_START_REMOTE_UPGRADE_INFO extends SdkStructure { public int dwSize; // 此结构体大小 public int nListNum; // 需要升级的远程通道个数 public Pointer pstuList; // 需要升级的远程通道信息 public Pointer pReserved; // 字节对齐 public byte[] szFileName=new byte[256]; // 升级文件名称 public Callback cbRemoteUpgrade; // 升级进度回调函数 public Pointer dwUser; // 用户数据 public int nPacketSize; // 每次分包发送大小,为0默认为16K public NET_IN_START_REMOTE_UPGRADE_INFO() { this.dwSize = this.size(); } }; // CLIENT_StartRemoteUpgrade-输出参数 public static class NET_OUT_START_REMOTE_UPGRADE_INFO extends SdkStructure { public int dwSize; public NET_OUT_START_REMOTE_UPGRADE_INFO() { this.dwSize = this.size(); }// 此结构体大小 }; // CLIENT_AttachRemoteUpgradeState-输入参数 public static class NET_IN_ATTACH_REMOTEUPGRADE_STATE extends SdkStructure { public int dwSize; // 此结构体大小 public Callback cbCallback; // 回调 public Pointer dwUser; // 用户数据 public NET_IN_ATTACH_REMOTEUPGRADE_STATE() { this.dwSize = this.size(); }// 此结构体大小 }; // CLIENT_AttachRemoteUpgradeState-输出参数 public static class NET_OUT_ATTACH_REMOTEUPGRADE_STATE extends SdkStructure { public int dwSize; // 此结构体大小 public NET_OUT_ATTACH_REMOTEUPGRADE_STATE() { this.dwSize = this.size(); }// 此结构体大小 }; // 远程通道信息 public static class NET_REMOTE_UPGRADE_CHNL_INFO extends SdkStructure { public int nChannel; // 远程通道号 public byte[] byReserved=new byte[512]; // 预留字段 }; // 升级远程设备程序回调函数 public interface fRemoteUpgradeCallBack extends Callback{ public void invoke(LLong lLoginID, LLong lUpgradeID, int emState, int nParam1, int nParam2, Pointer dwUser); } // 远程升级回调类型 public static class EM_REMOTE_UPGRADE_CB_TYPE extends SdkStructure { public static final int EM_REMOTE_UPGRADE_CB_TYPE_APPENDING=0; // 推送回调 nParam1 文件总大小 nParam2 已发送大小 public static final int EM_REMOTE_UPGRADE_CB_TYPE_EXECUTE=1; // 执行回调 nParam1 执行execute的结果 public static final int EM_REMOTE_UPGRADE_CB_TYPE_FAILED=2; // 失败回调 nParam1 错误码 public static final int EM_REMOTE_UPGRADE_CB_TYPE_CANCEL=3; // 取消回调 }; // 升级状态回调函数 public interface fRemoteUpgraderStateCallback extends Callback{ public void invoke(LLong lLoginId, LLong lAttachHandle, NET_REMOTE_UPGRADER_NOTIFY_INFO pBuf, int dwBufLen, Pointer pReserved, Pointer dwUser); } // 远程设备升级消息上报 public static class NET_REMOTE_UPGRADER_NOTIFY_INFO extends SdkStructure { public int nStateNum; // 状态数 public Pointer pstuStates; // 状态列表 public byte[] byReserved=new byte[1024]; // 预留 }; // 远程设备升级状态 public static class NET_REMOTE_UPGRADER_STATE extends SdkStructure { public int nChannel; // 通道号 public int emState; // 状态(对应的枚举值EM_REMOTE_UPGRADE_STATE) public int nProgress; // 进度 public byte[] szDeviceID=new byte[128]; // 远程设备ID }; // 远程设备升级状态 public static class EM_REMOTE_UPGRADE_STATE extends SdkStructure { public static final int EM_REMOTE_UPGRADE_STATE_UNKNOWN=0; // 未知 public static final int EM_REMOTE_UPGRADE_STATE_INIT=1; // 初始状态(未升级) public static final int EM_REMOTE_UPGRADE_STATE_DOWNLOADING=2; // 正在下载数据 public static final int EM_REMOTE_UPGRADE_STATE_UPGRADING=3; // 正在升级 public static final int EM_REMOTE_UPGRADE_STATE_FAILED=4; // 升级失败 public static final int EM_REMOTE_UPGRADE_STATE_SUCCEEDED=5; // 升级成功 public static final int EM_REMOTE_UPGRADE_STATE_CANCELLED=6; // 取消升级 public static final int EM_REMOTE_UPGRADE_STATE_PREPARING=7; // 准备升级中 }; //开始升级远程设备程序 public LLong CLIENT_StartRemoteUpgrade(LLong lLoginID, NET_IN_START_REMOTE_UPGRADE_INFO pInParam, NET_OUT_START_REMOTE_UPGRADE_INFO pOutParam, int nWaitTime); //结束升级远程设备程序 public Boolean CLIENT_StopRemoteUpgrade(LLong lUpgradeID); // 订阅ipc升级状态观察接口 public LLong CLIENT_AttachRemoteUpgradeState(LLong lLoginID, NET_IN_ATTACH_REMOTEUPGRADE_STATE pInParam, NET_OUT_ATTACH_REMOTEUPGRADE_STATE pOutParam, int nWaitTime); // 取消订阅升级状态接口 public Boolean CLIENT_DetachRemoteUpgradeState(LLong lAttachHandle); // 设置子连接网络参数, pSubConnectNetParam 资源由用户申请和释放 public Boolean CLIENT_SetSubConnectNetworkParam(LLong lLoginID, NET_SUBCONNECT_NETPARAM pSubConnectNetParam); // 设置子链接网络参数 public static class NET_SUBCONNECT_NETPARAM extends SdkStructure { public int dwSize; // 结构体大小 public int nNetPort; // 网络映射端口号 public byte[] szNetIP=new byte[NET_MAX_IPADDR_EX_LEN]; // 网络映射IP地址 public NET_SUBCONNECT_NETPARAM() { this.dwSize = this.size(); }// 此结构体大小 }; public static class EM_ANALYSE_TASK_START_RULE extends SdkStructure { public static final int EM_ANALYSE_TASK_START_NOW=0; // 立刻启动 public static final int EM_ANALYSE_TASK_START_LATER=1; // 稍候手动启动 }; // 视频分析支持的对象类型 public static class EM_ANALYSE_OBJECT_TYPE extends SdkStructure { public static final int EM_ANALYSE_OBJECT_TYPE_UNKNOWN=0; // 未知的 public static final int EM_ANALYSE_OBJECT_TYPE_HUMAN=1; // 人 public static final int EM_ANALYSE_OBJECT_TYPE_VEHICLE=2; // 车辆 public static final int EM_ANALYSE_OBJECT_TYPE_FIRE=3; // 火 public static final int EM_ANALYSE_OBJECT_TYPE_SMOKE=4; // 烟雾 public static final int EM_ANALYSE_OBJECT_TYPE_PLATE=5; // 片状物体 public static final int EM_ANALYSE_OBJECT_TYPE_HUMANFACE=6; // 人脸 public static final int EM_ANALYSE_OBJECT_TYPE_CONTAINER=7; // 货柜 public static final int EM_ANALYSE_OBJECT_TYPE_ANIMAL=8; // 动物 public static final int EM_ANALYSE_OBJECT_TYPE_TRAFFICLIGHT=9; // 红绿灯 public static final int EM_ANALYSE_OBJECT_TYPE_PASTEPAPER=10; // 贴纸 贴片 public static final int EM_ANALYSE_OBJECT_TYPE_HUMANHEAD=11; // 人的头部 public static final int EM_ANALYSE_OBJECT_TYPE_ENTITY=12; // 普通物体 }; // 事件类型 EVENT_IVS_SMART_KITCHEN_CLOTHES_DETECTION(智慧厨房穿着检测事件)对应的数据块描述信息 public static class DEV_EVENT_SMART_KITCHEN_CLOTHES_DETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nRuleID; // 用于 public int emClassType; // 智能事件所属大类 public byte[] szClassAlias=new byte[16]; // 智能事件所属大类别名 public HUMAN_IMAGE_INFO stuHumanImage; // 人体图片信息 public SCENE_IMAGE_INFO stuSceneImage; // 全景广角图片信息 public FACE_IMAGE_INFO stuFaceImage; // 人脸图片信息 public int nObjectID; // 目标ID public int emHasMask; // 检测是否有戴口罩(对应枚举值EM_NONMOTOR_OBJECT_STATUS) public int emHasChefHat; // 检测是否有戴厨师帽(对应枚举值EM_NONMOTOR_OBJECT_STATUS) public int emHasChefClothes; // 检测是否有穿厨师服(对应枚举值EM_NONMOTOR_OBJECT_STATUS) public int emChefClothesColor; // 厨师服颜色(对应枚举值EM_OBJECT_COLOR_TYPE) public NET_IMAGE_INFO_EX2 stuImageInfo[] = (NET_IMAGE_INFO_EX2[])new NET_IMAGE_INFO_EX2().toArray(32); //图片信息数组 public int nImageInfoNum; //图片信息个数 public byte bReserved[] = new byte[1024]; //预留字节 }; // 事件类型EVENT_IVS_BANNER_DETECTION(拉横幅事件)对应数据块描述信息 public static class DEV_EVENT_BANNER_DETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nEventID; // 事件ID public byte[] szName=new byte[NET_EVENT_NAME_LEN]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nAction; // 1:开始 2:停止 public int emClassType; // 智能事件所属大类(对应EM_CLASS_TYPE枚举) public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nObjectNum; // 检测到的物体个数 public NET_MSG_OBJECT [] stuObjects=new NET_MSG_OBJECT[32]; // 检测到的物体 public int nDetectRegionNum; // 检测区域顶点数 public NET_POINT [] DetectRegion=new NET_POINT[NET_MAX_DETECT_REGION_NUM]; // 检测区域 public int nCount; // 事件触发次数 public int nPresetID; // 预置点 public NET_EXTENSION_INFO stuExtensionInfo; // 扩展信息 public Pointer pstuImageInfo; //图片信息数组, refer to {@link NET_IMAGE_INFO_EX3} public int nImageInfoNum; //图片信息个数 public int bSceneImage; //pstuSceneImage是否有效 public Pointer pstuSceneImage; //全景广角图, refer to {@link SCENE_IMAGE_INFO_EX} public byte[] byReserved = new byte[1020-2*POINTERSIZE]; //保留字节,留待扩展. public DEV_EVENT_BANNER_DETECTION_INFO(){ for(int i=0;i type, Object value, boolean isFirstElement) { int alignment = super.getNativeAlignment(type, value, isFirstElement); return Math.min(4, alignment); } @Override public String toString() { return "DH_MSG_OBJECT{" + "nObjectID=" + nObjectID + ", szObjectType=" + new String(szObjectType) + ", nConfidence=" + nConfidence + ", nAction=" + nAction + ", BoundingBox=" + BoundingBox + ", Center=" + Center + ", nPolygonNum=" + nPolygonNum + ", Contour=" + Arrays.toString(Contour) + ", rgbaMainColor=" + rgbaMainColor + ", szText=" + new String(szText) + ", szObjectSubType=" + new String(szObjectSubType) + ", wColorLogoIndex=" + wColorLogoIndex + ", wSubBrand=" + wSubBrand + ", byReserved1=" + byReserved1 + ", bPicEnble=" + bPicEnble + ", bShotFrame=" + bShotFrame + ", bColor=" + bColor + ", byReserved2=" + byReserved2 + ", byTimeType=" + byTimeType + ", stuCurrentTime=" + stuCurrentTime + ", stuStartTime=" + stuStartTime + ", stuEndTime=" + stuEndTime + ", stuOriginalBoundingBox=" + stuOriginalBoundingBox + ", stuSignBoundingBox=" + stuSignBoundingBox + ", dwCurrentSequence=" + dwCurrentSequence + ", dwBeginSequence=" + dwBeginSequence + ", dwEndSequence=" + dwEndSequence + ", nBeginFileOffset=" + nBeginFileOffset + ", nEndFileOffset=" + nEndFileOffset + ", byColorSimilar=" + new String(byColorSimilar) + ", byUpperBodyColorSimilar=" + new String(byUpperBodyColorSimilar) + ", byLowerBodyColorSimilar=" + new String(byLowerBodyColorSimilar) + ", nRelativeID=" + nRelativeID + ", szSubText=" + new String(szSubText) + ", wBrandYear=" + wBrandYear + '}'; } }; // 事件类型EVENT_IVS_STAYDETECTION(停留事件)对应的数据块描述信息 public static class DEV_EVENT_STAY_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName = new byte[128]; // 事件名称 public byte[] bReserved1 = new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public DH_MSG_OBJECT stuObject; // 检测到的物体 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved = new byte[2]; // 保留字节 public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从 0 开始 public int nDetectRegionNum; //较精确的轮廓多边形 // 规则检测区域顶点数 public DH_POINT[] DetectRegion = (DH_POINT[])new DH_POINT().toArray(NET_MAX_DETECT_REGION_NUM);// 规则检测区域 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice = new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public int nObjectNum; // 检测到的物体个数 public DH_MSG_OBJECT[] stuObjectIDs =(DH_MSG_OBJECT[])new DH_MSG_OBJECT().toArray(DH_MAX_OBJECT_NUM); // 检测到的物体 public int nAreaID; // 区域ID(一个预置点可以对应多个区域ID) public int bIsCompliant; // 该场景下是否合规 public PTZ_PRESET_UNIT stPosition; // 预置点的坐标和放大倍数 public int nCurChannelHFOV; // 当前报警通道的横向视场角,单位:度,实际角度乘以100 public int nCurChannelVFOV; // 当前报警通道的垂直视场角,单位:度,实际角度乘以100 public SCENE_IMAGE_INFO stuSceneImage; // 全景广角图 public Pointer pstuImageInfo; // 图片信息数组 ,结构体NET_IMAGE_INFO_EX2数组指针 public int nImageInfoNum; // 图片信息个数 public NET_LINK_INFO stuLinkInfo; // 联动信息,保存其他设备传输的信息 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] bReserved = new byte[624]; // 保留字节,留待扩展. }; /*--------任务结束: T0058223ERR191213010-TASK1 停留事件:DEV_EVENT_STAY_INFO--------*/ /*--------任务开始: ERR191213083-TASK1 发动机数据上报:DH_ALARM_ENGINE_FAILURE_STATUS --------*/ // 发动机故障状态 public static class EM_ENGINE_FAILURE_STATUS extends SdkStructure { public static final int EM_ENGINE_FAILURE_UNKNOWN = 0; // 未知 public static final int EM_ENGINE_FAILURE_NOTACTIVE = 1; // "Not active" public static final int EM_ENGINE_FAILURE_ACTIVE = 2; // "Active" public static final int EM_ENGINE_FAILURE_BLINK = 3; // "Blink" public static final int EM_ENGINE_FAILURE_NOTAVAILABLE = 4; // "Not Available" } // 发动机故障状态上报事件( DH_ALARM_ENGINE_FAILURE_STATUS ) public static class ALARM_ENGINE_FAILURE_STATUS_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public NET_TIME_EX UTC; // 事件发生的时间 public int emStatus; // 发动机故障状态 详见 EM_ENGINE_FAILURE_STATUS public NET_GPS_STATUS_INFO stuGPS; // GPS信息(车载需求) public byte[] byReserved =new byte[1024]; // 保留字节 }; /*--------任务开始: ERR191213083-TASK1 发动机数据上报:DH_ALARM_ENGINE_FAILURE_STATUS--------*/ /************************************************************************/ /*视频上传交通运输部需求 从这往下 */ /************************************************************************/ // 获取转码虚拟通道号(虚拟通道号用于预览与回放), pInParam 和pOutParam 由用户申请和释放 public boolean CLIENT_GetVirtualChannelOfTransCode(LLong lLoginID, NET_IN_GET_VIRTUALCHANNEL_OF_TRANSCODE pInParam, NET_OUT_GET_VIRTUALCHANNEL_OF_TRANSCODE pOutParam, int nWaitTime); // 虚拟通道转码策略 public static class NET_VIRTUALCHANNEL_POLICY extends SdkStructure { public int bDeleteByCaller; // 是否由用户管理虚拟通道, TRUE:由用户管理 FALSE:由设备管理 public int bContinuous; // 是否持续转码 public byte[] byReserved=new byte[512]; // 保留字节 } ; //CLIENT_GetVirtualChannelOfTransCode 接口输入参数 public static class NET_IN_GET_VIRTUALCHANNEL_OF_TRANSCODE extends SdkStructure{ public int dwSize; // 结构体大小 public NET_VIDEO_SOURCE_INFO stuVideoSourceInfo; // 视频源信息 public NET_TRANSCODE_VIDEO_FORMAT stuTransVideoFormat; // 转码视频格式 public NET_TRANSCODE_AUDIO_FORMAT stuTransAudioFormat; // 转码音频格式 public NET_VIRTUALCHANNEL_POLICY stuVirtualChnPolicy; // 虚拟通道转码策略 public NET_TRANSCODE_SNAP_FORMAT stuSnapFormat; // 转码抓图格式参数 public NET_TRANSCODE_WATER_MARK[] stuWaterMark=(NET_TRANSCODE_WATER_MARK[]) new NET_TRANSCODE_WATER_MARK().toArray(4);// 水印配置 public NET_IN_GET_VIRTUALCHANNEL_OF_TRANSCODE(){ this.dwSize = this.size(); } } //转码抓图格式参数 public static class NET_TRANSCODE_SNAP_FORMAT extends SdkStructure{ public int nWidth; // 抓图宽度 public int nHeight; // 抓图高度 public byte[] byReserved=new byte[128]; // 保留字节 } //水印配置 public static class NET_TRANSCODE_WATER_MARK extends SdkStructure{ public byte[] szText=new byte[256]; // 水印文本信息 public byte[] byReserved=new byte[512]; // 保留字节 } // 视频源信息 public static class NET_VIDEO_SOURCE_INFO extends SdkStructure{ public int emProtocolType; // 设备协议类型,枚举值参考EM_DEV_PROTOCOL_TYPE public byte[] szIp = new byte[64]; // 前端设备IP地址 public int nPort; // 前端设备端口号 public byte[] szUser = new byte[128]; // 前端设备用户名 public byte[] szPwd = new byte[128]; // 前端设备密码 public int nChannelID; // 前端设备通道号 public byte[] szStreamUrl = new byte[256]; // 视频源url地址, emProtocolType为EM_DEV_PROTOCOL_GENERAL 时有效 public byte[] byReserved = new byte[512]; // 保留字节 } // 设备协议类型 public static class EM_DEV_PROTOCOL_TYPE extends SdkStructure { public static final int EM_DEV_PROTOCOL_UNKNOWN = 0; // 未知 public static final int EM_DEV_PROTOCOL_V2 = 1; // 私有二代 public static final int EM_DEV_PROTOCOL_V3 = 2; // 私有三代 public static final int EM_DEV_PROTOCOL_ONVIF = 3; // onvif public static final int EM_DEV_PROTOCOL_GENERAL = 4; // general public static final int EM_DEV_PROTOCOL_GB28181 = 5; // 国标GB28181 public static final int EM_DEV_PROTOCOL_EHOME = 6; public static final int EM_DEV_PROTOCOL_HIKVISION = 7; public static final int EM_DEV_PROTOCOL_BSCP = 8; public static final int EM_DEV_PROTOCOL_PRIVATE = 9; // 私有 public static final int EM_DEV_PROTOCOL_RTSP = 10; // RTSP public static final int EM_DEV_PROTOCOL_HBGK = 11; public static final int EM_DEV_PROTOCOL_LUAN = 12; } // 转码视频格式 public static class NET_TRANSCODE_VIDEO_FORMAT extends SdkStructure{ public int emCompression; // 视频压缩格式,枚举值参考EM_TRANSCODE_VIDEO_COMPRESSION public int nWidth; // 视频宽度 public int nHeight; // 视频高度 public int emBitRateControl; // 码流控制模式,枚举值参考NET_EM_BITRATE_CONTROL public int nBitRate; // 视频码流(kbps) public float fFrameRate; // 视频帧率 public int nIFrameInterval; // I帧间隔(1-100),比如50表示每49个B帧或P帧,设置一个I帧。 public int emImageQuality; // 图像质量,枚举值参考EM_TRANSCODE_IMAGE_QUALITY public byte[] byReserved=new byte[512]; // 保留字节 } // 视频压缩格式 public static class EM_TRANSCODE_VIDEO_COMPRESSION extends SdkStructure{ public static final int EM_TRANSCODE_VIDEO_AUTO = 0; // auto public static final int EM_TRANSCODE_VIDEO_MPEG4 = 1; // MPEG4 public static final int EM_TRANSCODE_VIDEO_MPEG2 = 2; // MPEG2 public static final int EM_TRANSCODE_VIDEO_MPEG1 = 3; // MPEG1 public static final int EM_TRANSCODE_VIDEO_MJPG = 4; // MJPG public static final int EM_TRANSCODE_VIDEO_H263 = 5; // H.263 public static final int EM_TRANSCODE_VIDEO_H264 = 6; // H.264 public static final int EM_TRANSCODE_VIDEO_H265 = 7; // H.265 } // 码流控制模式 public static class NET_EM_BITRATE_CONTROL extends SdkStructure{ public static final int EM_BITRATE_CBR = 0; // 固定码流 public static final int EM_BITRATE_VBR = 1; // 可变码流 } // 图像质量 public static class EM_TRANSCODE_IMAGE_QUALITY extends SdkStructure{ public static final int EM_TRANSCODE_IMAGE_QUALITY_SELFADAPT = 0; // 自适应 public static final int EM_TRANSCODE_IMAGE_QUALITY_Q10 = 1; // 10% public static final int EM_TRANSCODE_IMAGE_QUALITY_Q30 = 2; // 30% public static final int EM_TRANSCODE_IMAGE_QUALITY_Q50 = 3; // 50% public static final int EM_TRANSCODE_IMAGE_QUALITY_Q60 = 4; // 60% public static final int EM_TRANSCODE_IMAGE_QUALITY_Q80 = 5; // 80% public static final int EM_TRANSCODE_IMAGE_QUALITY_Q100 = 6; // 100% } // 转码音频格式 public static class NET_TRANSCODE_AUDIO_FORMAT extends SdkStructure{ public int emCompression; // 音频压缩模式,枚举值参考NET_EM_AUDIO_FORMAT public int nFrequency; // 音频采样频率 public byte[] byReserved = new byte[512]; // 保留字节 } public static class NET_EM_AUDIO_FORMAT extends SdkStructure{ public static final int EM_AUDIO_FORMAT_UNKNOWN = 0; // unknown public static final int EM_AUDIO_FORMAT_G711A = 1; // G711a public static final int EM_AUDIO_FORMAT_PCM = 2; // PCM public static final int EM_AUDIO_FORMAT_G711U = 3; // G711u public static final int EM_AUDIO_FORMAT_AMR = 4; // AMR public static final int EM_AUDIO_FORMAT_AAC = 5; // AAC public static final int EM_AUDIO_FORMAT_G726 = 6; // G.726 public static final int EM_AUDIO_FORMAT_G729 = 7; // G.729 public static final int EM_AUDIO_FORMAT_ADPCM = 8; // ADPCM public static final int EM_AUDIO_FORMAT_MPEG2 = 9; // MPEG2 public static final int EM_AUDIO_FORMAT_MPEG2L2 = 10; // MPEG2-Layer2 public static final int EM_AUDIO_FORMAT_OGG = 11; // OGG public static final int EM_AUDIO_FORMAT_MP3 = 12; // MP3 public static final int EM_AUDIO_FORMAT_G7221 = 13; // G.722.1 } //CLIENT_GetVirtualChannelOfTransCode 接口输出参数 public static class NET_OUT_GET_VIRTUALCHANNEL_OF_TRANSCODE extends SdkStructure{ public int dwSize; // 结构体大小 public int nVirtualChannel; // 虚拟通道号 public NET_OUT_GET_VIRTUALCHANNEL_OF_TRANSCODE(){ this.dwSize = this.size(); } } // 获取转码能力集, pInParam 和pOutParam 由用户申请和释放 public boolean CLIENT_GetCapsOfTransCode(LLong lLoginID, NET_IN_TRANDCODE_GET_CAPS pInParam, NET_OUT_TRANSCODE_GET_CAPS pOutParam, int nWaitTime); // 删除转码虚拟通道号 public boolean CLIENT_DelVirtualChannelOfTransCode(LLong lLoginID, NET_IN_DEL_VIRTUALCHANNEL_OF_TRANSCODE pInParam, NET_OUT_DEL_VIRTUALCHANNEL_OF_TRANSCODE pOutParam, int nWaitTime); // CLIENT_DelVirtualChannelOfTransCode 接口输入参数 public static class NET_IN_DEL_VIRTUALCHANNEL_OF_TRANSCODE extends SdkStructure{ public int dwSize; // 结构体大小 public int nVirtualChannel; // 虚拟通道号, -1 表示删除所有虚拟通道 public NET_IN_DEL_VIRTUALCHANNEL_OF_TRANSCODE(){ this.dwSize = this.size(); } }; // CLIENT_DelVirtualChannelOfTransCode 接口输出参数 public static class NET_OUT_DEL_VIRTUALCHANNEL_OF_TRANSCODE extends SdkStructure{ public int dwSize; // 结构体大小 public NET_OUT_DEL_VIRTUALCHANNEL_OF_TRANSCODE(){ this.dwSize = this.size(); } }; // CLIENT_GetCapsOfTransCode 接口输入参数 public static class NET_IN_TRANDCODE_GET_CAPS extends SdkStructure{ public int dwSize; // 结构体大小 public NET_IN_TRANDCODE_GET_CAPS(){ this.dwSize = this.size(); } } // CLIENT_GetCapsOfTransCode 接口输出参数 public static class NET_OUT_TRANSCODE_GET_CAPS extends SdkStructure{ public int dwSize; // 结构体大小 public int nMinVirtualChannel; // 最小虚拟通道号 public int nMaxVirtualChannel; // 最大虚拟通道号 public boolean bSupportErrorCode; // 是否支持压缩错误码实时上报 public boolean bSupportContinuous; // 是否支持持续转码 public boolean bSupportDelByCaller; // 是否支持由用户管理虚拟通道 public boolean bSupportSpecifyVirtualChannel; // 是否支持由调用者指定虚拟通道号, // 此项为true时,调用CLIENT_GetVirtualChannelOfTransCode时指定虚拟通道nVirtualChannel,虚拟通道号必须在nMinVirtualChannel~nMaxVirtualChannel的范围内; // 当此项为false时,不支持客户端指定虚拟通道号。 public float fMaxDownLoadSpeed; // 支持最大的压缩下载倍速 public int nSupportCompressMaxChannel; // 设备当前支持的最多压缩通道数 public byte[] szSupportCompressResolutionRangeMin= new byte[32]; // 支持压缩的分辨率 最小值 public byte[] szSupportCompressResolutionRangeMax= new byte[32]; // 支持压缩的分辨率 最大值 public int nSupportCompressFpsRangeMin; // 支持压缩的帧率 最小值 public int nSupportCompressFpsRangeMax; // 支持压缩的帧率 最大值 public byte[] szSupportCompressAudioTypes= new byte[64*32]; // 支持的音频格式 public int nSupportCompressAudioTypesNum; // 支持的音频格式个数 public int nSupportCompressCompressionTypesNum; // 支持的视频压缩格式个数 public byte[] szSupportCompressCompressionTypes= new byte[64*32]; // 支持的视频压缩格式 public NET_OUT_TRANSCODE_GET_CAPS(){ this.dwSize = this.size(); } } // 订阅虚拟转码通道状态, pInParam 由用户申请和释放 public LLong CLIENT_AttachVirtualChannelStatus(LLong lLoginID, NET_IN_ATTACH_VIRTUALCHANNEL_STATUS pInParam, int nWaitTime); //CLIENT_AttachVirtualChannelStatus 接口输入参数 public static class NET_IN_ATTACH_VIRTUALCHANNEL_STATUS extends SdkStructure{ public int dwSize; // 结构体大小 public byte[] byReserved = new byte[4]; // 用于字节对齐 public fVirtualChannelStatusCallBack cbVirtualChannelStatus; // 虚拟转码通道状态订阅函数 public Pointer dwUser;// 用户数据 public NET_IN_ATTACH_VIRTUALCHANNEL_STATUS(){ this.dwSize = this.size(); } } public interface fVirtualChannelStatusCallBack extends Callback { public void invoke(LLong lAttachHandle, NET_CB_VIRTUALCHANNEL_STATUS_INFO pstVirChnStatusInfo, Pointer dwUser);} // 虚拟转码通道状态信息 public class NET_CB_VIRTUALCHANNEL_STATUS_INFO extends SdkStructure{ public int nVirChannelID; // 虚拟转码通道号 public int emVirChannelStatus; // 虚拟转码通道状态,枚举值参考EM_VIRCHANNEL_STATUS public byte[] byReserved = new byte[1024]; // 保留字节 // public static class ByValue extends NET_CB_VIRTUALCHANNEL_STATUS_INFO implements SdkStructure.ByValue { } } public class EM_VIRCHANNEL_STATUS extends SdkStructure { public static final int EM_VIRCHANNEL_STATUS_UNKNOWN = -1; // 未知 public static final int EM_VIRCHANNEL_STATUS_OVER_DECODE = 0; // 超出解码 public static final int EM_VIRCHANNEL_STATUS_OVER_COMPRESS = 1; // 超出压缩 public static final int EM_VIRCHANNEL_STATUS_NO_ORIGI_STREAM = 2; // 无原始码流 public static final int EM_VIRCHANNEL_STATUS_SLAVE_OFFLINE = 3; // 压缩通道所在的从片掉线 public static final int EM_VIRCHANNEL_STATUS_UNKNOWN_FAILURE = 255; // 未知的失败原因 } // 取消订阅虚拟转码通道状态, lAttachHandle 为 CLIENT_AttachVirtualChannelStatus 函数的返回值 public boolean CLIENT_DetachVirtualChannelStatus(LLong lAttachHandle); /************************************************************************/ /* 视频上传交通运输部需求 从这往上 */ /************************************************************************/ // 设置动态子连接断线回调函数,目前SVR设备的预览和回放是短连接的。 public void CLIENT_SetSubconnCallBack(Callback cbSubDisConnect, Pointer dwUser); // 动态子连接断开回调函数原形 public interface fSubDisConnect extends Callback{ public void invoke(int emInterfaceType, Boolean bOnline, LLong lOperateHandle, LLong lLoginID, Pointer dwUser); } // 接口类型,对应CLIENT_SetSubconnCallBack接口 public static class EM_INTERFACE_TYPE extends SdkStructure { public static final int DH_INTERFACE_OTHER = 0; // 未知接口 public static final int DH_INTERFACE_REALPLAY = 1; // 实时预览接口 public static final int DH_INTERFACE_PREVIEW = 2; // 多画面预览接口 public static final int DH_INTERFACE_PLAYBACK =3; // 回放接口 public static final int DH_INTERFACE_DOWNLOAD =4; // 下载接口 public static final int DH_INTERFACE_REALLOADPIC =5; // 下载智能图片接口 }; //人脸开门输入参数 public static class NET_IN_FACE_OPEN_DOOR extends SdkStructure { public int dwSize; public int nChannel; //门通道号 public int emCompareResult; //比对结果,EM_COMPARE_RESULT public NET_OPENDOOR_MATCHINFO stuMatchInfo; //匹配信息 public NET_OPENDOOR_IMAGEINFO stuImageInfo; //图片信息 public NET_IN_FACE_OPEN_DOOR(){ this.dwSize = this.size(); } }; //匹配信息 public static class NET_OPENDOOR_MATCHINFO extends SdkStructure { public byte[] szUserID=new byte[32]; //远程用户ID public byte[] szUserName=new byte[32]; //用户名 public int emUserType; //用户类型 public byte[] szName=new byte[64]; //门禁名称 public int nMatchRate; //匹配度,范围为0-100 public int emOpenDoorType; //开门方式 public NET_TIME stuActivationTime; //(卡、头像)生效日期 public NET_TIME stuExpiryTime; //(卡、头像)截止日期 public int nScore; // 信用积分 public byte[] szCompanyName=new byte[MAX_COMPANY_NAME_LEN]; //单位名称 public byte[] szCompanionName=new byte[120]; //陪同人员姓名 public byte[] szCompanionCompany=new byte[MAX_COMPANY_NAME_LEN]; //陪同人员单位名称 public byte[] szPermissibleArea=new byte[MAX_COMMON_STRING_128]; //准许通行区域 public byte[] szSection=new byte[200]; //部门名称 public Pointer pstuCustomEducationInfo; // 教育信息,参考NET_CUSTOM_EDUCATION_INFO public Pointer pstuHealthCodeInfo;//健康码信息,NET_HEALTH_CODE_INFO public byte[] szRoomNo=new byte[32];//房间号 public Pointer pstuIDCardInfo;//证件信息,NET_IDCARD_INFO public Pointer pstuBusStationInfo;//公交站信息,NET_BUS_STATION_INFO public Pointer pstuCustomWorkerInfo;//工地工人信息,NET_CUSTOM_WORKER_INFO public boolean bUseMatchInfoEx;//否使用匹配信息扩展字段 public Pointer pstuMatchInfoEx;//匹配信息扩展字段,NET_OPENDOOR_MATCHINFO_EX public Pointer pstuHSJCInfo; // 核酸检测信息,NET_HSJC_INFO public Pointer pstuVaccineInfo; // 新冠疫苗接种信息,NET_VACCINE_INFO public Pointer pstuTravelInfo; // 行程码信息,NET_TRAVEL_INFO public byte[] byReserved=new byte[12]; }; // 教育信息 public static class NET_CUSTOM_EDUCATION_INFO extends SdkStructure { public int emInfoType; // 信息类型 public int nStudentSeatNumber; // 座位号,最小值为1 public byte[] szInfoContent=new byte[128]; // 消息内容 public int emVoiceType; // 语音类型,EM_CUSTOM_EDUCATION_VOICE_TYPE }; //图片信息 public static class NET_OPENDOOR_IMAGEINFO extends SdkStructure { public int nLibImageLen; //人脸库照片长度,限制为150k public int nSnapImageLen; //抓拍照片长度,限制为150k public Pointer pLibImage; //人脸库照片,内存由用户申请 public Pointer pSnapImage; //抓拍照片,内存由用户申请 public byte[] byReserved=new byte[1024]; }; //人脸开门输出参数 public static class NET_OUT_FACE_OPEN_DOOR extends SdkStructure { public int dwSize; public NET_OUT_FACE_OPEN_DOOR(){ this.dwSize = this.size(); } }; //人脸开门 public boolean CLIENT_FaceOpenDoor(LLong lLoginID, NET_IN_FACE_OPEN_DOOR pInParam, NET_OUT_FACE_OPEN_DOOR pOutParam, int nWaitTime); // 水位场景类型 public static class EM_WATERSTAGE_SCENE_TYPE extends SdkStructure { public static final int EM_WATERMONITOR_SCENE_UNKNOWN=0; // 未知 public static final int EM_WATERMONITOR_SCENE_WATERSTAGE_RULE=1; // 水位检测, 有水位尺 public static final int EM_WATERMONITOR_SCENE_WATERSTAGE_NO_RULE=2; // 水位检测, 无水位尺 public static final int EM_WATERMONITOR_SCENE_WATERLOGG_RULE=3; // 内涝检测, 有水位尺 public static final int EM_WATERMONITOR_SCENE_WATERLOGG_NO_RULE=4; // 内涝检测, 无水位尺 }; // 水面分割掩膜信息 public static class NET_WATER_SURFACE_MASK_INFO extends SdkStructure { public int nColNum; // 水面分割掩膜列数 public int nOffset; // 偏移 public int nLength; // 长度 public byte[] byReserved=new byte[1020]; // 预留字段 }; // 水位监测事件, 目前仅用于任务型智能分析 public static class DEV_EVENT_WATER_STAGE_MONITOR_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nRuleID; // 智能事件规则编号,用于标示哪个规则触发的事件 public int emClassType; // 智能事件所属大类 public int emSceneType; // 水位场景类型 public double dbMark; // 水尺读数 public NET_POINT stuCrossPoint; // 水尺与水面交点 public NET_WATER_SURFACE_MASK_INFO stuWaterSurfaceMask; // 水面分割掩膜信息, emSceneType 为EM_WATERMONITOR_SCENE_WATERSTAGE_NO_RULE 或者EM_WATERMONITOR_SCENE_WATERLOGG_NO_RULE有效 public byte[] byReserved=new byte[1020]; // 预留字段 } ; // 标定线 public static class NET_CALIBRATE_LINE_INFO extends SdkStructure { public NET_POINT stuStartPoint; // 起点 public NET_POINT stuEndPoint; // 终点 }; // 事件类型EVENT_IVS_WATER_STAGE_MONITOR(水位检测事件)对应的规则配置 public static class NET_WATER_STAGE_MONITOR_RULE_INFO extends SdkStructure { public int nDetectRegionPoint; // 检测区顶点数 public POINTCOORDINATE[] stuDetectRegion=(POINTCOORDINATE[]) new POINTCOORDINATE().toArray(20); // 检测区域 public int dwSceneMask; // 使能检测的场景掩码 // bit2:内涝检测,有水位尺, bit3:内涝检测,无水位尺 public NET_CALIBRATE_LINE_INFO stuCalibrateLine; // 标定线, 仅在人物分析模式下有效 public byte[] byReserved=new byte[4096];//保留字节 } // 事件类型EVENT_IVS_VIOLENT_THROW_DETECTION(暴力抛物检测)对应的数据块描述信息 public static class DEV_EVENT_VIOLENT_THROW_DETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public int nFrameSequence; // 视频分析帧序号 public byte[] szRegionName=new byte[64]; // 暴力抛物检测区域名称 public SCENE_IMAGE_INFO_EX stuSceneImage; // 大图信息 public NET_IMAGE_INFO_EX2 stuImageInfo[] = (NET_IMAGE_INFO_EX2[])new NET_IMAGE_INFO_EX2().toArray(32); //图片信息数组 public int nImageInfoNum; //图片信息个数 public byte byReserver[] = new byte[1024]; //预留字节 }; // CLIENT_GetHumanRadioCaps 接口输入参数 public static class NET_IN_GET_HUMAN_RADIO_CAPS extends SdkStructure { public int dwSize; public int nChannel; public NET_IN_GET_HUMAN_RADIO_CAPS(){ this.dwSize = this.size(); } }; // CLIENT_GetHumanRadioCaps 接口输出参数 public static class NET_OUT_GET_HUMAN_RADIO_CAPS extends SdkStructure { public int dwSize; public int bSupportRegulatorAlarm; public NET_OUT_GET_HUMAN_RADIO_CAPS(){ this.dwSize = this.size(); } }; // 获取能力级 public Boolean CLIENT_GetHumanRadioCaps(LLong lLoginID, NET_IN_GET_HUMAN_RADIO_CAPS pInParam, NET_OUT_GET_HUMAN_RADIO_CAPS pOutParam, int nWaitTime); // 区域内人员体温信息 public static class NET_MAN_TEMP_INFO extends SdkStructure { public int nObjectID; // 物体ID public NET_RECT stRect; // 人员头肩信息, 8192坐标系 public double dbHighTemp; // 最高的温度 public int nTempUnit; // 温度单位(0摄氏度 1华氏度 2开尔文) public boolean bIsOverTemp; // 是否温度异常 public boolean bIsUnderTemp; // 是否温度异常 public int nOffset; // 人脸小图特征值在二进制数据块中的偏移 public int nLength; // 人脸小图特征值长度, 单位:字节 public int emMaskDetectResult; // 口罩检测结果(参考EM_MASK_DETECT_RESULT_TYPE) public NET_RECT stThermalRect; // 热成像检测人员头肩坐标信息(坐标系:8192) public int nAge; // 年龄 public int emSex; // 性别(参考EM_DEV_EVENT_FACEDETECT_SEX_TYPE) public byte[] byReserved=new byte[36]; // 预留字段 } ; // 全景图 public static class NET_VIS_SCENE_IMAGE extends SdkStructure { public int nOffset; // 在二进制数据块中的偏移 public int nLength; // 图片大小, 单位字节 public int nWidth; // 图片宽度, 像素 public int nHeight; // 图片高度, 像素 public byte[] byReserved=new byte[64]; // 预留字段 } ; // 热成像全景图 public static class NET_THERMAL_SCENE_IMAGE extends SdkStructure { public int nOffset; // 在二进制数据块中的偏移 public int nLength; // 图片大小, 单位字节 public int nWidth; // 图片宽度, 像素 public int nHeight; // 图片高度, 像素 public byte[] byReserved=new byte[64]; // 预留字段 } ; // 事件类型EVENT_IVS_ANATOMY_TEMP_DETECT(人体测温检测事件)对应的数据块描述信息 public static class DEV_EVENT_ANATOMY_TEMP_DETECT_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int emClassType; // 智能事件所属大类(对应枚举类型EM_CLASS_TYPE) public int nPresetID; // 事件触发的预置点号, 从1开始, 没有该字段,表示预置点未知 public NET_MAN_TEMP_INFO stManTempInfo; // 区域内人员体温信息 public NET_VIS_SCENE_IMAGE stVisSceneImage; // 可见光全景图 public NET_THERMAL_SCENE_IMAGE stThermalSceneImage; // 热成像全景图 public int nSequence; // 帧序号 public int nEventRelevanceID; // 事件关联ID public boolean bIsFaceRecognition; // 是否做过后智能的目标识别 public Pointer pstuImageInfo; // 图片信息数组,结构体NET_IMAGE_INFO_EX2数组指针 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] byReserved=new byte[1004]; // 预留字段 } ; // 事件类型 ALARM_ANATOMY_TEMP_DETECT_INFO(人体温智能检测事件)对应的数据块描述信息 public static class ALARM_ANATOMY_TEMP_DETECT_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int nPresetID; // 事件触发的预置点号, 从1开始, 没有该字段,表示预置点未知 public NET_MAN_TEMP_INFO stManTempInfo; // 区域内人员体温信息 public int nSequence; // 帧序号 public int nEventRelevanceID; // 事件关联ID public boolean bIsFaceRecognition; // 是否做过后智能的目标识别 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] byReserved=new byte[1020]; // 预留字节 } ; // 人体测温规则配置 public static class CFG_ANATOMY_TEMP_DETECT_INFO extends SdkStructure { // 信息 public byte[] szRuleName=new byte[MAX_NAME_LEN]; // 规则名称,不同规则不能重名 public int bRuleEnable; // 规则使能 public int nObjectTypeNum; // 相应物体类型个数 public byte[] szObjectTypes=new byte[MAX_OBJECT_LIST_SIZE*MAX_NAME_LEN]; // 相应物体类型列表 public int nPtzPresetId; // 云台预置点编号 0~65535 public CFG_ALARM_MSG_HANDLE stuEventHandler; // 报警联动 public CFG_TIME_SECTION[] stuTimeSection=(CFG_TIME_SECTION[])new CFG_TIME_SECTION().toArray(WEEK_DAY_NUM*MAX_REC_TSECT_EX); // 事件响应时间段 public byte bTrackEnable; // 触发跟踪使能,仅对拌线入侵事件,警戒区规则有效 public int nDetectRegionPoint; // 多边形顶点数 public CFG_POLYGON[] stuDetectRegion=(CFG_POLYGON[])new CFG_POLYGON().toArray(MAX_POLYGON_NUM); // 检测区域,多边形 public boolean bHighEnable; // 温度异常报警是否开启 public boolean bLowEnable; // 温度异常报警是否开启 public int fHighThresholdTemp; // 温度异常阈值,精度0.1,扩大10倍 public int fLowThresholdTemp; // 温度异常阈值,精度0.1,扩大10倍 public boolean bIsAutoStudy; // 是否自动学习 public int fHighAutoOffset; // 温度自动学习偏差值,精度0.1,扩大10倍 public int fLowAutoOffset; // 温度自动学习偏差值,精度0.1,扩大10倍 public int nSensitivity; // 灵敏度 范围[1, 10] public boolean bSizeFileter; // 规则特定的尺寸过滤器是否有效 public CFG_SIZEFILTER_INFO stuSizeFileter; // 规则特定的尺寸过滤器 public boolean bIsCaptureNormal; // 是否上报正常体温信息 public byte[] byReserved=new byte[1024]; // 保留字节 }; // 事件类型 ALARM_REGULATOR_ABNORMAL_INFO(标准黑体源异常报警事件)对应的数据块描述信息 public static class ALARM_REGULATOR_ABNORMAL_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public byte[] szTypes=new byte[MAX_COMMON_STRING_32]; // 异常类型 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] byReserved=new byte[1024]; // 预留字节 } ; // 校准源信息 public static class NET_REGULATOR_INFO extends SdkStructure { public int nDistance; // 校准源距离, 单位cm public int nTemperature; // 校准源温度, 精度0.1, 放大10倍 public NET_RECT stRect; // 校准源矩形位置取值0-8191 public int nHeight; // 校准源高度, 单位cm public int nDiffTemperature; // 温度偏差值, 精度0.01, 放大100倍 public byte[] byReserve=new byte[32]; // 保留字节,用于字节对齐 } ; // 人体测温标准黑体配置, 对应枚举 NET_EM_CFG_RADIO_REGULATOR public static class NET_CFG_RADIO_REGULATOR extends SdkStructure { public int dwSize; // 结构体大小 public int bEnable; // 标准黑体配置使能 public int nPresetId; // 预置点编号, 对于无预置点设备为0 public int nCamerHeight; // 热成像相机安装高度, 单位cm public int nCamerAngle; // 相机安装角度, 精度0.1, 放大10倍 public NET_REGULATOR_INFO stRegulatorInfo; // 校准源信息 public NET_CFG_RADIO_REGULATOR(){ this.dwSize = this.size(); } } ; // CLIENT_BatchAppendFaceRecognition 接口输入参数 public static class NET_IN_BATCH_APPEND_FACERECONGNITION extends SdkStructure { /** * 结构体大小 */ public int dwSize; /** * 需要添加的人员数量 */ public int nPersonNum; /** * 人员信息,内存由用户申请,大小为nPersonNum * sizeof(FACERECOGNITION_PERSON_INFOEX) */ public Pointer pstPersonInfo; // 图片二进制数据 public Pointer pBuffer; // 缓冲地址 public int nBufferLen; // 缓冲数据长度 public byte[] bReserved=new byte[4]; // 字节对齐 public NET_MULTI_APPEND_EXTENDED_INFO stuInfo = new NET_MULTI_APPEND_EXTENDED_INFO(); //扩展信息 public NET_IN_BATCH_APPEND_FACERECONGNITION(){ this.dwSize = this.size(); } }; // 批量添加人员结果信息 public static class NET_BATCH_APPEND_PERSON_RESULT extends SdkStructure { public int nUID; // 人员UID public int dwErrorCode; // 错误码信息 public byte[] bReserved=new byte[512]; // 保留字段 } ; // CLIENT_BatchAppendFaceRecognition 接口输出参数 public static class NET_OUT_BATCH_APPEND_FACERECONGNITION extends SdkStructure { public int dwSize; // 结构体大小 public int nResultNum; // 批量添加结果个数,由用户指定,数值与NET_IN_BATCH_APPEND_FACERECONGNITION中的nPersonNum一致 /** * 内存大小为结构体数组的大小,对应结构体为{@link NET_BATCH_APPEND_PERSON_RESULT} */ public Pointer pstResultInfo; // 批量添加结果信息 public int nUIDType; // 指定NET_BATCH_APPEND_PERSON_RESULT中的UID使用字段,不存在本字段或值为0则使用UID字段,若值为1则使用UID2字段 public NET_OUT_BATCH_APPEND_FACERECONGNITION(){ this.dwSize = this.size(); } }; // 添加多个人员信息和人脸样本 public Boolean CLIENT_BatchAppendFaceRecognition(LLong lLoginID, NET_IN_BATCH_APPEND_FACERECONGNITION pstInParam, NET_OUT_BATCH_APPEND_FACERECONGNITION pstOutParam, int nWaitTime); // CLIENT_FindFileEx+DH_FILE_QUERY_SNAPSHOT_WITH_MARK 对应查询参数 public static class MEDIAFILE_SNAPSHORT_WITH_MARK_PARAM extends SdkStructure { public int dwSize; // 结构体大小 public NET_TIME stuStartTime; // 开始时间 public NET_TIME stuEndTime; // 结束时间 public int bOnlySupportRealUTC; // 为TRUE表示仅下发stuStartTimeRealUTC和stuEndTimeRealUTC(不下发stuStartTime, stuEndTime), 为FALSE表示仅下发stuStartTime, stuEndTime(不下发stuStartTimeRealUTC和stuEndTimeRealUTC) public NET_TIME stuStartTimeRealUTC; // UTC开始时间(标准UTC时间), 与stuEndTimeRealUTC配对使用,与(stuStartTime, stuEndTime)互斥 public NET_TIME stuEndTimeRealUTC; // UTC结束时间(标准UTC时间), 与stuStartTimeRealUTC配对使用,与(stuStartTime, stuEndTime)互斥 public MEDIAFILE_SNAPSHORT_WITH_MARK_PARAM(){ this.dwSize = this.size(); } }; // 抓图标记信息 public static class NET_SNAPSHOT_MARK_INFO extends SdkStructure { public NET_POINT stuPosition; // 标记的坐标位置, 绝对坐标系 public byte[] byReserved=new byte[1020]; // 预留字段 }; // DH_FILE_QUERY_SNAPSHOT_WITH_MARK 对应 FINDNEXT 查询返回结果 public static class MEDIAFILE_SNAPSHORT_WITH_MARK_INFO extends SdkStructure { public int dwSize; // 结构体大小 public int nChannelID; // 通道号从0开始,-1表示查询所有通道 public NET_TIME stuStartTime; // 开始时间 public NET_TIME stuEndTime; // 结束时间 public int nFileSize; // 文件长度 public byte[] szFilePath=new byte[MAX_PATH]; // 文件路径 public NET_SNAPSHOT_MARK_INFO stuMarkInfo; // 抓图标记信息 public int bRealUTC; // 为TRUE表示仅stuStartTimeRealUTC和stuEndTimeRealUTC有效(仅使用stuStartTimeRealUTC和stuEndTimeRealUTC), 为FALSE表示仅stuStartTime和stuEndTime有效(仅使用stuStartTime和stuEndTime) public NET_TIME stuStartTimeRealUTC; // UTC开始时间(标准UTC时间), 与stuEndTimeRealUTC配对使用 public NET_TIME stuEndTimeRealUTC; // UTC结束时间(标准UTC时间), 与stuStartTimeRealUTC配对使用 public MEDIAFILE_SNAPSHORT_WITH_MARK_INFO(){ this.dwSize = this.size(); } } ; //////////////////////////////////////无人机航点功能开始/////////////////////////////////////////////////////////////////// // 获取无人机航点入参 public static class NET_IN_UAVMISSION_COUNT extends SdkStructure { public int dwSize; public NET_IN_UAVMISSION_COUNT(){ this.dwSize = this.size(); } }; // 获取无人机航点出参 public static class NET_OUT_UAVMISSION_COUNT extends SdkStructure { public int dwSize; public int nCount; // 航点总数 public NET_OUT_UAVMISSION_COUNT(){ this.dwSize = this.size(); } }; // 获取任务入参 public static class NET_IN_READ_UAVMISSION extends SdkStructure { public int dwSize; public NET_IN_READ_UAVMISSION(){ this.dwSize = this.size(); } }; // 航点任务 public static class NET_UAVMISSION_ITEM extends SdkStructure { public int nCurrentMode; // 使能状态 0-未使能; 1-使能; public int bAutoContinue; // 自动执行下一个航点 public int nSequence; // 航点序号 public int emCommand; // 航点指令(参考ENUM_UAVCMD_TYPE) public NET_UAVCMD_PARAM_BUFFER stuCmdParam; // 指令参数 public byte[] byReserved=new byte[8]; // 保留字段 }; // 获取任务出参 public static class NET_OUT_READ_UAVMISSION extends SdkStructure { public int dwSize; public int nItemCount; // 有效任务个数 public Pointer pstuItems; // 任务列表(参考NET_UAVMISSION_ITEM) public NET_OUT_READ_UAVMISSION(){ this.dwSize = this.size(); } }; // 设置任务入参 public static class NET_IN_WRITE_UAVMISSION extends SdkStructure { public int dwSize; public int nItemCount; // 有效任务个数 public Pointer pstuItems; // 任务列表(参考NET_UAVMISSION_ITEM) public NET_IN_WRITE_UAVMISSION(){ this.dwSize = this.size(); } }; // 设置任务出参 public static class NET_OUT_WRITE_UAVMISSION extends SdkStructure { public int dwSize; public NET_OUT_WRITE_UAVMISSION(){ this.dwSize = this.size(); } }; // 订阅任务消息入参 public static class NET_IN_ATTACH_UAVMISSION_STATE extends SdkStructure { public int dwSize; public fUAVMissionStateCallBack cbNotify; // 任务状态回调函数 public Pointer dwUser; // 用户信息 public NET_IN_ATTACH_UAVMISSION_STATE(){ this.dwSize = this.size(); } }; // 订阅任务消息出参 public static class NET_OUT_ATTACH_UAVMISSION_STATE extends SdkStructure { public int dwSize; // 赋值为结构体大小 public NET_OUT_ATTACH_UAVMISSION_STATE(){ this.dwSize = this.size(); } }; // 任务状态类型 public static class ENUM_UAVMISSION_TYPE extends SdkStructure { public static final int ENUM_UAVMISSION_TYPE_UNKNOWN=0; // 未知类型 public static final int ENUM_UAVMISSION_TYPE_WP_UPLOAD=1; // 航点上传 public static final int ENUM_UAVMISSION_TYPE_WP_DOWNLOAD=2; // 航点下载 }; // 任务状态 public static class ENUM_UAVMISSION_STATE extends SdkStructure { public static final int ENUM_UAVMISSION_STATE_UNKNOWN=0; // 未知类型 public static final int ENUM_UAVMISSION_STATE_BEGIN=1; // 开始 public static final int ENUM_UAVMISSION_STATE_UNDERWAY=2; // 进行 public static final int ENUM_UAVMISSION_STATE_SUCCESS=3; // 成功 public static final int ENUM_UAVMISSION_STATE_FAIL=4; // 失败 }; // 任务状态信息 public static class NET_UAVMISSION_STATE extends SdkStructure { public int emType; // 类型(参见ENUM_UAVMISSION_TYPE枚举类型) public int emState; // 状态(参见ENUM_UAVMISSION_STATE) public int nTotalCount; // 总数 public int nSequence; // 当前航点编号 }; // 无人机任务状态回调 public interface fUAVMissionStateCallBack extends Callback { public void invoke(LLong lAttachHandle, NET_UAVMISSION_STATE pstuState, int dwStateInfoSize, Pointer dwUser); } // 无人机通用设置接口 //emCmdType(参考ENUM_UAVCMD_TYPE枚举) //pParam对应ENUM_UAVCMD_TYPE所对应的结构体 public boolean CLIENT_SendCommandToUAV(LLong lLoginID, int emCmdType, Pointer pParam, int nWaitTime); // 获取航点总数 public boolean CLIENT_GetUAVMissonCount(LLong lLoginID, NET_IN_UAVMISSION_COUNT pstuInParam, NET_OUT_UAVMISSION_COUNT pstuOutParam, int nWaitTime); // 获取UAV航点信息 public boolean CLIENT_ReadUAVMissions(LLong lLoginID, NET_IN_READ_UAVMISSION pstuInParam, NET_OUT_READ_UAVMISSION pstuOutParam, int nWaitTime); // 设置UAV航点信息 public boolean CLIENT_WriteUAVMissions(LLong lLoginID, NET_IN_WRITE_UAVMISSION pstuInParam, NET_OUT_WRITE_UAVMISSION pstuOutParam, int nWaitTime); // 订阅UAV航点任务 pstuInParam 和 pstuOutParam 由设备申请释放 public LLong CLIENT_AttachUAVMissonState(LLong lLoginID, NET_IN_ATTACH_UAVMISSION_STATE pstuInParam, NET_OUT_ATTACH_UAVMISSION_STATE pstuOutParam, int nWaitTime); // 退订UAV航点任务 lAttachHandle 是 CLIENT_AttachUAVMissonState 返回值 public boolean CLIENT_DettachUAVMissonState(LLong lAttachHandle); //////////////////////////////////////无人机航点功能结束/////////////////////////////////////////////////////////////////// ////////////////////////////////////云上高速抓图起雾事件开始////////////////////////////////////////// // 起雾检测事件数据类型 public static class EM_FOG_DETECTION_EVENT_TYPE { public static final int EM_FOG_DETECTION_EVENT_TYPE_UNKNOWN=0; // 未知 public static final int EM_FOG_DETECTION_EVENT_TYPE_REAL=1; // 实时数据 public static final int EM_FOG_DETECTION_EVENT_TYPE_ALARM=2; // 报警数据 }; // 雾值 public static class EM_FOG_LEVEL extends SdkStructure { public static final int EM_FOG_LEVEL_UNKNOWN=0; // 未知 public static final int EM_FOG_LEVEL_NO=1; // 无 public static final int EM_FOG_LEVEL_BLUE=2; // 蓝色预警 public static final int EM_FOG_LEVEL_YELLOW=3; // 黄色预警 public static final int EM_FOG_LEVEL_ORANGE=4; // 橙色预警 public static final int EM_FOG_LEVEL_RED=5; // 红色预警 }; // 起雾检测事件雾信息 public static class FOG_DETECTION_FOG_INFO extends SdkStructure { public int emFogLevel; // 雾等级,参考EM_FOG_LEVEL public byte[] byReserved=new byte[508]; // 预留字段 }; // 事件类型EVENT_IVS_FOG_DETECTION(起雾检测事件)对应的数据块描述信息 public static class DEV_EVENT_FOG_DETECTION extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[128]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public int emClassType; // 智能事件所属大类,参考EM_CLASS_TYPE public int nGroupID; // 事件组ID,同一辆车抓拍过程内GroupID相同 public int nCountInGroup; // 一个事件组内的抓拍张数 public int nIndexInGroup; // 一个事件组内的抓拍序号 public int nPresetID; // 预置点号,从1开始有效 public byte[] szPresetName=new byte[128]; // 阈值点名称 public int emEventType; // 事件数据类型,参考EM_FOG_DETECTION_EVENT_TYPE public FOG_DETECTION_FOG_INFO stuFogInfo; // 雾信息 public NET_EVENT_FILE_INFO stFileInfo; // 事件对应文件信息 public byte[] byReserved=new byte[1024];// 预留字段 }; ////////////////////////////////////云上高速抓图起雾事件开始////////////////////////////////////////// ////////////////////////////////////云上高速抓图开始//////////////////////////////////////////、 // CLIENT_ManualSnap 接口输入参数 public static class NET_IN_MANUAL_SNAP extends SdkStructure { public int dwSize; // 结构体大小 public int nChannel; // 抓图通道号 public int nCmdSerial; // 请求序列号 public byte[] szFilePath=new byte[260]; // 抓图保存路径 public NET_IN_MANUAL_SNAP(){ this.dwSize = this.size(); } } ; // 抓图图片编码格式 public static class EM_SNAP_ENCODE_TYPE extends SdkStructure { public static final int EM_SNAP_ENCODE_TYPE_UNKNOWN=0; // 未知 public static final int EM_SNAP_ENCODE_TYPE_JPEG=1; // jpeg图片 public static final int EM_SNAP_ENCODE_TYPE_MPEG4_I=2; // mpeg4的i 帧 }; // CLIENT_ManualSnap 接口输出参数 public static class NET_OUT_MANUAL_SNAP extends SdkStructure { public int dwSize; // 结构体大小 public int nMaxBufLen; // pRcvBuf的长度,由用户指定 public Pointer pRcvBuf; // 接收图片缓冲, 用于存放抓图数据, 空间由用户申请和释放, 申请大小为nMaxBufLen public int nRetBufLen; // 实际接收到的图片大小 public int emEncodeType; // 图片编码格式,参考EM_SNAP_ENCODE_TYPE public int nCmdSerial; // 请求序列号 public byte[] bReserved=new byte[4];// 字节对齐 public NET_OUT_MANUAL_SNAP(){ this.dwSize = this.size(); } } ; // 手动抓图, 支持并发调用 public boolean CLIENT_ManualSnap(LLong lLoginID, NET_IN_MANUAL_SNAP pInParam, NET_OUT_MANUAL_SNAP pOutParam, int nWaitTime); // 订阅抓图回调信息 public static class NET_CB_ATTACH_SNAP_INFO extends SdkStructure { public Pointer pRcvBuf; // 接收到的图片数据 public int nBufLen; // 图片数据长度 public int emEncodeType; // 图片编码格式,参考EM_SNAP_ENCODE_TYPE public int nCmdSerial; // 抓图请求序列号 public byte[] byReserved=new byte[1028];// 保留字节 } ; // 订阅抓图回调函数原形 public interface fAttachSnapRev extends Callback{ public void invoke(LLong lAttachHandle, NET_CB_ATTACH_SNAP_INFO pstAttachCbInfo, Pointer dwUser); }; // CLIENT_AttachSnap 接口输入参数 public static class NET_IN_ATTACH_INTER_SNAP extends SdkStructure { public int dwSize; // 结构体大小 public int nChannel; // 抓图通道号 public int nCmdSerial; // 请求序列号 public int nIntervalSnap; // 定时抓图时间间隔 public fAttachSnapRev cbAttachSnapRev; // 回调函数 public Pointer dwUser; // 用户数据 public NET_IN_ATTACH_INTER_SNAP(){ this.dwSize = this.size(); } } ; // CLIENT_AttachSnap 接口输出参数 public static class NET_OUT_ATTACH_INTER_SNAP extends SdkStructure { public int dwSize; // 结构体大小 public NET_OUT_ATTACH_INTER_SNAP(){ this.dwSize = this.size(); } } ; // 订阅抓图 public LLong CLIENT_AttachSnap(LLong lLoginID, NET_IN_ATTACH_INTER_SNAP pInParam, NET_OUT_ATTACH_INTER_SNAP pOutParam); // 取消订阅抓图 public boolean CLIENT_DetachSnap(LLong lAttachHandle); ////////////////////////////////////云上高速抓图结束////////////////////////////////////////// // 二维码上报事件信息( DH_ALARM_QR_CODE_CHECK ) public static class ALARM_QR_CODE_CHECK_INFO extends SdkStructure { public int nEventID; // 事件ID public NET_TIME_EX UTC; // 事件发生的时间 public double dbPTS; // 时间戳(单位是毫秒) public byte[] szQRCode=new byte[256]; // 二维码字符串 public byte[] byReserved=new byte[1024]; // 预留字节 }; /************************************************************************/ /* 录像备份回传 */ /************************************************************************/ // 录像备份恢复任务信息 public static class NET_REC_BAK_RST_TASK extends SdkStructure { public int dwSize; public int nTaskID; // 任务ID public byte[] szDeviceID=new byte[NET_DEV_ID_LEN_EX]; // 设备ID public int nChannelID; // 通道号 public NET_TIME stuStartTime=new NET_TIME(); // 录像开始时间 public NET_TIME stuEndTime=new NET_TIME(); // 录像结束时间 public int nState; // 当前备份状态, 0-等待, 1-进行中, 2-完成, 3-失败, 4-暂停 public NET_RECORD_BACKUP_PROGRESS stuProgress=new NET_RECORD_BACKUP_PROGRESS(); // 当前备份进度 public int emFailReason; // 失败的原因, 当nState字段为3的情况下有效,参考EM_RECORD_BACKUP_FAIL_REASON public NET_TIME stuTaskStartTime=new NET_TIME(); // 任务开始时间, nState为"进行中"、"已完成"、"失败"的情况下该时间点有效; public NET_TIME stuTaskEndTime=new NET_TIME(); // 任务结束时间, nState为"已完成"、"失败"的情况下该时间点有效; public int nRemoteChannel; // 备份源通道 public NET_REC_BAK_RST_TASK(){ this.dwSize = this.size(); } } ; // CLIENT_AddRecordBackupRestoreTask接口输入参数 public static class NET_IN_ADD_REC_BAK_RST_TASK extends SdkStructure { public int dwSize; public Pointer pszDeviceID; // 设备ID public Pointer pnChannels; // 通道数组 public int nChannelCount; // 通道数组大小,由用户申请内存,大小为sizeof(int)*nChannelCount public NET_TIME stuStartTime; // 起始时间 public NET_TIME stuEndTime; // 结束时间 public byte[] szUrl = new byte[256]; // RTSP URL public NET_IN_ADD_REC_BAK_RST_TASK(){ this.dwSize = this.size(); } } ; // CLIENT_RemoveRecordBackupRestoreTask接口输入参数 public static class NET_IN_REMOVE_REC_BAK_RST_TASK extends SdkStructure { public int dwSize; public Pointer pnTaskIDs; // 任务ID数组,由用户申请内存,大小为sizeof(int)*nTaskCount public int nTaskCount; // 任务数量 public NET_IN_REMOVE_REC_BAK_RST_TASK(){ this.dwSize = this.size(); } } ; // CLIENT_QueryRecordBackupRestoreTask接口输入参数 public static class NET_IN_QUERY_REC_BAK_RST_TASK extends SdkStructure { public int dwSize; public NET_IN_QUERY_REC_BAK_RST_TASK(){ this.dwSize = this.size(); } } ; // CLIENT_QueryRecordBackupRestoreTask接口输出参数 public static class NET_OUT_QUERY_REC_BAK_RST_TASK extends SdkStructure { public int dwSize; public Pointer pTasks; // 任务数组,由用户申请内存,大小为sizeof(NET_REC_BAK_RST_TASK)*nMaxCount public int nMaxCount; // 数组大小 public int nReturnCount; // 返回的任务数量 public NET_OUT_QUERY_REC_BAK_RST_TASK(){ this.dwSize = this.size(); } } ; // 开始录像备份恢复 public LLong CLIENT_StartRecordBackupRestore(LLong lLoginID); // 停止录像备份恢复 public void CLIENT_StopRecordBackupRestore(LLong lRestoreID); // 添加录像备份恢复任务,pInParam内存由用户申请释放 public boolean CLIENT_AddRecordBackupRestoreTask(LLong lRestoreID, NET_IN_ADD_REC_BAK_RST_TASK pInParam, int nWaitTime); // 删除录像备份恢复任务,pInParam->NET_IN_REMOVE_REC_BAK_RST_TASK 内存由用户申请释放 public boolean CLIENT_RemoveRecordBackupRestoreTask(LLong lRestoreID, Pointer pInParam, int nWaitTime); // 获取录像备份恢复任务信息,pInParam与pOutParam内存由用户申请释放 // pInParam->NET_IN_QUERY_REC_BAK_RST_TASK pOutParam->NET_OUT_QUERY_REC_BAK_RST_TASK public boolean CLIENT_QueryRecordBackupRestoreTask(LLong lRestoreID, Pointer pInParam, Pointer pOutParam, int nWaitTime); // 导入配置文件(以JSON格式) pSendBuf: 待发送数据,用户分配内存, nSendBufLen: 待发送长度, reserved: 保留参数 public boolean CLIENT_ImportConfigFileJson(LLong lLoginID, Pointer pSendBuf, int nSendBufLen, Pointer reserved, int nWaitTime); // 导出配置文件(以JSON格式) pOutBuffer: 接收缓冲,用户分配内存, maxlen: 接收缓冲长度, nRetlen: 实际导出长度, reserved: 保留参数 public boolean CLIENT_ExportConfigFileJson(LLong lLoginID, Pointer pOutBuffer, int maxlen, IntByReference nRetlen, Pointer reserved, int nWaitTime); // web信息上传接口 public boolean CLIENT_TransmitInfoForWeb(LLong lLoginID, Pointer szInBuffer, int dwInBufferSize, Pointer szOutBuffer, int dwOutBufferSize, Pointer pExtData, int waittime); //================================================GIP200413016开始============================================ // 线圈信息(主要是里面的车辆信息) public static class COILS_INFO extends SdkStructure { public int nCarId; // 车辆Id(不是车牌号,ID是设备检测到物体记录的编号) public byte[] PlateNum=new byte[64]; // 车牌号 public int emCarType; // 车辆类型(參考EM_NET_CARTYPE) public byte[] byReserved=new byte[1024];// 预留字节 } ; // 车道信息 public static class LANE_INFO extends SdkStructure { public int nLane; // 物理车道号(范围0~4) public int nLaneType; // 车道类型,虚线车道:0, 实线车道:1 public double dbLaneOcc; // 车道空间占有率,范围[0.0~1.0] public int nRoadwayNumber; // 自定义车道号(范围0~128) public int nCurrentLaneVehicleNum; // 当前车道车的数量 public int nVehicleNum; // 从上次统计结束到现在,通过车的辆数(设备0.5秒下发一次) public int nCarId; // 保留最近有效过车的ID(不是车牌号),CarId是设备检测到物体记录的编号 public double dbCarEnterTime; // 编号CarId车辆进入虚线车道的时间 public double dbCarLeaveTime; // 编号CarId车辆离开实线车道的时间 public int nCarDistance; // 编号CarId车辆行驶的距离,单位:米 public int nQueueLen; // 车辆等待时的排队长度,单位:米 public double dbCarSpeed; // 编号CarId车辆平均车速,单位:米/秒 public int nCoilsInfoNum; // 实际返回线圈信息个数 public COILS_INFO[] stuCoilsInfo=(COILS_INFO[])new COILS_INFO().toArray(70*2); // 线圈信息(主要是线圈内的车辆信息) public int nRetSolidLanNum; // 实际返回虚线车道个数 public int[] nSolidLaneNum=new int[6]; // 虚线车道对应的实线车道自定义车道号 public int nVehicleNumByTypeNum; // 实际返回车辆类型统计个数 public int[] nVehicleNumByType=new int[64]; // 类型车辆统计,数组下标对应不同车型(车型参考 EM_NET_CARTYPE),下标值对应车辆类型统计的数量 public int nEndLen; // 车辆运行时,尾部车辆位置距离停车线的距离 ,单位:米 public byte[] byReserved=new byte[1024]; // 预留字节 } ; // 交通态势事件(NET_ALARM_TRAFFIC_XINKONG) public static class ALARM_TRAFFIC_XINKONG_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 只有一个事件动作0,表示脉冲事件 public double dbPTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public byte[] szName=new byte[128]; // 事件名称 public byte[] byReserved1=new byte[4]; // 字节对齐 public int nLaneInfoNum; // 实际上报多少车道信息 public LANE_INFO[] stuLaneInfo=(LANE_INFO[])new LANE_INFO().toArray(6); // 车道信息 public byte[] byReserved=new byte[1024]; // 预留字节 } ; //================================================GIP200413016结束============================================ //================================================ERR200412034开始============================================ // 同轴IO控制类型 public static class EM_COAXIAL_CONTROL_IO_TYPE extends SdkStructure { public static final int EM_COAXIAL_CONTROL_IO_TYPE_UNKNOWN=0; // 未知 public static final int EM_COAXIAL_CONTROL_IO_TYPE_LIGHT=1; // 白光灯 public static final int EM_COAXIAL_CONTROL_IO_TYPE_SPEAKER=2; // speak音频 } ; // 同轴IO控制开关 public static class EM_COAXIAL_CONTROL_IO_SWITCH extends SdkStructure { public static final int EM_COAXIAL_CONTROL_IO_SWITCH_UNKNOWN=0; // 未知 public static final int EM_COAXIAL_CONTROL_IO_SWITCH_OPEN=1; // 开 public static final int EM_COAXIAL_CONTROL_IO_SWITCH_CLOSE=2; // 关 } ; // 同轴IO触发方式 public static class EM_COAXIAL_CONTROL_IO_TRIGGER_MODE extends SdkStructure { public static final int EM_COAXIAL_CONTROL_IO_TRIGGER_MODE_UNKNOWN=0; // 未知 public static final int EM_COAXIAL_CONTROL_IO_TRIGGER_MODE_LINKAGE_TRIGGER=1; // 联动触发 public static final int EM_COAXIAL_CONTROL_IO_TRIGGER_MODE_MANUAL_TRIGGER=2; // 手动触发 } ; // 同轴IO信息结构体 public static class NET_COAXIAL_CONTROL_IO_INFO extends SdkStructure { public int emType; // 同轴IO控制类型参考EM_COAXIAL_CONTROL_IO_TYPE public int emSwicth; // 同轴IO控制开关参考EM_COAXIAL_CONTROL_IO_SWITCH public int emMode; // 同轴IO触发方式参考EM_COAXIAL_CONTROL_IO_TRIGGER_MODE public byte[] byReserved=new byte[128]; // 保留字节 } ; // 同轴IO信息最大个数 public static final int MAX_COAXIAL_CONTROL_IO_COUNT =8; // 发送同轴IO控制命令, CLIENT_ControlDeviceEx 入参 对应 CTRLTYPE_CTRL_COAXIAL_CONTROL_IO public static class NET_IN_CONTROL_COAXIAL_CONTROL_IO extends SdkStructure { public int dwSize; // 结构体大小 public int nChannel; // 通道号 public int nInfoCount; // 同轴IO信息个数 public NET_COAXIAL_CONTROL_IO_INFO[] stInfo=(NET_COAXIAL_CONTROL_IO_INFO[])new NET_COAXIAL_CONTROL_IO_INFO().toArray(MAX_COAXIAL_CONTROL_IO_COUNT); // 同轴IO信息 public NET_IN_CONTROL_COAXIAL_CONTROL_IO(){ this.dwSize = this.size(); } } ; // 发送同轴IO控制命令, CLIENT_ControlDeviceEx 出参 对应 CTRLTYPE_CTRL_COAXIAL_CONTROL_IO public static class NET_OUT_CONTROL_COAXIAL_CONTROL_IO extends SdkStructure { public int dwSize; // 结构体大小 public NET_OUT_CONTROL_COAXIAL_CONTROL_IO(){ this.dwSize = this.size(); } } ; //================================================ERR200412034结束============================================ //================================================ERR200410078 DH-TPC-BF2221开始============================================ // 火灾配置类型 public static class NET_EM_FIREWARNING_MODE_TYPE extends SdkStructure { public static final int NET_EM_FIREWARNING_TYPE_PTZPRESET=0; // 云台预置点模式(默认) public static final int NET_EM_FIREWARNING_TYPE_SPACEEXCLUDE=1; // 空间排除模式 } ; // 火灾预警模式配置 NET_EM_CFG_FIRE_WARNINGMODE public static class NET_FIREWARNING_MODE_INFO extends SdkStructure { public int dwSize; // 结构体大小 public int emFireWarningMode; // 火灾预警模式 参考NET_EM_FIREWARNING_MODE_TYPE public NET_FIREWARNING_MODE_INFO(){ this.dwSize = this.size(); } } ; public static final int MAX_FIREWARNING_DETECTRGN_NUM =32; // 最大火警区域检测的个数 public static final int MAX_FIREWARNING_RULE_NUM =32; // 最大火警规则 public static final int MAX_FIREWARNING_DETECTWND_NUM =8; // 最大火警检测窗口个数 // 时间表信息 public static class NET_CFG_TIME_SCHEDULE extends SdkStructure { public int bEnableHoliday; // 是否支持节假日配置,默认为不支持,除非获取配置后返回为TRUE,不要使能假日配置 public NET_TSECT[] stuTimeSection=(NET_TSECT[])new NET_TSECT().toArray(NET_N_SCHEDULE_TSECT*NET_N_REC_TSECT); // 第一维前7个元素对应每周7天,第8个元素对应节假日,每天最多6个时间段 } ; // 火灾预警联动项 public static class NET_FIREWARN_EVENTHANDLE_INFO extends SdkStructure { public NET_CFG_TIME_SCHEDULE stuTimeSection; // 报警时间段 public int bRecordEnable; // 录像使能,必须同时有RecordChannels。使能为TRUE,且事件action为start开始录像,stop停止录像。如果FALSE,则不做录像 public int nRecordChannelNum; // 录像通道个数 public int[] nRecordChannels=new int[32]; // 录像通道号列表 public int nRecordLatch; // 录像延时时间(单位:秒)范围[10,300] public int bAlarmOutEnable; // 报警输出使能 public int nAlarmOutChannelNum; // 报警输出通道个数 public int[] nAlarmOutChannels=new int[32]; // 报警输出通道号列表 public int nAlarmOutLatch; // 报警输入停止后,输出延时时间(单位:秒)范围[10, 300] public int nPtzLinkNum; // 云台配置数 public SDK_PTZ_LINK[] struPtzLink=(SDK_PTZ_LINK[])new SDK_PTZ_LINK().toArray(16); // 云台联动 public int bPtzLinkEnable; // 云台联动使能 public int bSnapshotEnable; // 快照使能 public int nSnapshotChannelNum; // 快照通道个数 public int[] nSnapshotChannels=new int[32]; // 快照通道号列表 public int bMailEnable; // 发送邮件,如果有图片,作为附件 public byte[] byReserved=new byte[1024]; // 保留字节 } ; public static class NET_POSTIONF extends SdkStructure { public float fHorizontalAngle; // 水平角度 [-1,1] public float fVerticalAngle; // 垂直角度 [-1,1] public float fMagnification; // 放大倍数 [-1,1] } ; // 火警检测窗口 public static class NET_FIREWARN_DETECTWND_INFO extends SdkStructure { public int nRgnNum; // 检测区域的个数 public byte[] byReservedAlign=new byte[4]; // 保留字节 public long[] nRegions=new long[MAX_FIREWARNING_DETECTRGN_NUM]; // 检测区域 public NET_POSTIONF stuPostion; // 空间排除信息 public int nTargetSize; // 目标的尺寸(火警配置为:Normal有效,单位:像素) public int nSensitivity; // 检测灵敏度(火警配置为:Normal有效) public int nWindowsID; // 窗口ID public byte[] szName=new byte[32]; // 窗口名称 public byte[] byReserved=new byte[256]; // 保留字节 } ; // 火灾预警规则信息 public static class NET_FIREWARN_RULE_INFO extends SdkStructure { public int bEnable; // 火灾预警功能是否开启 public int nPresetId; // 预置点编号,火灾预警模式为预置点模式生效 public int nRow; // 火灾检测区域的行数 public int nCol; // 火灾检测区域的列数 public int emFireWarningDetectMode; // 火警检测模式 参考NET_EM_FIREWARNING_DETECTMODE_TYPE public int emFireWarningDetectTragetType; // 火警检测目标类型 参考NET_EM_FIREWARNING_DETECTTARGET_TYPE public int bTimeDurationEnable; // 是否启用持续时间 public int nFireDuration; // 观察火情持续时间,单位秒。水平旋转组检测火点时,为避免同一点重复检测, // 设置超时时间,超过此时间,跳过此点 public NET_FIREWARN_EVENTHANDLE_INFO stuEventHandler; // 火警联动信息 public int nDetectWindowNum; // 窗口个数 public NET_FIREWARN_DETECTWND_INFO[] stuDetectWnd=(NET_FIREWARN_DETECTWND_INFO[])new NET_FIREWARN_DETECTWND_INFO().toArray(MAX_FIREWARNING_DETECTWND_NUM); // 火警检测窗口 public byte[] byReserved=new byte[256]; // 保留字节 } ; // 火灾预警配置(结构体较大,建议用New分配内存) NET_EM_CFG_FIRE_WARNING public static class NET_FIRE_WARNING_INFO extends SdkStructure { public int dwSize; // 结构体大小 public int nFireWarnRuleNum; // 火灾预警配置个数 public NET_FIREWARN_RULE_INFO[] stuFireWarnRule=(NET_FIREWARN_RULE_INFO[])new NET_FIREWARN_RULE_INFO().toArray(MAX_FIREWARNING_RULE_NUM); // 火灾预警配置规则 public NET_FIRE_WARNING_INFO(){ this.dwSize = this.size(); } } ; //================================================ERR200410078 DH-TPC-BF2221结束============================================ //================================================ERR200420018============================================ // 事件类型 EVENT_IVS_VIDEOABNORMALDETECTION(视频异常事件)对应的数据块描述信息 public static class DEV_EVENT_VIDEOABNORMALDETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName=new byte[128]; // 事件名称 public byte[] bReserved1=new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte bType; // 异常类型, 255-无意义(通常是设备了返回错误值)0-视频丢失, 1-视频冻结, 2-摄像头遮挡, 3-摄像头移动, 4-过暗, 5-过亮, 6-图像偏色, 7-噪声干扰, 8-条纹检测 public byte[] byReserved=new byte[1]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice=new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public SCENE_IMAGE_INFO_EX stuSceneImage = new SCENE_IMAGE_INFO_EX(); // 全景广角图信息 public NET_IMAGE_INFO_EX2 stuImageInfo[] = (NET_IMAGE_INFO_EX2[])new NET_IMAGE_INFO_EX2().toArray(32); //图片信息数组 public int nImageInfoNum; //图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte byReserved2[] = new byte[1024]; //预留字节 } ; // 人员信息 public static class NET_HUMAN extends SdkStructure { public NET_RECT stuBoundingBox; // 包围盒(8192坐标系) public int nObjectID; // 物体ID public byte[] szSerialUUID=new byte[22]; // 智能物体全局唯一物体标识 // 有效数据位21位,包含’\0’ // 前2位%d%d:01-视频片段, 02-图片, 03-文件, 99-其他 // 中间14位YYYYMMDDhhmmss:年月日时分秒 // 后5位%u%u%u%u%u:物体ID,如00001 public byte[] bReserved=new byte[230]; // 保留字节 }; // 事件类型 EVENT_IVS_STAY_ALONE_DETECTION (单人独处事件) 对应的数据块描述信息 public static class DEV_EVENT_STAY_ALONE_DETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public byte[] szName=new byte[NET_EVENT_NAME_LEN]; // 事件名称 public double PTS; // 时间戳(单位是毫秒) public int emClassType; // 智能事件所属大类参考EM_CLASS_TYPE public NET_TIME_EX UTC; // 事件发生的时间 public int UTCMS; // UTC时间对应的毫秒数 public int nEventID; // 事件ID public NET_HUMAN stuHuman; // 人员信息 public SCENE_IMAGE_INFO_EX stuSceneImage; // 全景图 public int nDetectRegionNum; // 检测区域顶点数 public DH_POINT[] stuDetectRegion=(DH_POINT[])new DH_POINT().toArray(NET_MAX_DETECT_REGION_NUM); // 检测区域 public int nImageInfoNum; // 图片信息个数 public Pointer pstuImageInfo; // 图片信息数组, refer to {@link NET_IMAGE_INFO_EX3} public byte[] byReserved=new byte[1020 - POINTERSIZE]; // 保留字节 }; // 事件类型 EVENT_IVS_PSRISEDETECTION (囚犯起身事件) 对应的数据块描述信息 public static class DEV_EVENT_PSRISEDETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName=new byte[128]; // 事件名称 public byte[] bReserved1=new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public DH_MSG_OBJECT stuObject; // 检测到的物体 public int nDetectRegionNum; // 规则检测区域顶点数 public DH_POINT[] DetectRegion=(DH_POINT[])new DH_POINT().toArray(NET_MAX_DETECT_REGION_NUM); // 规则检测区域 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public double dInitialUTC; // 事件初始UTC时间 UTC为事件的UTC (1970-1-1 00:00:00)秒数。 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved=new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice=new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public byte[] szSerialUUID=new byte[22]; // 智能物体全局唯一物体标识 // 有效数据位21位,包含’\0’ // 前2位%d%d:01-视频片段, 02-图片, 03-文件, 99-其他 // 中间14位YYYYMMDDhhmmss:年月日时分秒 // 后5位%u%u%u%u%u:物体ID,如00001 public byte[] bReserved=new byte[594]; // 保留字节,留待扩展. }; //--------------------------------------------------------ERR200420018结束------------------------------------------------------------------------// //--------------------------------------------------------ERR200424047------------------------------------------------------------------------// // 逻辑屏显示内容 public static class NET_TRAFFIC_LATTICE_SCREEN_SHOW_CONTENTS extends SdkStructure { public int emContents; // 逻辑屏显示的内容:参考NET_EM_SCREEN_SHOW_CONTENTS public byte[] byReserved1=new byte[4]; // 字节对齐 public byte[] szCustomStr=new byte[32]; // 自定义内容,emContents为 EM_TRAFFIC_LATTICE_SCREEN_CUSTOM 时有效 public byte[] byReserved=new byte[32]; // 预留 }; // 点阵屏显示信息 public static class NET_TRAFFIC_LATTICE_SCREEN_SHOW_INFO extends SdkStructure { public NET_TRAFFIC_LATTICE_SCREEN_SHOW_CONTENTS[] stuContents=(NET_TRAFFIC_LATTICE_SCREEN_SHOW_CONTENTS[]) new NET_TRAFFIC_LATTICE_SCREEN_SHOW_CONTENTS().toArray(64); // 逻辑屏显示内容 public int nContentsNum; // 逻辑屏个数 public byte[] byReserved=new byte[1020]; // 预留 }; // 点阵屏显示信息配置, 对应枚举 NET_EM_CFG_TRAFFIC_LATTICE_SCREEN public static class NET_CFG_TRAFFIC_LATTICE_SCREEN_INFO extends SdkStructure { public int dwSize; // 结构体大小 public int nStatusChangeTime; // 状态切换间隔,单位:秒,取值10 ~ 60 public NET_TRAFFIC_LATTICE_SCREEN_SHOW_INFO stuNormal=new NET_TRAFFIC_LATTICE_SCREEN_SHOW_INFO(); // 常态下 public NET_TRAFFIC_LATTICE_SCREEN_SHOW_INFO stuCarPass=new NET_TRAFFIC_LATTICE_SCREEN_SHOW_INFO(); // 过车时 public int emShowType; /** 显示方式 {@link com.netsdk.lib.enumeration.NET_EM_LATTICE_SCREEN_SHOW_TYPE}*/ public int emControlType; /** 控制方式 {@link com.netsdk.lib.enumeration.NET_EM_LATTICE_SCREEN_CONTROL_TYPE}*/ public int emBackgroundMode; /** 逻辑屏背景风格模式 {@link com.netsdk.lib.enumeration.NET_EM_LATTICE_SCREEN_BACKGROUND_MODE} */ public byte[] szPlayList=new byte[10*64]; // 资源文件播放列表,支持视频文件和图片文件播放,按照数组顺序循环播放 public int nPlayListNum; // 资料文件个数 public NET_TRAFFIC_LATTICE_SCREEN_LOGO_INFO stuLogoInfo=new NET_TRAFFIC_LATTICE_SCREEN_LOGO_INFO(); // Logo信息 public NET_TRAFFIC_LATTICE_SCREEN_ALARM_NOTICE_INFO stuAlarmNoticeInfo=new NET_TRAFFIC_LATTICE_SCREEN_ALARM_NOTICE_INFO(); // 报警提示显示信息 public NET_CFG_TRAFFIC_LATTICE_SCREEN_INFO(){ this.dwSize = this.size(); } }; // 车位灯色 public static class NET_PARKINGSPACELIGHT_INFO extends SdkStructure { public int nRed; // 红灯: -1:无效, 0/灭, 1/亮, 2/闪烁 public int nYellow; // 黄灯: -1:无效, 0/灭, 1/亮, 2/闪烁 public int nBlue; // 蓝灯: -1:无效, 0/灭, 1/亮, 2/闪烁 public int nGreen; // 绿灯: -1:无效, 0/灭, 1/亮, 2/闪烁 public int nPurple; // 紫灯: -1:无效, 0/灭, 1/亮, 2/闪烁 public int nWhite; // 白灯: -1:无效, 0/灭, 1/亮, 2/闪烁 public int nPink; // 粉等: -1:无效, 0/灭, 1/亮, 2/闪烁 public byte[] byReserved=new byte[32];// 保留字节 public void setInfo(int nRed, int nYellow, int nBlue, int nGreen, int nPurple, int nWhite,int nPink) { this.nRed = nRed; this.nYellow = nYellow; this.nBlue = nBlue; this.nGreen = nGreen; this.nPurple = nPurple; this.nWhite = nWhite; this.nPink = nPink; } } ; // 网络异常状态灯色 public static class NET_NETWORK_EXCEPTION_INFO extends SdkStructure { public NET_PARKINGSPACELIGHT_INFO[] stNetPortAbortInfo=(NET_PARKINGSPACELIGHT_INFO[]) new NET_PARKINGSPACELIGHT_INFO().toArray(5); // 网口断开状态灯色 public int nRetNetPortAbortNum; // 实际返回的个数 public NET_PARKINGSPACELIGHT_INFO stuSpaceSpecialInfo; // 车位专用状态灯色 public NET_PARKINGSPACELIGHT_INFO stuSpaceChargingInfo; // 充电车位状态灯色 public byte[] byReserved=new byte[256]; // 保留字节 } ; // 车位状态对应的车位指示灯色 对应 NET_EM_CFG_PARKINGSPACELIGHT_STATE public static class NET_PARKINGSPACELIGHT_STATE_INFO extends SdkStructure { public int dwSize; public NET_PARKINGSPACELIGHT_INFO stuSpaceFreeInfo; // 车位空闲状态灯色 public NET_PARKINGSPACELIGHT_INFO stuSpaceFullInfo; // 车位占满状态灯色 public NET_PARKINGSPACELIGHT_INFO stuSpaceOverLineInfo; // 车位压线状态灯色 public NET_PARKINGSPACELIGHT_INFO stuSpaceOrderInfo; // 车位预定状态灯色 public NET_NETWORK_EXCEPTION_INFO stuNetWorkExceptionInfo; // 网络异常状态灯色 public NET_PARKINGSPACELIGHT_STATE_INFO(){ this.dwSize = this.size(); } } ; // 车位监管状态 public static class EM_CFG_LANE_STATUS extends SdkStructure { public static final int EM_CFG_LANE_STATUS_UNKOWN = -1; // 状态未知 public static final int EM_CFG_LANE_STATUS_UNSUPERVISE = 0; // 不监管 public static final int EM_CFG_LANE_STATUS_SUPERVISE = 1; // 监管 }; public static final int MAX_LANES_NUM = 64 ; // 灯组监管车位的最多个数 // 单个车位指示灯本机配置 public static class CFG_PARKING_SPACE_LIGHT_GROUP_INFO extends SdkStructure { public int bEnable; // 为TRUE时该配置生效,为FALSE时该配置无效 public int[] emLaneStatus=new int[MAX_LANES_NUM];// 灯组监管的车位,下标表示车位号;参考EM_CFG_LANE_STATUS public int nLanesNum; // 有效的车位数量(可以设为监管或不监管的车位数量) public int bAcceptNetCtrl; // 是否接受远程控制 }; public static final int MAX_LIGHT_GROUP_INFO_NUM = 8 ; // 车位指示灯本机配置的最多个数 // 车位指示灯本机配置 CFG_CMD_PARKING_SPACE_LIGHT_GROUP public static class CFG_PARKING_SPACE_LIGHT_GROUP_INFO_ALL extends SdkStructure { public int nCfgNum; // 获取到的配置个数 public CFG_PARKING_SPACE_LIGHT_GROUP_INFO[] stuLightGroupInfo=(CFG_PARKING_SPACE_LIGHT_GROUP_INFO[]) new CFG_PARKING_SPACE_LIGHT_GROUP_INFO().toArray(MAX_LIGHT_GROUP_INFO_NUM); // 车位指示灯本机配置 }; //--------------------------------------------------------ERR200424047结束------------------------------------------------------------------------// //--------------------------------------------------------ERR200426006------------------------------------------------------------------------// // 灯光设备类型 public static class EM_LIGHT_TYPE extends SdkStructure { public static final int EM_LIGHT_TYPE_UNKNOWN=0; // 未知类型 public static final int EM_LIGHT_TYPE_COMMLIGHT=1; // 普通灯光 public static final int EM_LIGHT_TYPE_LEVELLIGHT=2; // 可调光 }; // 串口地址 public static class CFG_COMMADDR_INFO extends SdkStructure { public int nAddressNum; // 串口地址个数 public int[] nAddress=new int[MAX_ADDRESS_NUM]; // 地址描述,不同厂商地址位不同,用数组表示 }; public static final int MAX_ADDRESS_NUM =16; // 最大串口地址个数 public static final int MAX_DEVICE_ID_LEN =48; // 最大设备编码长度 public static final int MAX_DEVICE_MARK_LEN =64; // 最大设备描述长度 public static final int MAX_BRAND_NAME_LEN =64; // 最大设备品牌长度 // 灯光设备配置信息 (对应 CFG_CMD_LIGHT ) public static class CFG_LIGHT_INFO extends SdkStructure { public byte[] szDeviceID=new byte[MAX_DEVICE_ID_LEN]; // 设备编码,惟一标识符 public byte[] szName=new byte[MAX_DEVICE_MARK_LEN]; // 设备描述 public byte[] szBrand=new byte[MAX_BRAND_NAME_LEN]; // 设备品牌 public CFG_COMMADDR_INFO stuCommAddr; // 串口地址 public int nPositionID; // 设备在区域中编号 public CFG_POLYGON stuPosition; // 坐标 public int nState; // 设备状态: 1-打开,0-关闭 public int nRange; // 灯亮度幅度值 0-7 , emType 为 EM_LIGHT_TYPE_ADJUSTABLE 有意义 public int emType; // 灯光设备类型;参考EM_LIGHT_TYPE }; // 近光灯信息 public static class CFG_NEARLIGHT_INFO extends SdkStructure { public int bEnable; // 是否使能,TRUE使能,FALSE不使能 public int dwLightPercent; // 灯光亮度百分比值(0~100) public int dwAnglePercent; // 灯光角度百分比值(0~100) }; // 远光灯信息 public static class CFG_FARLIGHT_INFO extends SdkStructure { public int bEnable; // 是否使能,TRUE使能,FALSE不使能 public int dwLightPercent; // 灯光亮度百分比值(0~100) public int dwAnglePercent; // 灯光角度百分比值(0~100) }; public static final int MAX_LIGHTING_NUM =16; // 灯光设置详情 public static class CFG_LIGHTING_DETAIL extends SdkStructure { public int nCorrection; // 灯光补偿 (0~4) 倍率优先时有效 public int nSensitive; // 灯光灵敏度(0~5)倍率优先时有效,默认为3 public int emMode; // 灯光模式,参考EM_CFG_LIGHTING_MODE public int nNearLight; // 近光灯有效个数 public CFG_NEARLIGHT_INFO[] stuNearLights=(CFG_NEARLIGHT_INFO[]) new CFG_NEARLIGHT_INFO().toArray(MAX_LIGHTING_NUM); // 近光灯列表 public int nFarLight; // 远光灯有效个数 public CFG_FARLIGHT_INFO[] stuFarLights=(CFG_FARLIGHT_INFO[]) new CFG_FARLIGHT_INFO().toArray(MAX_LIGHTING_NUM); // 远光灯列表 }; // 灯光模式 public static class EM_CFG_LIGHTING_MODE extends SdkStructure { public static final int EM_CFG_LIGHTING_MODE_UNKNOWN=0; // 未知 public static final int EM_CFG_LIGHTING_MODE_MANUAL=1; // 手动 public static final int EM_CFG_LIGHTING_MODE_ZOOMPRIO=2; // 倍率优先 public static final int EM_CFG_LIGHTING_MODE_TIMING=3; // 定时模式 public static final int EM_CFG_LIGHTING_MODE_AUTO=4; // 自动 public static final int EM_CFG_LIGHTING_MODE_OFF=5; // 关闭模式 }; public static final int MAX_LIGHTING_DETAIL_NUM =16; // 灯光设置(对应 CFG_CMD_LIGHTING 命令) public static class CFG_LIGHTING_INFO extends SdkStructure { public int nLightingDetailNum; // 灯光设置有效个数 public CFG_LIGHTING_DETAIL[] stuLightingDetail=(CFG_LIGHTING_DETAIL[]) new CFG_LIGHTING_DETAIL().toArray(MAX_LIGHTING_DETAIL_NUM); // 灯光设置信息列表 }; //--------------------------------------------------------ERR200426006结束------------------------------------------------------------------------// //--------------------------------------------------------ERR200427081开始------------------------------------------------------------------------// // 事件类型EVENT_IVS_HIGH_TOSS_DETECT(高空抛物检测事件)对应的数据块描述信息 public static class DEV_EVENT_HIGH_TOSS_DETECT_INFO extends SdkStructure { /** *通道号 */ public int nChannelID; /** * 0:脉冲 * 1:开始 * 2:停止 */ public int nAction; /** * 事件名称 */ public byte[] szName=new byte[128]; /** * 时间戳(单位是毫秒) */ public double PTS; /** * 事件发生的时间 */ public NET_TIME_EX UTC; /** * 事件ID */ public int nEventID; /** * 智能事件规则编号,用于标示哪个规则触发的事件 */ public int nRuleID; /** * 智能事件所属大类,枚举值参考{@link EM_CLASS_TYPE} */ public int emClassType; /** * 物体信息 */ public NET_HIGHTOSS_OBJECT_INFO[] stuObjInfos=(NET_HIGHTOSS_OBJECT_INFO[]) new NET_HIGHTOSS_OBJECT_INFO().toArray(50); /** * 物体个数 */ public int nObjNum; /** * 检测区域顶点数 */ public int nDetectRegionNum; /** * 检测区域,[0,8192) */ public NET_POINT[] stuDetectRegion=(NET_POINT[])new NET_POINT().toArray(NET_MAX_DETECT_REGION_NUM); /** * 视频分析帧序号 */ public int nFrameSequence; /** * 事件组ID, 同一物体抓拍过程内GroupID相同 */ public int nGroupID; /** * 抓拍序号,从1开始 */ public int nIndexInGroup; /** * 抓拍张数 */ public int nCountInGroup; /** * 图片信息 */ public NET_EVENT_IMAGE_OFFSET_INFO stuImageInfo; /** * 是否上传大图, true表示第一个图片为全景大图,信息由ImageInfo来表示 */ public boolean bIsGlobalScene; /** * 用于标记抓拍帧 */ public int nMark; /** * 预留字节 */ public byte[] byReserved=new byte[384]; @Override public String toString() { return "DEV_EVENT_HIGH_TOSS_DETECT_INFO{" + "通道号=" + nChannelID + ", nAction=" + nAction + ", 事件名称=" + new String(szName, Charset.forName("GBK")).trim() + ", s事件戳=" + PTS + ", 事件发生时间=" + UTC.toString() + ", nEventID=" + nEventID + ", 智能事件规则编号=" + nRuleID + ", 智能事件所属大类=" + emClassType + ", stuObjInfos=" + Arrays.toString(stuObjInfos) + ", 物体个数=" + nObjNum + ", 检测区域顶点数=" + nDetectRegionNum + ", stuDetectRegion=" + Arrays.toString(stuDetectRegion) + ", 帧序号=" + nFrameSequence + ", 事件组ID=" + nGroupID + ", 抓拍序号=" + nIndexInGroup + ", 抓拍张数=" + nCountInGroup + ", 图片信息=" + stuImageInfo + ", 是否大图=" + bIsGlobalScene + ", 标记抓拍帧=" + nMark + '}'; } } public static class NET_EVENT_IMAGE_OFFSET_INFO extends SdkStructure{ /** * 偏移 */ public int nOffSet; /** * 图片大小,单位字节 */ public int nLength; /** * 图片宽度 */ public int nWidth; /** * 图片高度 */ public int nHeight; /** * 图片路径 */ public byte[] szPath=new byte[260]; /** * 保留字节 */ public byte[] byReserved=new byte[252]; @Override public String toString() { return "NET_EVENT_IMAGE_OFFSET_INFO{" + "nOffSet=" + nOffSet + ", nLength=" + nLength + ", nWidth=" + nWidth + ", nHeight=" + nHeight + ", szPath=" + new String(szPath,Charset.forName("GBK")) + '}'; } } // 高空抛物物体信息 public static class NET_HIGHTOSS_OBJECT_INFO extends SdkStructure { public int nObjectID; // 物体ID public int emObjAction; // 物体动作类型;参考EM_HIGHTOSS_ACTION_TYPE public NET_RECT stuBoundingBox; // 包围盒 public int nConfidence; // 置信度 public int emObjectType; // 物体类型;参考EM_ANALYSE_OBJECT_TYPE public NET_POINT stuCenter; // 物体型心 public NET_EVENT_IMAGE_OFFSET_INFO stuImageInfo; // 抓拍小图 public byte[] byReserved=new byte[1516];// 预留字节 // 预留字节 @Override public String toString() { return "NET_HIGHTOSS_OBJECT_INFO{" + "nObjectID=" + nObjectID + ", 动作类型=" + emObjAction + ", stuBoundingBox=" + stuBoundingBox + ", 置信度=" + nConfidence + ", 物体类型=" + emObjectType + ",物体型心="+stuCenter + ",抓拍小图="+stuImageInfo.toString()+ '}'; } } ; // 登陆时TLS加密模式 public static class EM_LOGIN_TLS_TYPE extends SdkStructure { public static final int EM_LOGIN_TLS_TYPE_NO_TLS = 0; // 不走tls加密, 默认方式 public static final int EM_LOGIN_TLS_TYPE_TLS_ADAPTER = 1; // 自适应tls加密 public static final int EM_LOGIN_TLS_TYPE_TLS_COMPEL = 2; // 强制tls加密 public static final int EM_LOGIN_TLS_TYPE_TLS_MAIN_ONLY = 3; // 部分tls加密 } // CLIENT_LoginWithHighLevelSecurity 输入参数 public static class NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY extends SdkStructure { public int dwSize; // 结构体大小 public byte[] szIP=new byte[64]; // IP public int nPort; // 端口 public byte[] szUserName=new byte[64]; // 用户名 public byte[] szPassword=new byte[64]; // 密码 public int emSpecCap; // 登录模式 public byte[] byReserved=new byte[4]; // 字节对齐 public Pointer pCapParam; // 见 CLIENT_LoginEx 接口 pCapParam 与 nSpecCap 关系 public int emTLSCap; //登录的TLS模式,参考EM_LOGIN_TLS_TYPE,目前仅支持EM_LOGIN_SPEC_CAP_TCP,EM_LOGIN_SPEC_CAP_SERVER_CONN 模式下的 tls登陆 public NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY() { this.dwSize = this.size(); }// 此结构体大小 }; // CLIENT_LoginWithHighLevelSecurity 输出参数 public static class NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY extends SdkStructure { public int dwSize; // 结构体大小 public NET_DEVICEINFO_Ex stuDeviceInfo; // 设备信息 public int nError; // 错误码,见 CLIENT_Login 接口错误码 public byte[] byReserved=new byte[132]; // 预留字段 public NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY() { this.dwSize = this.size(); }// 此结构体大小 }; // 高安全级别登陆 public LLong CLIENT_LoginWithHighLevelSecurity(NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY pstInParam, NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY pstOutParam); // GDPR使能全局开关 public void CLIENT_SetGDPREnable(boolean bEnable); // 合成通道配置(对应CFG_CMD_COMPOSE_CHANNEL) public static class CFG_COMPOSE_CHANNEL extends SdkStructure { public int emSplitMode; // 分割模式,写入枚举值 枚举值在 CFG_SPLITMODE 类中定义,不要自己写 public int[] nChannelCombination = new int[MAX_VIDEO_CHANNEL_NUM]; // 割模式下的各子窗口显示内容 最大 MAX_VIDEO_CHANNEL_NUM public int nChannelCount; // 分割窗口数量 } // 画中画方案 public static class CFG_PICINPIC_INFO extends SdkStructure { public int nMaxSplit; // 内存申请的CFG_SPLIT_INFO个数,最大值通过CLIENT_GetSplitCaps接口获取,见nModeCount public int nReturnSplit; // 解析得到实际使用的或封装发送的CFG_SPLIT_INFO个数 public Pointer pSplits; // 分割方案,指向 CFG_SPLIT_INFO } // 分割方案 public static class CFG_SPLIT_INFO extends SdkStructure { public int emSplitMode; // CFG_SPLITMODE分割模式,通过CLIENT_GetSplitCaps接口获取,见emSplitMode public int nMaxChannels; // 申请内存CFG_SPLIT_CHANNEL_INFO个数, 比如有16个通道,nMaxChannels就是16,SPLITMODE_4模式,则按顺序依次分为4组 public int nReturnChannels; // 解析返回通道个数,要封装发送的通道个数 public Pointer pSplitChannels; // 分割通道信息,指向 CFG_SPLIT_CHANNEL_INFO } // 分割通道 public static class CFG_SPLIT_CHANNEL_INFO extends SdkStructure { public int bEnable; // 使能 public byte[] szDeviceID = new byte[AV_CFG_Device_ID_Len]; // 设备ID public int nChannelID; // 通道号(0开始) public int nMaxSmallChannels; // 小画面通道个数,每个通道一个CFG_SMALLPIC_INFO,这里最大应该是设备通道数减一 public int nReturnSmallChannels; // 解析返回的或封装发送的小画面通道个数 public Pointer pPicInfo; // 小画面信息 CFG_SMALLPIC_INFO } // 审讯画中画需求 // 小画面窗口信息 public static class CFG_SMALLPIC_INFO extends SdkStructure { public byte[] szDeviceID = new byte[AV_CFG_Device_ID_Len]; // 设备ID public int nChannelID; // 通道号(0开始) public int bAudio; // 大画面是否混合小画面音频 public CFG_RECT stuPosition; // 使用相对坐标体系,取值均为0-8192,在整个屏幕上的位置 } //--------------------------------------------------------ERR200507125开始------------------------------------------------------------------------// // 空闲动作配置信息 public static class CFG_IDLE_MOTION_INFO extends SdkStructure { public int bEnable; // 使能 public int nTime; // 启动空闲动作的时间1~60分钟 public int emFunction; // 空闲动作功能,见枚举 EM_CFG_IDLEMOTION_FUNCTION public int nPresetId; // 预置点编号, 范围参照CFG_PTZ_PROTOCOL_CAPS_INFO的wPresetMin和wPresetMax public int nScanId; // 自动线扫编号, 范围参照CFG_PTZ_PROTOCOL_CAPS_INFO的wAutoScanMin和wAutoScanMax public int nTourId; // 巡航编号, 范围参照CFG_PTZ_PROTOCOL_CAPS_INFO的wTourMin和wTourMax public int nPatternId; // 自动巡迹编号, 范围参照CFG_PTZ_PROTOCOL_CAPS_INFO的wPatternMin和wPatternMax public int nSecond; // 启动空闲动作的时长(秒数)范围0-59秒,总时长为nTime * 60 + nSecond }; //--------------------------------------------------------ERR200507125结束------------------------------------------------------------------------// //--------------------------------------------------------ERR200513038-TASK1开始------------------------------------------------------------------------// // 每个通道的RTMP信息 public static class NET_CHANNEL_RTMP_INFO extends SdkStructure { public int bEnable; // 是否使能 public int nChannel; // 通道号(URL中的Channel) public byte[] szUrl=new byte[512]; // RTMP连接URL public byte[] byReserved=new byte[1024]; // 预留字段 }; // RTMP 配置 public static class NET_CFG_RTMP_INFO extends SdkStructure { public int dwSize; // 结构体大小,赋值为sizeof(NET_CFG_RTMP_INFO) public int bEnable; // RTMP配置是否开启 public byte[] szAddr=new byte[256]; // RTMP服务器地址 public int nPort; // RTMP服务器端口 public byte[] byReserved = new byte[4]; // 字节对齐 public byte[] szCustomPath=new byte[256]; // 路径名 public byte[] szStreamPath=new byte[256]; // 码流路径前缀:不同通道以后缀数字区分 public byte[] szKey=new byte[128]; // 获取RTMP地址时的Key public Pointer pstuMainStream; // 主码流信息,用户分配内存,内存大小为 sizeof(NET_CHANNEL_RTMP_INFO) * nMainStream public int nMainStream; // pstuMainStream 个数 public int nMainStreamRet; // 返回的 pstuMainStream 个数(获取配置时有效) public Pointer pstuExtra1Stream; // 辅码流1信息,用户分配内存,内存大小为 sizeof(NET_CHANNEL_RTMP_INFO) * nExtra1Stream public int nExtra1Stream; // pstuExtra1Stream 个数 public int nExtra1StreamRet; // 返回的 nExtra1StreamRet 个数(获取配置时有效) public Pointer pstuExtra2Stream; // 辅码流2信息,用户分配内存,内存大小为 sizeof(NET_CHANNEL_RTMP_INFO) * nExtra2Stream public int nExtra2Stream; // pstuExtra2Stream 个数 public int nExtra2StreamRet; // 返回的 nExtra2StreamRet 个数(获取配置时有效) public NET_CFG_RTMP_INFO() { this.dwSize = this.size(); }// 此结构体大小 }; //--------------------------------------------------------ERR200513038开始------------------------------------------------------------------------// //--------------------------------------------------------GIP200520016实现------------------------------------------------------------------------// // 轮询任务对象 public static class NET_POLLING_INFO extends SdkStructure { public int emSourceType; // 数据源类型 参考EM_DATA_SOURCE_TYPE public Pointer pSourceData; // 数据源信息, 根据emSouceType对应不一样的结构体 public byte[] szUserData=new byte[64]; // 视频源数据,标示视频源信息。在返回结果时,原封不动的带上。当任务的包含多个视频源时,attachResult每个视频源单独上报结果 public byte[] byReserved=new byte[256]; // 保留字节 }; // 接口输出参数 public static class NET_IN_ADD_POLLING_ANALYSE_TASK extends SdkStructure { public int dwSize; // 结构体大小 public int nIntervalTime; // 每个视频源的检测执行时间,单位为秒,1~65535 public int nLoopCount; // 诊断轮询次数, 0代表永久轮询 public int nInfoCount; // 任务对象个数 public Pointer pInfoList; // 任务对象列表(参考NET_POLLING_INFO) public NET_IN_ADD_POLLING_ANALYSE_TASK() { this.dwSize = this.size(); }// 此结构体大小 }; // 接口输出参数 public static class NET_OUT_ADD_POLLING_ANALYSE_TASK extends SdkStructure { public int dwSize; // 结构体大小 public int nTaskID; // 任务ID public NET_OUT_ADD_POLLING_ANALYSE_TASK() { this.dwSize = this.size(); }// 此结构体大小 }; public static class NET_IN_UPDATE_POLLING_ANALYSE_TASK extends SdkStructure { public int dwSize; // 结构体大小 public int nTaskID; // 任务ID public int nIntervalTime; // 每个视频源的检测执行时间,单位为秒,1~65535 public int nLoopCount; // 诊断轮询次数, 0代表永久轮询 public int nInfoCount; // 任务对象个数 public int nReserved; // 字节对齐 public Pointer pInfoList; // 任务对象列表(参考NET_POLLING_INFO) public NET_IN_UPDATE_POLLING_ANALYSE_TASK() { this.dwSize = this.size(); }// 此结构体大小 }; // 接口输出参数 public static class NET_OUT_UPDATE_POLLING_ANALYSE_TASK extends SdkStructure { public int dwSize; // 结构体大小 public NET_OUT_UPDATE_POLLING_ANALYSE_TASK() { this.dwSize = this.size(); }// 此结构体大小 }; //获取剩余智能分析资源入参 public static class NET_IN_REMAIN_ANAYLSE_RESOURCE extends SdkStructure { public int dwSize; // 结构体大小 public NET_IN_REMAIN_ANAYLSE_RESOURCE() { this.dwSize = this.size(); }// 此结构体大小 }; //智能分析剩余能力具体信息 public static class NET_REMAIN_ANALYSE_CAPACITY extends SdkStructure { public int nMaxStreamNum; // 剩余能分析的视频流数目 public int emClassType; // 大类业务方案(参考EM_SCENE_CLASS_TYPE) public byte[] byReserved=new byte[1024]; // 保留字节 } ; //获取剩余智能分析资源出参 public static class NET_OUT_REMAIN_ANAYLSE_RESOURCE extends SdkStructure { public int dwSize; // 结构体大小 public int nRetRemainCapNum; // 返回的能力格式 public NET_REMAIN_ANALYSE_CAPACITY[] stuRemainCapacities= (NET_REMAIN_ANALYSE_CAPACITY[])new NET_REMAIN_ANALYSE_CAPACITY().toArray(32); // 智能分析剩余能力 public NET_REMAIN_ANALYSE_TOTAL_CAPACITY[] stuTotalCapacity= (NET_REMAIN_ANALYSE_TOTAL_CAPACITY[])new NET_REMAIN_ANALYSE_TOTAL_CAPACITY().toArray(32); // // 可供任务调度的总的智能能力 public int nTotalCapacityNum; public byte[] byReserved=new byte[60684]; // 保留字节 public NET_OUT_REMAIN_ANAYLSE_RESOURCE() { this.dwSize = this.size(); }// 此结构体大小 }; public static class NET_IN_REMOTEDEVICE_CAPS extends SdkStructure { public int dwSize; // 结构体大小 //public byte[] szSubClassID=new byte[32]; // 空表示管理远程通道的设备列表 // "EmbeddedPlatform": 表示管理嵌入式管理平台的设备管理器 public NET_IN_REMOTEDEVICE_CAPS() { this.dwSize = this.size(); }// 此结构体大小 }; public static class NET_OUT_REMOTEDEVICE_CAP extends SdkStructure { public int dwSize; // 结构体大小 public int nRetCount; // 返回的pnProtocal 有效个数 public int[] snProtocal=new int[512]; // 协议类型 值同 EM_STREAM_PROTOCOL_TYPE public NET_OUT_REMOTEDEVICE_CAP() { this.dwSize = this.size(); }// 此结构体大小 }; //算法独立升级能力 public static class NET_ANALYSE_CAPS_SUPPORT_ALGORITHM_UPGRADE extends SdkStructure { public int dwSize; // 结构体大小 public int bSupportOnlyAlgorithmUpgrade; // 是否支持算法独立升级能力 public int nMaxUpgradeAINum; // AI 方案最大个数, 由用户指定, 最大支持128 public int nRetUpgradeAINum; // 实际返回的AI 方案个数, 即pstUpgradeAIInfo 数组的有效元素个数 /** * 指针内传入结构体数组,结构体为{@link NET_ALGORITHM_UPGRADE_AI_INFO} */ public Pointer pstUpgradeAIInfo; // 独立算法升级支持的AI方案信息, 内存由用户申请和释放, 申请大小sizeof(NET_ALGORITHM_UPGRADE_AI_INFO)*nMaxUpgradeAINum public int nRetStorageNum; // 实际返回的设备分区个数, 即stuStorageInfo 数组的有效元素个数 public NET_ALGORITHM_DEV_STORAGE_INFO[] stuStorageInfos=(NET_ALGORITHM_DEV_STORAGE_INFO[])new NET_ALGORITHM_DEV_STORAGE_INFO().toArray(16); // 设备的分区信息 public NET_ALGORITHM_BUILD_INFO stuBuildInfo; // 算法构建信息 public NET_ANALYSE_CAPS_SUPPORT_ALGORITHM_UPGRADE() { this.dwSize = this.size(); }// 此结构体大小 } ; //智能分析总能力 public static class NET_TOTAL_CAP extends SdkStructure { public int emClassType; // 业务大类(参考EM_SCENE_CLASS_TYPE) public int[] dwRuleTypes=new int[MAX_ANALYSE_RULE_COUNT]; // 规则类型, 详见dhnetsdk.h中"智能分析事件类型" public int nRuleNum; // 规则数量 public int nMaxStreamNum; // 最多支持同时分析的视频流数目 public byte[] byReserved=new byte[1024]; // 保留字节 } ; //智能分析的总能力 public static class NET_ANALYSE_CAPS_TOTAL extends SdkStructure { public int dwSize; // 结构体大小 public NET_TOTAL_CAP[] stuTotalCaps=(NET_TOTAL_CAP[])new NET_TOTAL_CAP().toArray(MAX_ANALYSE_TOTALCAPS_NUM); // 智能分析总能力 public int nTotalCapsNum; // 智能分析总能力个数 public int nTotalDecodeCaps; // 总解码能力,即总解码资源个数 public int nTotalComputingCaps; // 总算力 public int nSingleTaskComputingCaps; // 单任务最大算力 public NET_ANALYSE_CAPS_TOTAL() { this.dwSize = this.size(); }// 此结构体大小 } ; // 算法版本信息 public static class NET_ALGORITHM_INFO extends SdkStructure { public int emClassType; // 业务大类(参考EM_SCENE_CLASS_TYPE) public byte[] szVersion=new byte[NET_COMMON_STRING_32]; // 算法版本 public int emAlgorithmVendor; // 算法厂商(参考EM_ALGORITHM_VENDOR) public byte[] szAlgorithmLibVersion=new byte[NET_COMMON_STRING_32]; // 算法库文件版本 public byte[] byReserved=new byte[992]; // 保留字节 } ; //智能分析的算法版本信息 public static class NET_ANALYSE_CAPS_ALGORITHM extends SdkStructure { public int dwSize; // 结构体大小 public NET_ALGORITHM_INFO[] stuAlgorithmInfos=(NET_ALGORITHM_INFO[])new NET_ALGORITHM_INFO().toArray(MAX_ANALYSE_ALGORITHM_NUM); // 算法版本信息 public int nAlgorithmNum; // 算法个数 public NET_ANALYSE_CAPS_ALGORITHM() { this.dwSize = this.size(); }// 此结构体大小 } ; // 智能分析服务能力类型 public static class EM_ANALYSE_CAPS_TYPE extends SdkStructure { public static final int EM_ANALYSE_CAPS_ALGORITHM = 1; // 算法版本, 对应输出结构体 NET_ANALYSE_CAPS_ALGORITHM public static final int EM_ANALYSE_CAPS_TOTALCAPS = 2; // 智能分析总能力, 对应输出结构体 NET_ANALYSE_CAPS_TOTAL public static final int EM_ANALYSE_CAPS_SUPPORT_ALGORITHM_UPGRADE = 3; // 算法独立升级能力, 对应输出结构体 NET_ANALYSE_CAPS_SUPPORT_ALGORITHM_UPGRADE }; //CLIENT_SetAnalyseTaskCustomData 接口输入参数 public static class NET_IN_SET_ANALYSE_TASK_CUSTOM_DATA extends SdkStructure { public int dwSize; // 结构体大小 public int nTaskID; // 任务ID public NET_TASK_CUSTOM_DATA stuTaskCustomData; // 自定义数据 public NET_IN_SET_ANALYSE_TASK_CUSTOM_DATA() { this.dwSize = this.size(); }// 此结构体大小 } ; //CLIENT_SetAnalyseTaskCustomData 接口输出参数 public static class NET_OUT_SET_ANALYSE_TASK_CUSTOM_DATA extends SdkStructure { public int dwSize; // 结构体大小 public NET_OUT_SET_ANALYSE_TASK_CUSTOM_DATA() { this.dwSize = this.size(); }// 此结构体大小 } ; // 获取视频分析服务智能能力集, pstOutParam根据emCapsType的值取对应的结构体(参考EM_ANALYSE_CAPS_TYPE), pstOutParam 资源由用户申请和释放 public boolean CLIENT_GetAnalyseCaps(LLong lLoginID, int emCapsType, Pointer pOutParam, int nWaitTime); // 添加轮询检测任务 (入参NET_IN_ADD_POLLING_ANALYSE_TASK,出参NET_OUT_ADD_POLLING_ANALYSE_TASK) public boolean CLIENT_AddPollingAnalyseTask(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); // 更新轮询检测任务规则(入参NET_IN_UPDATE_POLLING_ANALYSE_TASK,出参NET_OUT_UPDATE_POLLING_ANALYSE_TASK) public boolean CLIENT_UpdatePollingAnalyseTask(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); // 获取剩余智能分析资源(入参NET_IN_REMAIN_ANAYLSE_RESOURCE,出参NET_OUT_REMAIN_ANAYLSE_RESOURCE) public boolean CLIENT_GetRemainAnalyseResource(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); // 设置任务的自定义数据(入参NET_IN_SET_ANALYSE_TASK_CUSTOM_DATA,出参NET_OUT_SET_ANALYSE_TASK_CUSTOM_DATA) public boolean CLIENT_SetAnalyseTaskCustomData(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); public static class NET_VIDEOABNORMALDETECTION_RULE_INFO extends SdkStructure { /** * 最短持续时间 单位:秒,0~65535 */ public int nMinDuration; /** * 灵敏度, 取值1-10,值越小灵敏度越低(只对检测类型视频遮挡,过亮,过暗,场景变化有效) */ public int nSensitivity; /** * 检测类型数 */ public int nDetectType; public int nReserved; /** * 异常检测阈值,范围1~100 */ public int[] nThreshold=new int[32]; /** * 检测类型,0-视频丢失, 1-视频遮挡, 2-画面冻结, 3-过亮, 4-过暗, 5-场景变化 * 6-条纹检测 , 7-噪声检测 , 8-偏色检测 , 9-视频模糊检测 , 10-对比度异常检测 * 11-视频运动 , 12-视频闪烁 , 13-视频颜色 , 14-虚焦检测 , 15-过曝检测, 16-场景巨变 */ public byte[] bDetectType=new byte[32]; /** * 保留字节 */ public byte[] byReserved=new byte[4096]; } //--------------------------------------------------------ERR200529144------------------------------------------------------------------------// // 热度图灰度数据 public static class NET_CB_HEATMAP_GRAY_INFO extends SdkStructure { public int nWidth; // 图片宽度 public int nHeight; // 图片高度 public NET_TIME stuStartTime; // 开始时间 public NET_TIME stuEndTime; // 结束时间 public int nMax; // 最大值 public int nMin; // 最小值 public int nAverage; // 平均值 public int nLength; // 灰度图数据长度 public Pointer pGrayInfo; // 灰度图数据 public byte[] byReserved=new byte[512]; // 保留字节 } ; // 热度图灰度数据回调函数, lAttachHandle 为 CLIENT_AttachHeatMapGrayInfo 返回的结果(pstGrayInfo参考NET_CB_HEATMAP_GRAY_INFO) public interface fHeatMapGrayCallBack extends Callback{ public void invoke(LLong lAttachHandle, Pointer pstGrayInfo, Pointer dwUser); } // CLIENT_AttachHeatMapGrayInfo 接口输入参数 public static class NET_IN_GRAY_ATTACH_INFO extends SdkStructure { public int dwSize; // 结构体大小 public int nChannelID; // 通道号 public fHeatMapGrayCallBack cbHeatMapGray; // 热度图灰度数据回调函数 public Pointer dwUser; // 用户信息 public NET_IN_GRAY_ATTACH_INFO() { this.dwSize = this.size(); }// 此结构体大小 } ; // CLIENT_AttachHeatMapGrayInfo接口输出参数 public static class NET_OUT_GRAY_ATTACH_INFO extends SdkStructure { public int dwSize; // 结构体大小 public NET_OUT_GRAY_ATTACH_INFO() { this.dwSize = this.size(); }// 此结构体大小 } ; // 订阅热度图灰度数据接口,pInParam与pOutParam内存由用户申请释放(pInParam参考NET_IN_GRAY_ATTACH_INFO,pOutParam参考NET_OUT_GRAY_ATTACH_INFO) public LLong CLIENT_AttachHeatMapGrayInfo(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); // 退订热度图灰度数据 public boolean CLIENT_DetachHeatMapGrayInfo(LLong lAttachHandle); // 事件类型EVENT_IVS_RETROGRADEDETECTION(人员逆行事件)对应的数据块描述信息 public static class DEV_EVENT_RETROGRADEDETECTION_INFO extends SdkStructure { public int nChannelID; // 通道号 public byte[] szName=new byte[128]; // 事件名称 public byte[] bReserved1=new byte[4]; // 字节对齐 public double PTS; // 时间戳(单位是毫秒) public NET_TIME_EX UTC; // 事件发生的时间 public int nEventID; // 事件ID public DH_MSG_OBJECT stuObject; // 检测到的物体 public int nTrackLineNum; // 物体运动轨迹顶点数 public DH_POINT[] TrackLine=(DH_POINT[])new DH_POINT().toArray(NET_MAX_TRACK_LINE_NUM); // 物体运动轨迹 public int nDirectionPointNum; // 规则里规定的方向顶点数 public DH_POINT[] stuDirections=(DH_POINT[])new DH_POINT().toArray(NET_MAX_DETECT_LINE_NUM); // 规则里规定的方向 public int nDetectRegionNum; // 规则检测区域顶点数 public DH_POINT[] DetectRegion=(DH_POINT[])new DH_POINT().toArray(NET_MAX_DETECT_REGION_NUM); // 规则检测区域 public NET_EVENT_FILE_INFO stuFileInfo; // 事件对应文件信息 public byte bEventAction; // 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束; public byte[] byReserved=new byte[2]; public byte byImageIndex; // 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始 public int dwSnapFlagMask; // 抓图标志(按位),具体见NET_RESERVED_COMMON public int nSourceIndex; // 事件源设备上的index,-1表示数据无效 public byte[] szSourceDevice=new byte[MAX_PATH]; // 事件源设备唯一标识,字段不存在或者为空表示本地设备 public int nOccurrenceCount; // 事件触发累计次数 public EVENT_INTELLI_COMM_INFO stuIntelliCommInfo; // 智能事件公共信息 public Pointer pstuImageInfo; // 图片信息数组 ,结构体NET_IMAGE_INFO_EX2数组 public int nImageInfoNum; // 图片信息个数 public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND(); //事件公共扩展字段结构体 public byte[] bReserved=new byte[604]; // 保留字节,留待扩展. } ; public static final int NET_MAX_PLATEENABLE_NUM = 16; // 最大使能过车车牌播报个数 public static final int NET_MAX_BROADCAST_ELEMENT_NUM = 64; // 最大语音播报元素个数 // 智能交通语音播报配置 对应枚举 NET_EM_CFG_TRAFFIC_VOICE_BROADCAST public static class NET_CFG_TRAFFIC_VOICE_BROADCAST_INFO extends SdkStructure { public int dwSize; // 结构体大小 public int nEnableCount; // 使能播报个数 public int[] emEnable=new int[NET_MAX_PLATEENABLE_NUM]; // 使能过车车牌播报,见枚举 NET_EM_PLATEENABLE_TYPE public byte[] szNormalCar=new byte[MAX_PATH]; // 普通车辆过车播报内容,例如:播报语音文件"欢迎光临.wav" public byte[] szTrustCar=new byte[MAX_PATH]; // 信任车辆过车播报内容,例如:播报语音文件"欢迎光临.wav" public byte[] szSuspiciousCar=new byte[MAX_PATH]; // 嫌疑车辆过车播报内容,例如:播报语音文件"非注册车辆.wav" public NET_TRAFFIC_VOICE_BROADCAST_ELEMENT[] stuElement=(NET_TRAFFIC_VOICE_BROADCAST_ELEMENT[])new NET_TRAFFIC_VOICE_BROADCAST_ELEMENT().toArray(NET_MAX_BROADCAST_ELEMENT_NUM); // 播报元素 public int nElementNum; // stuElement中有效数据个数 public NET_CFG_TRAFFIC_VOICE_BROADCAST_INFO() { this.dwSize = this.size(); }// 此结构体大小 }; // 播报元素 public static class NET_TRAFFIC_VOICE_BROADCAST_ELEMENT extends SdkStructure { public int emType; // 类型(参考NET_EM_VOICE_BROADCAST_ELEMENT_TYPE) public byte[] byReserved1=new byte[4]; // 字节对齐 public byte[] szPrefix=new byte[512]; // 前缀字符串 public byte[] szPostfix=new byte[512]; // 后缀字符串 public byte[] byReserved=new byte[1024]; // 预留 }; // 485串口协议设备配置信息 public static class NET_CFG_DHRS_INFO extends SdkStructure { public int nDeviceNum; // 串口设备个数 public NET_CFG_DHRS_DEVICE_INFO[] stuDHRSDeviceInfo=(NET_CFG_DHRS_DEVICE_INFO[])new NET_CFG_DHRS_DEVICE_INFO().toArray(32); // 串口设备信息 }; public static class NET_CFG_DHRS_DEVICE_INFO extends SdkStructure { public int bEnable; // 串口设备是否启用 public int emType; // 串口设备类型(参考EM_DHRS_DEVICE_TYPE) public NET_CFG_LATTICE_SCREEN_CONFIG stuLatticeScreenConfig; // 485串口点阵屏配置 public byte[] byReserved=new byte[4096]; //预留字节 } ; // 485串口点阵屏配置 public static class NET_CFG_LATTICE_SCREEN_CONFIG extends SdkStructure { public int nAddress; // 配置对应设备的地址, 范围[1,31] public int emRollSpeedLevel; // 点阵屏滚动速度级别(参考EM_ROLL_SPEED_LEVEL) public int nLogicScreenNum; // 逻辑屏个数 public NET_LOGIC_SCREEN[] stuLogicScreens=(NET_LOGIC_SCREEN[])new NET_LOGIC_SCREEN().toArray(8); // 逻辑屏信息, 划分物理屏的某一区域为逻辑屏 public int nOutPutVoiceVolume; // 语音播报音量大小, 范围:[0 - 100] public int nOutPutVoiceSpeed; // 语音播报速度, 范围:[0-100] public byte[] byReserved=new byte[1024]; } ; // 串口设备类型 public static class EM_DHRS_DEVICE_TYPE extends SdkStructure { public static final int EM_DHRS_DEVICE_TYPE_UNKNOWN =0; // 未知 public static final int EM_DHRS_DEVICE_TYPE_STEADYLIGHT =1; // 常亮灯 public static final int EM_DHRS_DEVICE_TYPE_STROBELIGHT =2; // 可以通过485控制的频闪灯 public static final int EM_DHRS_DEVICE_TYPE_POWERMODULE =3; // 电源模块 public static final int EM_DHRS_DEVICE_TYPE_LATTICESCREEN =4; // 点阵屏 public static final int EM_DHRS_DEVICE_TYPE_INDICATORLIGHT =5; // 指示灯 public static final int EM_DHRS_DEVICE_TYPE_RAINBRUSH =6; // 雨刷洗涤模块 public static final int EM_DHRS_DEVICE_TYPE_FLASHLAMP =7; // 爆闪灯 public static final int EM_DHRS_DEVICE_TYPE_RFID =8; // 射频识别 public static final int EM_DHRS_DEVICE_TYPE_COMMON =9; // 通用485 } ; // 逻辑屏信息 public static class NET_LOGIC_SCREEN extends SdkStructure { public NET_RECT stuRegion; // 逻辑屏区域, 实际点阵屏坐标 public int emDisplayMode; // 显示动作(参考EM_DISPLAY_MODE) public int emDisplayColor; // 显示颜色(参考EM_DISPLAY_COLOR) public byte[] byReserved = new byte[512]; // 预留字节 } ; // 点阵屏滚动速度级别 public static class EM_ROLL_SPEED_LEVEL extends SdkStructure { public static final int EM_ROLL_SPEED_LEVEL_UNKNOWN =0; // 未知 public static final int EM_ROLL_SPEED_LEVEL_SLOW =1; // 慢 public static final int EM_ROLL_SPEED_LEVEL_SLOWER =2; // 较慢 public static final int EM_ROLL_SPEED_LEVEL_MEDIUM =3; // 中等 public static final int EM_ROLL_SPEED_LEVEL_FASTER =4; // 较快 public static final int EM_ROLL_SPEED_LEVEL_FAST =5; // 快 } ; // 显示动作 public static class EM_DISPLAY_MODE extends SdkStructure { public static final int EM_DISPLAY_MODE_UNKNOWN =0; // 未知 public static final int EM_DISPLAY_MODE_ROLL =1; // 滚动 public static final int EM_DISPLAY_MODE_INTERCEPT =2; // 截取 } ; // 显示颜色 public static class EM_DISPLAY_COLOR extends SdkStructure { public static final int EM_DISPLAY_COLOR_UNKNOWN =0; // 未知 public static final int EM_DISPLAY_COLOR_RED =1; // 红 public static final int EM_DISPLAY_COLOR_GREEN =2; // 绿 public static final int EM_DISPLAY_COLOR_YELLOW =3; // 黄 } public static class NET_FACEANALYSIS_RULE_INFO extends SdkStructure { public int dwSize; // 结构体大小 public int nDetectRegionPoint; // 检测区顶点数 public POINTCOORDINATE[] stuDetectRegion = new POINTCOORDINATE[20]; // 检测区 public int nSensitivity; // 灵敏度,范围[1,10],灵敏度越高越容易检测 public int nLinkGroupNum; // 联动布控个数 public NET_CFG_LINKGROUP_INFO[] stuLinkGroup = new NET_CFG_LINKGROUP_INFO[20]; // 联动的布控组 public NET_CFG_STRANGERMODE_INFO stuStrangerMode; // 陌生人布防模式 public boolean bSizeFileter; // 规则特定的尺寸过滤器是否有效 public NET_CFG_SIZEFILTER_INFO stuSizeFileter; // 规则特定的尺寸过滤器 public boolean bFeatureEnable; // 是否开启人脸属性识别, IPC增加 public int nFaceFeatureNum; // 需要检测的人脸属性个数 public int[] emFaceFeatureType = new int[32]; // 需检测的人脸属性 NET_EM_FACEFEATURE_TYPE public boolean bFeatureFilter; // 在人脸属性开启前提下,如果人脸图像质量太差,是否不上报属性 // true-图像太差不上报属性 false-图像很差也上报属性(可能会非常不准,影响用户体验) public int nMinQuality; // 人脸图片质量阈值,和bFeatureFilter一起使用 范围[1,100] public NET_FACEANALYSIS_RULE_INFO(){ for(int i = 0; i < stuDetectRegion.length; i++ ){ stuDetectRegion[i] = new POINTCOORDINATE(); } for(int i = 0; i < stuLinkGroup.length; i++){ stuLinkGroup[i] = new NET_CFG_LINKGROUP_INFO(); } dwSize = this.size(); } } // 联动的布控组 public static class NET_CFG_LINKGROUP_INFO extends SdkStructure { public boolean bEnable; // 布控组是否启用 public byte[] szGroupID = new byte[64]; // 布控组ID public byte bySimilarity; // 相似度阈值 1-100 public byte[] bReserved1 = new byte[3]; // 字节对齐 public byte[] szColorName = new byte[32]; // 事件触发时绘制人脸框的颜色 public boolean bShowTitle; // 事件触发时规则框上是否显示报警标题 public boolean bShowPlate; // 事件触发时是否显示比对面板 public NET_ALARM_MSG_HANDLE stuEventHandler; // 报警联动 public byte[] bReserved = new byte[512]; // 保留字段 } // 陌生人布防模式 public static class NET_CFG_STRANGERMODE_INFO extends SdkStructure { public boolean bEnable; // 模式是否启用 public byte[] szColorHex = new byte[8]; // 事件触发时绘制人脸框的颜色 public boolean bShowTitle; // 事件触发时规则框上是否显示报警标题 public boolean bShowPlate; // 事件触发时是否显示比对面板 public NET_ALARM_MSG_HANDLE stuEventHandler; // 报警联动 public byte[] bReserved = new byte[512]; // 保留字段 } // 人脸属性类型 public static class NET_EM_FACEFEATURE_TYPE { public final static int NET_EM_FACEFEATURE_UNKNOWN = 0; // 未知 public final static int NET_EM_FACEFEATURE_SEX = 1; // 性别 public final static int NET_EM_FACEFEATURE_AGE = 2; // 年龄 public final static int NET_EM_FACEFEATURE_EMOTION = 3; // 表情 public final static int NET_EM_FACEFEATURE_GLASSES = 4; // 眼镜状态 public final static int NET_EM_FACEFEATURE_EYE = 5; // 眼睛状态 public final static int NET_EM_FACEFEATURE_MOUTH = 6; // 嘴巴状态 public final static int NET_EM_FACEFEATURE_MASK = 7; // 口罩状态 public final static int NET_EM_FACEFEATURE_BEARD = 8; // 胡子状态 public final static int NET_EM_FACEFEATURE_ATTRACTIVE = 9; // 魅力值 } // 事件类型EM_ANALYSE_EVENT_FEATURE_ABSTRACT(特征提取)对应的数据块描述信息 public static class DEV_EVENT_FEATURE_ABSTRACT_INFO extends SdkStructure { public int nChannelID; // 通道号 public int nAction; // 0:脉冲 1:开始 2:停止 public int emClassType; // 智能事件所属大类 EM_CLASS_TYPE public int nFeatureNum; // 特征值数量 public NET_FEATURE_VECTOR_INFO[] stuFeatureVectorList = new NET_FEATURE_VECTOR_INFO[10]; // 特征值数组,同一个图片需要进行多个版本的特征向量提取,在一个事件中返回 public byte[] byReserved = new byte[1024]; // 预留字节 public DEV_EVENT_FEATURE_ABSTRACT_INFO(){ for(int i=0;iNET_IN_CAMERASTATE ; pstOutParam->NET_OUT_CAMERASTATE */ public LLong CLIENT_AttachCameraState(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 停止订阅摄像头状态,lAttachHandle是CLIENT_AttachCameraState返回值 */ public boolean CLIENT_DetachCameraState(LLong lAttachHandle); // CLIENT_AttachCameraState()回调函数原形, 每次1条,pBuf->NET_CB_CAMERASTATE dwSize == nBufLen public interface fCameraStateCallBack extends Callback { public void invoke(LLong lLoginID, LLong lAttachHandle, Pointer pBuf, int nBufLen, Pointer dwUser); } /** * 获取IPC设备的存储信息 * @param lLoginID 登录句柄 * @param pstInParam 入参 {@link com.netsdk.lib.structure.NET_IN_GET_DEVICE_AII_INFO} * @param pstOutParam 出参{@link com.netsdk.lib.structure.NET_OUT_GET_DEVICE_AII_INFO} * @param nWaitTime * @return */ public boolean CLIENT_GetDeviceAllInfo(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); // 交通信号灯回调函数 lLoginID - 登录句柄 lAttchHandle - 订阅句柄 public interface fTrafficLightState extends Callback { public void invoke(LLong lLoginID, LLong lAttachHandle, Pointer pBuf, long dwUser); } /** * 订阅交通信号灯状态 , pInParam 和pOutParam 资源由用户申请和释放 * @param lLoginID 登录句柄 * @param pInParam 入参 {@link com.netsdk.lib.structure.NET_IN_ATTACH_TRAFFICLIGHT_INFO} * @param pOutParam 出参{@link com.netsdk.lib.structure.NET_OUT_ATTACH_TRAFFICLIGHT_INFO} * @param nWaitTime * @return */ public LLong CLIENT_AttachTrafficLightState(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 退订交通信号灯状态 * @param lAttchHandle 订阅句柄 * @return */ public boolean CLIENT_DetachTrafficLightState(LLong lAttchHandle); /** * 订阅雷达的报警点信息 , pInParam 和pOutParam 资源由用户申请和释放 * @param lLoginID 登录句柄 * @param pstInParam 入参 {@link com.netsdk.lib.structure.NET_IN_RADAR_ALARMPOINTINFO} * @param pstOutParam 出参 {@link com.netsdk.lib.structure.NET_OUT_RADAR_ALARMPOINTINFO} * @param nWaitTime * @return */ public LLong CLIENT_AttachRadarAlarmPointInfo(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 取消订阅雷达的报警点信息 * @param lAttachHandle 订阅句柄 * @return */ public boolean CLIENT_DetachRadarAlarmPointInfo(LLong lAttachHandle); /** * 雷达报警点信息回调函数 */ public interface fRadarAlarmPointInfoCallBack extends Callback { /** * * @param lLoginId 登录句柄 * @param lAttachHandle 订阅句柄 * @param pBuf {@link com.netsdk.lib.structure.NET_RADAR_NOTIFY_ALARMPOINTINFO} * @param dwBufLen pBuf中结构体的长度 * @param pReserved 保留数据 * @param dwUser 用户自定义数据 */ public void invoke (LLong lLoginId, LLong lAttachHandle, Pointer pBuf, int dwBufLen, Pointer pReserved, Pointer dwUser); } /** * 查询系统状态(pstuStatus内存由用户申请释放) * @param lLoginID * @param pstInParam NET_SYSTEM_STATUS * @param nWaitTime * @return */ public boolean CLIENT_QuerySystemStatus(LLong lLoginID, Pointer pstInParam, int nWaitTime); /** * 订阅云台元数据接口,pstuInPtzStatusProc与pstuOutPtzStatusProc内存由用户申请释放 * @param lLoginID 登录句柄 * @param pstInParam 入参 {@link com.netsdk.lib.structure.NET_IN_PTZ_STATUS_PROC} * @param pstOutParam 出参{@link com.netsdk.lib.structure.NET_OUT_PTZ_STATUS_PROC} * @param nWaitTime * @return */ public LLong CLIENT_AttachPTZStatusProc(LLong lLoginID,Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 停止订阅云台元数据接口,lAttachHandle是CLIENT_AttachPTZStatusProc返回值 * @param lAttachHandle 订阅句柄 * @return */ public boolean CLIENT_DetachPTZStatusProc(LLong lAttachHandle); /** * 订阅云台元数据接口回调函数原型 * pBuf 现阶段主要为 NET_PTZ_LOCATION_INFO 类型 {@link NET_PTZ_LOCATION_INFO} */ public interface fPTZStatusProcCallBack extends Callback { public void invoke (LLong lLoginId, LLong lAttachHandle, Pointer pBuf, int dwBufLen, long dwUser); } /** * 查询某月的各天是否存在录像文件, * * @param lLoginID * @param nChannelId * @param nRecordFileType EM_QUERY_RECORD_TYPE 的枚举值 * nRecordFileType == EM_RECORD_TYPE_CARD,pchCardid输入卡号,限制字符长度 59 字节 * nRecordFileType == EM_RECORD_TYPE_FIELD,pchCardid输入自定义字段,限制字符长度 256 字节 * @param tmMonth Pointer -> NET_TIME * @param pchCardid Pointer -> byte[] * @param pRecordStatus Poiter -> NET_RECORD_STATUS * @param waittime * @return boolean */ public boolean CLIENT_QueryRecordStatus(LLong lLoginID, int nChannelId, int nRecordFileType, Pointer tmMonth, Pointer pchCardid, Pointer pRecordStatus, int waittime); //设置SDK本地参数,在CLIENT_Init之前调用,szInBuffer内存由用户申请释放,里面存放被设置的信息,具体见NET_EM_SDK_LOCAL_CFG_TYPE类型对应结构体 boolean CLIENT_SetSDKLocalCfg(int emCfgType, Pointer szInBuffer); /** * 开启重定向服务扩展接口 * @param pInParam {@link NET_IN_START_REDIRECT_SERVICE} * @param pOutParam NET_OUT_START_REDIRECT_SERVICE,空结构体,可使用{@link EmptyStructure} * @return */ LLong CLIENT_StartRedirectServiceEx(Pointer pInParam,Pointer pOutParam); /** * 停止重定向服务 * @param lServerHandle 服务句柄 * @return */ boolean CLIENT_StopRedirectService(LLong lServerHandle); /** * 设置重定向服务器的IP和Port * @param lDevHandle 重定向设备句柄 * @param ARSIP 重定向设备IP * @param ARSPort 重定向设备端口 * @param nRetry 设备主动注册尝试次数 * @return */ boolean CLIENT_SetAutoRegisterServerInfo(LLong lDevHandle, String ARSIP, short ARSPort, short nRetry); /** * 强制I帧,用于拉流优化 * @param lLoginID 登录句柄 * @param nChannelID 通道号 * @param nSubChannel 码流类型:0:主码流,1:子码流1 * @return */ boolean CLIENT_MakeKeyFrame(LLong lLoginID, int nChannelID, int nSubChannel); /** * 关闭设备 */ boolean CLIENT_ShutDownDev(LLong lLoginID); /** * 设置通道录像状态(pRsBuffer内存由用户申请释放) */ boolean CLIENT_SetupRecordState(LLong lLoginID, Pointer pRSBuffer, int nRSBufferlen); /** * 设置通道辅码流录像状态(pRsBuffer内存由用户申请释放) */ boolean CLIENT_SetupExtraRecordState(LLong lLoginID, Pointer pRSBuffer, int nRSBufferlen, Pointer pReserved); /** * 增加远程录像备份任务, pInParam pOutParam 内存有用户申请释放 * @param lRestoreID restoreId * @param pInParam -> NET_IN_ADD_REC_BAK_RST_REMOTE_TASK * @param pOutParam -> NET_OUT_ADD_REC_BAK_RST_REMOTE_TASK * @param nWaitTime 超时时间 * @return 添加是否成功 */ boolean CLIENT_AddRecordBackupRestoreRemoteTask(LLong lRestoreID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 设置停车规则 */ boolean CLIENT_SetParkingRule(LLong lLoginID,NET_IN_SET_PARKINGRULE_INFO pstInParam,NET_OUT_SET_PARKINGRULE_INFO pstOutParam, int nWaitTime); // 设置运行模式参数,在CLIENT_Init之后调用 pstuRunParams->NET_RUNMODE_PARAMS boolean CLIENT_SetRunModeParams(Pointer pstuRunParams); public boolean CLIENT_DownloadPieceFile(LLong lLoginID, Pointer pInParam, Pointer pOutParam,int nWaitTime); // 清除当前时间段内人数统计信息, 重新从0开始计算 //CLIENT_ControlDevice接口的 DH_CTRL_CLEAR_SECTION_STAT命令参数 public static class NET_CTRL_CLEAR_SECTION_STAT_INFO extends SdkStructure { public int dwSize; public int nChannel; // 视频通道号 public NET_CTRL_CLEAR_SECTION_STAT_INFO(){ this.dwSize = this.size(); } } //刻录设备回调函数原形,lAttachHandle是CLIENT_AttachBurnState返回值, 每次1条,pBuf->dwSize == nBufLen (pBuf->NET_CB_BACKUPTASK_STATE) public interface fAttachBackupTaskStateCB extends Callback { public void invoke (LLong lAttachHandle, Pointer pBuf, Pointer dwUser); }; //开始备份任务,pstInParam(NET_IN_START_BACKUP_TASK_INFO)与pstOutParam(NET_OUT_START_BACKUP_TASK_INFO)内存由用户申请释放 public boolean CLIENT_StartBackupTask(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); //停止备份任务public boolean CLIENT_StopBackupTask(LLong lBackupSession); //订阅备份状态,pstInParam(NET_IN_ATTACH_BACKUP_STATE)与pstOutParam(NET_OUT_ATTACH_BACKUP_STATE)内存由用户申请释放 public LLong CLIENT_AttachBackupTaskState(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); //取消订阅备份状态,lAttachHandle是CLIENT_AttachBackupTaskState返回值 public boolean CLIENT_DetachBackupTaskState(LLong lAttachHandle); // 获取安检门人数统计信息 //CLIENT_NET_API BOOL CALL_METHOD CLIENT_GetPopulationStatistics(LLONG lLoginID, const NET_IN_GET_POPULATION_STATISTICS *pInParam, NET_OUT_GET_POPULATION_STATISTICS *pOutParam, int nWaitTime); public boolean CLIENT_GetPopulationStatistics(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); // 订阅安检门人数变化信息,pstInParam与pstOutParam内存由用户申请释放 //CLIENT_NET_API LLONG CALL_METHOD CLIENT_AttachPopulationStatistics(LLONG lLoginID, NET_IN_ATTACH_GATE_POPULATION_STATISTICS_INFO* pstInParam, NET_OUT_ATTACH_GATE_POPULATION_STATISTICS_INFO* pstOutParam , int nWaitTime); public LLong CLIENT_AttachPopulationStatistics(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); // 取消订阅安检门人数变化信息 lPopulationStatisticsHandle 为 CLIENT_AttachPopulationStatistics 返回的句柄 //CLIENT_NET_API BOOL CALL_METHOD CLIENT_DetachPopulationStatistics(LLONG lPopulationStatisticsHandle); public boolean CLIENT_DetachPopulationStatistics(LLong lPopulationStatisticsHandle); //创建车辆组 // CLIENT_NET_API BOOL CALL_METHOD CLIENT_CreateGroupForVehicleRegisterDB(LLONG lLoginID, const NET_IN_CREATE_GROUP_FOR_VEHICLE_REG_DB *pInParam, NET_OUT_CREATE_GROUP_FOR_VEHICLE_REG_DB *pOutParam, int nWaitTime); public boolean CLIENT_CreateGroupForVehicleRegisterDB(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); //删除车辆组 // CLIENT_NET_API BOOL CALL_METHOD CLIENT_DeleteGroupFromVehicleRegisterDB(LLONG lLoginID, const NET_IN_DELETE_GROUP_FROM_VEHICLE_REG_DB *pInParam, NET_OUT_DELETE_GROUP_FROM_VEHICLE_REG_DB *pOutParam, int nWaitTime); public boolean CLIENT_DeleteGroupFromVehicleRegisterDB(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); //向车牌库添加车辆信息 // CLIENT_NET_API BOOL CALL_METHOD CLIENT_MultiAppendToVehicleRegisterDB(LLONG lLoginID, const NET_IN_MULTI_APPEND_TO_VEHICLE_REG_DB *pInParam, NET_OUT_MULTI_APPEND_TO_VEHICLE_REG_DB *pOutParam, int nWaitTime); public boolean CLIENT_MultiAppendToVehicleRegisterDB(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); // 开包工作台上报开包检查信息 // CLIENT_NET_API BOOL CALL_METHOD CLIENT_UploadUnpackingCheckInfo(LLONG lLoginID, const NET_IN_UPLOAD_UPPACKING_CHECK_INFO* pInParam, NET_OUT_UPLOAD_UPPACKING_CHECK_INFO* pOutParam, int nWaitTime); public boolean CLIENT_UploadUnpackingCheckInfo(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 网络应用组件,公司内部接口 * 可用于获取前端设备的网络资源数据,如网络收发数据的速率等,pstuIn与pstuOut内存由用户申请释放,大小参照emType对应的结构体 * @param lLoginID 登录句柄 * @param emType 网络应用组件 操作类型 EM_RPC_NETAPP_TYPE * @param pstuIn 对应操作入参 * @param pstuOut 对应操作出参 * @param nWaitTime 超时时间 * @return 添加是否成功 */ public boolean CLIENT_RPC_NetApp(LLong lLoginID, int emType, Pointer pstuIn, Pointer pstuOut, int nWaitTime); /** * 雷达操作 * @param lLoginID 登录句柄 * @param emType 网络应用组件 操作类型 EM_RADAR_OPERATE_TYPE * @param pInBuf 对应操作入参 * @param pOutBuf 对应操作出参 * @param nWaitTime 超时时间 * @return 是否成功 */ public boolean CLIENT_RadarOperate(LLong lLoginID, int emType, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 设置信号机备份模式,pInParam与pOutParam内存由用户申请释放 * @param lLoginID 登录句柄 * @param pInParam -> NET_IN_SET_BACKUP_MODE * @param pOutParam -> NET_OUT_SET_BACKUP_MODE * @param nWaitTime 超时时间 * @return 是否成功 */ public boolean CLIENT_SetRtscBackupMode(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 设置信号机运行模式,pInParam与pOutParam内存由用户申请释放 * @param lLoginID 登录句柄 * @param pInParam -> NET_IN_SET_RUNNING_MODE * @param pOutParam -> NET_OUT_SET_RUNNING_MODE * @param nWaitTime 超时时间 * @return 是否成功 */ public boolean CLIENT_SetRtscRunningMode(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 获取信号机运行模式,pInParam与pOutParam内存由用户申请释放 * @param lLoginID 登录句柄 * @param pInParam -> NET_IN_GET_RUNNING_MODE * @param pOutParam -> NET_OUT_GET_RUNNING_MODE * @param nWaitTime 超时时间 * @return 是否成功 */ public boolean CLIENT_GetRtscRunningMode(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 获取信号机全局配置,pInParam与pOutParam内存由用户申请释放 * @param lLoginID 登录句柄 * @param pInParam -> NET_IN_GET_GLOBAL_PARAMETER * @param pOutParam -> NET_OUT_GET_GLOBAL_PARAMETER * @param nWaitTime 超时时间 * @return 是否成功 */ public boolean CLIENT_GetRtscGlobalParam(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 设置信号机全局配置,pInParam与pOutParam内存由用户申请释放 * @param lLoginID 登录句柄 * @param pInParam -> NET_IN_SET_GLOBAL_PARAMETER * @param pOutParam -> NET_OUT_SET_GLOBAL_PARAMETER * @param nWaitTime 超时时间 * @return 是否成功 */ public boolean CLIENT_SetRtscGlobalParam(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 获取信号机运行信息,pInParam与pOutParam内存由用户申请释放 * @param lLoginID 登录句柄 * @param pInParam -> NET_IN_GET_RUNNING_INFO * @param pOutParam -> NET_OUT_GET_RUNNING_INFO * @param nWaitTime 超时时间 * @return 是否成功 */ public boolean CLIENT_GetRtscRunningInfo(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); // 手动选择球机要跟踪的轨迹目标 // CLIENT_NET_API BOOL CALL_METHOD CLIENT_RadarManualTrack(LLONG lLoginID, const NET_IN_RADAR_MANUAL_TRACK* pstInParam, NET_OUT_RADAR_MANUAL_TRACK* pstOutParam, int nWaitTime); public boolean CLIENT_RadarManualTrack(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 西欧报警主机获取操作 * @param lLoginID * @param emType NET_EM_GET_ALARMREGION_INFO 的枚举值 * @param nWaitTime * @return boolean */ public boolean CLIENT_GetAlarmRegionInfo(LLong lLoginID, int emType, Pointer pstuInParam, Pointer pstuOutParam, int nWaitTime); /** * 标定球机和蓄水池污点位置 * @param lLoginID * @param pstInParam -> NET_IN_SET_PTZ_WASH_POSISTION_INFO * @param pstOutParam -> NET_OUT_SET_PTZ_WASH_POSISTION_INFO * @param dwWaitTime * @return boolean */ public boolean CLIENT_PtzSetWashPosistion(LLong lLoginID, NET_IN_SET_PTZ_WASH_POSISTION_INFO pstInParam, NET_OUT_SET_PTZ_WASH_POSISTION_INFO pstOutParam, int dwWaitTime); /** * 获取标定后的冲洗信息 * @param lLoginID * @param pstInParam -> NET_IN_GET_PTZ_WASH_INFO * @param pstOutParam -> NET_OUT_GET_PTZ_WASH_INFO * @param dwWaitTime * @return boolean */ public boolean CLIENT_PtzGetWashInfo(LLong lLoginID, NET_IN_GET_PTZ_WASH_INFO pstInParam, NET_OUT_GET_PTZ_WASH_INFO pstOutParam, int dwWaitTime); /** *按文件方式回放(lpRecordFile内存由用户申请释放) * @param lLoginID * @param lpRecordFile -> LPNET_RECORDFILE_INFO * @param hWnd -> Pointer * @param cbDownLoadPos -> fDownLoadPosCallBack * @param dwUserData * @return boolean */ public LLong CLIENT_PlayBackByRecordFile(LLong lLoginID,NET_RECORDFILE_INFO lpRecordFile,Pointer hWnd,fDownLoadPosCallBack cbDownLoadPos,Pointer dwUserData); // 开始查找录像文件 public LLong CLIENT_FindFile(LLong lLoginID, int nChannelId, int nRecordFileType, Pointer cardid, NET_TIME time_start, NET_TIME time_end, boolean bTime, int waittime); /** * 订阅人群分布图实时统计信息 * @param lLoginID 登陆句柄 * @param pstInParam -> NET_IN_ATTACH_CROWDDISTRI_MAP_INFO 输入参数, 由用户申请资源 * @param pstOutParam -> NET_OUT_ATTACH_CROWDDISTRI_MAP_INFO 输出参数, 由用户申请资源 * @param nWaitTime 等待超时时间 * @return LLong 订阅句柄 */ public LLong CLIENT_AttachCrowdDistriMap(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 订阅人群分布图实时统计信息回调函数原型, * lAttachHandle为CLIENT_AttachCrowdDistriMap接口的返回值, * pstResult 解析结构体为 NET_CB_CROWD_DISTRI_STREAM_INFO */ public interface fCrowdDistriStream extends Callback { public void invoke (LLong lAttachHandle, Pointer pstResult,Pointer dwUser); } /** * 取消订阅人群分布图实时统计信息 * @param lAttachHandle 订阅句柄,为接口CLIENT_AttachCrowdDistriMap的返回值 * @return boolean */ public boolean CLIENT_DetachCrowdDistriMap(LLong lAttachHandle); /** * 获取人群分布图全局和区域实时人数统计值 * @param lLoginID 登陆句柄 * @param pstInParam -> NET_IN_GETSUMMARY_CROWDDISTRI_MAP_INFO 接口输入参数 * @param pstOutParam -> NET_OUT_GETSUMMARY_CROWDDISTRI_MAP_INFO 接口输出参数 * @param nWaitTime 等待超时时间 * @return boolean */ public boolean CLIENT_GetSummaryCrowdDistriMap(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 下发人员信息录入结果 * @param lLoginID 登陆句柄 * @param pstInParam -> NET_IN_PERSON_INFO_INPUT_RESULT 接口输入参数 * @param pstOutParam -> NET_OUT_PERSON_INFO_INPUT_RESULT 接口输出参数 * @param nWaitTime 等待超时时间 * @return boolean */ public boolean CLIENT_SetPersonInfoInputResult(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 根据查询条件返回录像备份任务的信息表,pInParam与pOutParam内存由用户申请释放 * @param lLoginID 登陆句柄 * @param pInParam -> NET_IN_FIND_REC_BAK_RST_TASK 接口输入参数 * @param pOutParam -> NET_OUT_FIND_REC_BAK_RST_TASK 接口输出参数 * @param nWaitTime 等待超时时间 * @return boolean */ public boolean CLIENT_FindRecordBackupRestoreTaskInfos(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 功能描述:异步纯透传订阅接口 * @param lLoginID 登录接口返回的句柄 * @param pInParam -> NET_IN_ATTACH_TRANSMIT_INFO 异步纯透传接口输入参数 * @param pOutParam -> NET_OUT_ATTACH_TRANSMIT_INFO 异步纯透传接口输出参数 * @param nWaittime 接口超时时间 * @return LLong 异步纯透传句柄 */ public LLong CLIENT_AttachTransmitInfo(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * CLIENT_AttachTransmitInfo()回调函数原型,第一个参数lAttachHandle是CLIENT_AttachTransmitInfo返回值, */ public interface AsyncTransmitInfoCallBack extends Callback { public void invoke (LLong lAttachHandle, NET_CB_TRANSMIT_INFO pTransmitInfo,Pointer dwUser); } /** * 功能描述:异步纯透传取消订阅接口 * @param lAttachHandle 异步纯透传句柄,即CLIENT_AttachTransmitInfo接口的返回值 * @param pInParam -> NET_IN_DETACH_TRANSMIT_INFO 异步纯透传取消订阅接口输入参数 * @param pOutParam -> NET_OUT_DETACH_TRANSMIT_INFO 异步纯透传取消订阅接口输出参数 * @param nWaittime 接口超时时间 * @return boolean TRUE :成功; FALSE :失败 */ public boolean CLIENT_DetachTransmitInfo(LLong lAttachHandle, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 雷达订阅RFID卡片信息 * @param lLoginID 登陆句柄 * @param pstInParam -> NET_IN_ATTACH_RADAR_RFIDCARD_INFO 接口输入参数 * @param pstOutParam -> NET_OUT_ATTACH_RADAR_RFIDCARD_INFO 接口输出参数 * @param nWaitTime 等待超时时间 * @return LLong */ public LLong CLIENT_AttachRadarRFIDCardInfo(LLong lLoginID, NET_IN_ATTACH_RADAR_RFIDCARD_INFO pstInParam, NET_OUT_ATTACH_RADAR_RFIDCARD_INFO pstOutParam, int nWaitTime); /** * 雷达取消订阅RFID卡片信息 * @param lAttachHandle 订阅句柄 * @return boolean */ public boolean CLIENT_DetachRadarRFIDCardInfo(LLong lAttachHandle); /** * 查询RFID的工作模式 * @param lLoginID 登陆句柄 * @param pstInParam -> NET_IN_RADAR_GET_RFID_MODE 接口输入参数 * @param pstOutParam -> NET_OUT_RADAR_GET_RFID_MODE 接口输出参数 * @param nWaitTime 等待超时时间 * @return boolean */ public boolean CLIENT_GetRadarRFIDMode(LLong lLoginID, NET_IN_RADAR_GET_RFID_MODE pstInParam, NET_OUT_RADAR_GET_RFID_MODE pstOutParam, int nWaitTime); /** * 设置RFID的工作模式 * @param lLoginID 登陆句柄 * @param pstInParam -> NET_IN_RADAR_SET_RFID_MODE 接口输入参数 * @param pstOutParam -> NET_OUT_RADAR_SET_RFID_MODE 接口输出参数 * @param nWaitTime 等待超时时间 * @return boolean */ public boolean CLIENT_SetRadarRFIDMode(LLong lLoginID, NET_IN_RADAR_SET_RFID_MODE pstInParam, NET_OUT_RADAR_SET_RFID_MODE pstOutParam, int nWaitTime); /** * 按条件删除车牌库中的车牌 * @param lLoginID 登陆句柄 * @param pstInParam -> NET_IN_DEL_BY_CONDITION_FROM_VEHICLE_REG_DB 接口输入参数 * @param pstOutParam -> NET_OUT_DEL_BY_CONDITION_FROM_VEHICLE_REG_DB 接口输出参数 * @param nWaitTime 等待超时时间 * @return boolean */ public boolean CLIENT_DeleteByConditionFromVehicleRegisterDB(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * 设置消费结果 * @param lLoginID 登陆句柄 * @param pInParam -> NET_IN_SET_CONSUME_RESULT 接口输入参数 * @param pOutParam -> NET_OUT_SET_CONSUME_RESULT 接口输出参数 * @param nWaitTime 等待超时时间 * @return boolean */ public boolean CLIENT_SetConsumeResult(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 远程休眠模式 * @param lLoginID 登录句柄 * @param pInParam -> NET_IN_REMOTE_SLEEP 接口输入参数 * @param pOutParam -> NET_OUT_REMOTE_SLEEP 接口输出参数 * @param nWaitTime 等待超时时间 * @return boolean */ public boolean CLIENT_RemoteSleep(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 自定义定时抓图订阅接口(目前智慧养殖猪温检测在用) * @param lLoginID 登录句柄 * @param pInParam -> NET_IN_ATTACH_CUSTOM_SNAP_INFO 接口输入参数 * @param pOutParam -> NET_OUT_ATTACH_CUSTOM_SNAP_INFO 接口输出参数 * @param nWaitTime 等待超时时间 * @return LLong */ public LLong CLIENT_AttachCustomSnapInfo(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 自定义定时抓图订阅回调函数原型, * @param lAttachHandle 为 CLIENT_AttachCustomSnapInfo 接口的返回值 * @param pstResult 参考结构体 NET_CB_CUSTOM_SNAP_INFO */ public interface fAttachCustomSnapInfo extends Callback { public void invoke(LLong lAttachHandle,Pointer pstResult,Pointer pBuf,int dwBufSize,Pointer dwUser); } /** * 取消自定义定时抓图订阅接口(目前智慧养殖猪温检测在用) * @param lAttachHandle 订阅句柄 * @return boolean */ public boolean CLIENT_DetachCustomSnapInfo(LLong lAttachHandle); /** * 物模型属性订阅回调函数原型, lAttachHandle为CLIENT_AttachThingsInfo接口的返回值 * @param lAttachHandle 订阅句柄 * @param pstResult 物模型属性订阅回调信息, 参考{@link NET_CB_THINGS_INFO} * @return void */ public interface fThingsCallBack extends Callback { public void invoke(LLong lAttachHandle,Pointer pstResult,Pointer dwUserData); } /** * 停止获取设备历史数据 * @param lFindHandle 查找句柄 * @return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_StopThingsHistoryData(LLong lFindHandle); /** * 获取设备历史数据结果接口 * @param lFindHandle 查找句柄 * @param pstInParam 接口输入参数,参考{@link NET_IN_THINGS_DOFIND_HISTORYDATA} * @param pstOutParam 接口输出参数, 参考{@link NET_OUT_THINGS_DOFIND_HISTORYDATA} * @param nWaitTime 接口超时时间, 单位毫秒 * @return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DoFindThingsHistoryData(LLong lFindHandle,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * 开始获取设备历史数据接口 * @param lLoginID 登录句柄 * @param pstInParam 接口输入参数,参考{@link NET_IN_THINGS_START_HISTORYDATA} * @param pstOutParam 接口输出参数, 参考{@link NET_OUT_THINGS_START_HISTORYDATA} * @param nWaitTime 接口超时时间, 单位毫秒 * @return TRUE表示成功 FALSE表示失败 */ public LLong CLIENT_StartThingsHistoryData(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * 智慧用电Things物模型服务调用接口 * @param lLoginID 登录句柄 * @param emType 物模型服务类型,参考{@link EM_THINGS_SERVICE_TYPE} * @param pInBuf 接口输入参数,参考emType类型,内存资源由用户申请和释放 * @param pOutBuf 接口输出参数,参考emType类型,内存资源由用户申请和释放 * @param nWaitTime 接口超时时间, 单位毫秒 * @return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_ThingsServiceOperate(LLong lLoginID, int emType, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 智慧用电Things获取设备连接状态信息接口 * @param lLoginID 登录句柄 * @param pInParam 接口输入参数,参考{@link NET_IN_THINGS_GET_NETSTATE} * @param pOutParam 接口输出参数, 参考{@link NET_OUT_THINGS_GET_NETSTATE} * @param nWaitTime 接口超时时间, 单位毫秒 * @return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetThingsNetState(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 智慧用电Things获取设备列表接口 * @param lLoginID 登录句柄 * @param pInParam 接口输入参数,参考{@link NET_IN_THINGS_GET_DEVLIST} * @param pOutParam 接口输出参数, 参考{@link NET_OUT_THINGS_GET_DEVLIST} * @param nWaitTime 接口超时时间, 单位毫秒 * @return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetThingsDevList(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 智慧用电Things获取设备能力集接口 * @param lLoginID 登录句柄 * @param pInParam 接口输入参数,参考{@link NET_IN_THINGS_GET_CAPS} * @param pOutParam 接口输出参数, 参考{@link NET_OUT_THINGS_GET_CAPS} * @param nWaitTime 接口超时时间, 单位毫秒 * @return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetThingsCaps(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 智慧用电Things取消物模型属性订阅接口 * @param lAttachHandle 订阅句柄 * @return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DetachThingsInfo(LLong lAttachHandle); /** * 智慧用电Things物模型属性订阅接口 * @param lLoginID 登录句柄 * @param pInParam 接口输入参数,参考{@link NET_IN_THINGS_ATTACH} * @param pOutParam 接口输出参数, 参考{@link NET_OUT_THINGS_ATTACH} * @param nWaitTime 接口超时时间, 单位毫秒 * @return 订阅句柄 */ public LLong CLIENT_AttachThingsInfo(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 智慧用电Things配置设置接口 * @param lLoginID 登录句柄 * @param pInParam 接口输入参数,参考{@link NET_IN_THINGS_SET} * @param pOutParam 接口输出参数, 参考{@link NET_OUT_THINGS_SET} * @param nWaitTime 接口超时时间, 单位毫秒 * @return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetThingsConfig(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 智慧用电Things配置获取接口 * @param lLoginID 登录句柄 * @param pInParam 接口输入参数,参考{@link NET_IN_THINGS_GET} * @param pOutParam 接口输出参数, 参考{@link NET_OUT_THINGS_GET} * @param nWaitTime 接口超时时间, 单位毫秒 * @return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetThingsConfig(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 获取流量统计信息,pstInParam与pstOutParam内存由用户申请释放 * @param lLoginID 登录句柄 * @param pstInParam 接口输入参数,参考{@link NET_IN_TRAFFICSTARTFINDSTAT} * @param pstOutParam 接口输出参数, 参考{@link NET_OUT_TRAFFICSTARTFINDSTAT} * @return 查询句柄 */ public LLong CLIENT_StartFindFluxStat(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam); /** *@brief 继续查询流量统计,pstInParam与pstOutParam内存由用户申请释放 * @param lFindHandle 查询句柄 * @param pstInParam 接口输入参数,参考{@link NET_IN_TRAFFICDOFINDSTAT} * @param pstOutParam 接口输出参数, 参考{@link NET_OUT_TRAFFICDOFINDSTAT} * @return */ public int CLIENT_DoFindFluxStat(LLong lFindHandle,Pointer pstInParam,Pointer pstOutParam); /** * 结束查询流量统计 */ public boolean CLIENT_StopFindFluxStat(LLong lFindHandle); /** * 获取智能订阅参数CustomInfo的格式化字符串能力 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_GET_CUSTOMINFO_CAPS} *param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_GET_CUSTOMINFO_CAPS} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetCustomInfoCaps(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 获取温度值 * @param lLoginID 登录句柄 * @param pInParam 接口输入参数,参考{@link NET_IN_GET_TEMPERATUREEX} * @param pstOutParam 接口输出参数, 参考{@link NET_OUT_GET_TEMPERATUREEX} * @return 查询句柄 */ public boolean CLIENT_FaceBoard_GetTemperatureEx(LLong lLoginID, Pointer pInParam, Pointer pstOutParam, int nWaitTime); /** * 考试计划 * CLIENT_SetExamRecordingPlans 接口入参 * CLIENT_SetExamRecordingPlans 接口出参 * 添加考试录像计划 *param[in] lLoginID: 登录句柄 *param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_SET_EXAM_RECORDING_PLANS} *param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_SET_EXAM_RECORDING_PLANS} *param[in] nWaitTime: 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetExamRecordingPlans(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 获取SMART扫描信息 * @param lLoginID 登录句柄 * @param pstuInParam 接口输入参数,参考{@link NET_IN_GET_DEV_STORAGE_SMART_VALUE} * @param pstuOutParam 接口输出参数, 参考{@link NET_OUT_GET_DEV_STORAGE_SMART_VALUE} * @param nWaitTime 接口超时时间, 单位毫秒 * @return */ public boolean CLIENT_GetDevStorageSmartValue(LLong lLoginID, Pointer pstuInParam, Pointer pstuOutParam, int nWaitTime); /** * 获取设备各网卡的上传与发送速率 * @param lLoginID 登录句柄 * @param pstuInParam 接口输入参数,参考{@link NET_IN_GET_DEVICE_ETH_BAND_INFO} * @param pstuOutParam 接口输出参数, 参考{@link NET_OUT_GET_DEVICE_ETH_BAND_INFO} * @param nWaitTime 接口超时时间, 单位毫秒 * @return */ public boolean CLIENT_GetDeviceEthBandInfo(LLong lLoginID, Pointer pstuInParam, Pointer pstuOutParam, int nWaitTime); /** *@ingroup functions *@brief 销毁业务sdk模块 *@param[in] lSubBizHandle 业务sdk句柄,由CLIENT_CreateSubBusinessModule接口返回 *@retval BOOL *@return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DestroySubBusinessModule(LLong lSubBizHandle); /** *@ingroup functions *@brief 创建业务sdk模块 *@param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 NET_IN_CREAT_SUB_BUSINESS_MDL_INFO *@param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 NET_OUT_CREAT_SUB_BUSINESS_MDL_INFO *@retval LLONG *@return 业务sdk句柄,非0表示成功 0表示失败 */ public LLong CLIENT_CreateSubBusinessModule(Pointer pInParam,Pointer pOutParam); /** *@ingroup functions *@brief 启动子连接监听服务 *@param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 NET_IN_START_SUBLINK_LISTEN_SERVER *@param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 NET_OUT_START_SUBLINK_LISTEN_SERVER *@retval LLONG *@return 子链接监听服务句柄, 非0表示成功 0表示失败 */ public LLong CLIENT_StartSubLinkListenServer(Pointer pInParam,Pointer pOutParam); /** *@ingroup functions *@brief 停止子连接监听服务 *@param[in] lListenServer 监听服务句柄,由CLIENT_StartSubLinkListenServer接口返回 *@retval BOOL *@return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_StopSubLinkListenServer(LLong lListenServer); /** *@ingroup functions *@brief 发送创建子连接所需的信息给设备, 由主业务模块调用 *@param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 NET_IN_TRANSFER_SUBLINK_INFO *@param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 NET_OUT_TRANSFER_SUBLINK_INFO *@param[in] nWaitTime 接口超时时间, 单位毫秒 *@retval BOOL *@return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_TransferSubLinkInfo(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** *@ingroup functions *@brief 设置私有透传通道参数 *@param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 NET_IN_SET_TRANSMITTUNNEL_PARAM *@param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 NET_OUT_SET_TRANSMITTUNNEL_PARAM *@retval BOOL *@return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetTransmitTunnelParam(Pointer pInParam,Pointer pOutParam); /** *@ingroup functions *@brief 创建隧道 *@param[in] lSubBizHandle 业务sdk句柄,由CLIENT_CreateSubBusinessModule接口返回 *@param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 NET_IN_CREATE_TRANSMIT_TUNNEL *@param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 NET_OUT_CREATE_TRANSMIT_TUNNEL *@retval LLONG *@return 透传隧道业务句柄,非0表示成功 0表示失败 */ public LLong CLIENT_CreateTransmitTunnel(LLong lSubBizHandle,Pointer pInParam,Pointer pOutParam); /** *@ingroup functions *@brief 销毁隧道 *@param[in] lTransmitHandle 透传隧道业务句柄,由CLIENT_CreateTransmitTunnel接口返回 *@retval BOOL *@return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DestroyTransmitTunnel(LLong lTransmitHandle); /** *@ingroup callback *@brief 子连接监听服务回调函数原型 *@param[out] lListenServer 子链接监听服务句柄, 由CLIENT_StartSubLinkListenServer接口返回 *@param[out] lSubBizHandle 分压业务sdk句柄, 由CLIENT_CreateSubBusinessModule接口返回 *@param[out] pstSubLinkCallBack 子链接监听服务回调信息 NET_SUBLINK_SERVER_CALLBACK *@retval void */ public interface fSubLinkServiceCallBack extends Callback { public void invoke(LLong lListenServer,LLong lSubBizHandle,Pointer pstSubLinkCallBack); } /** *@ingroup callback *@brief 隧道业务连接断开回调 *@param[out] lSubBizHandle 下载句柄, 由CLIENT_CreateSubBusinessModule接口返回 *@param[out] lOperateHandle 业务句柄 *@param[out] pstDisConnectInfo 断线回调数据 NET_TRANSMIT_DISCONNECT_CALLBACK *@retval void */ public interface fTransmitDisConnectCallBack extends Callback { public void invoke(LLong lSubBizHandle,LLong lOperateHandle,Pointer pstDisConnectInfo); } /** *@ingroup functions *@brief 获取/设置解码窗口输出OSD信息扩展接口(pInparam, pOutParam内存由用户申请释放) *@param[in] lLoginHandle 登录句柄 *@param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_SPLIT_GET_OSD_EX} *@param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_SPLIT_GET_OSD_EX} *@param[in] nWaitTime 接口超时时间, 单位毫秒 *@retval BOOL *@return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetSplitOSDEx(LLong lLoginHandle, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** *@ingroup functions *@brief 获取/设置解码窗口输出OSD信息扩展接口(pInparam, pOutParam内存由用户申请释放) *@param[in] lLoginHandle 登录句柄 *@param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_SPLIT_SET_OSD_EX} *@param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_SPLIT_SET_OSD_EX} *@param[in] nWaitTime 接口超时时间, 单位毫秒 *@retval BOOL *@return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetSplitOSDEx(LLong lLoginHandle, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** *@ingroup functions *@brief 销毁隧道 *@param[in] lLoginHandle 登录句柄 *@param[in] emType 入参类型枚举,{@link NET_SPLIT_OPERATE_TYPE} *@param[in] pInParam 接口输入参数, 内存资源由用户申请和释放,类型参考枚举注释{@link NET_SPLIT_OPERATE_TYPE} *@param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放,类型参考枚举注释{@link NET_SPLIT_OPERATE_TYPE} *@param[in] nWaitTime 接口超时时间, 单位毫秒 *@retval BOOL *@return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_OperateSplit(LLong lLoginHandle, int emType, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 根据中心公钥获取锁具随机公钥 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_GET_DYNAMIC_LOCK_RANDOM_PUBLICKEY_INFO} *param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_GET_DYNAMIC_LOCK_RANDOM_PUBLICKEY_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetDynamicLockRandomPublicKey(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 设置通讯秘钥 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_SET_DYNAMIC_LOCK_COMMUNICATIONKEY_INFO} *param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_SET_DYNAMIC_LOCK_COMMUNICATIONKEY_INFO} *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetDynamicLockCommunicationKey(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 设置开锁密钥 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_SET_DYNAMIC_LOCK_OPENKEY_INFO} *param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_SET_DYNAMIC_LOCK_OPENKEY_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetDynamicLockOpenKey(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 设置临时身份码 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_SET_DYNAMIC_LOCK_TEMP_USERID_INFO} *param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_SET_DYNAMIC_LOCK_TEMP_USERID_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetDynamicLockTempUserID(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 设置开锁码 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_SET_DYNAMIC_LOCK_OPEN_CODE_INFO} *param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_SET_DYNAMIC_LOCK_OPEN_CODE_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetDynamicLockOpenCode(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 推送智能分析图片文件和规则信息,当CLIENT_AddAnalyseTask的数据源类型emDataSourceType为 EM_DATA_SOURCE_PUSH_PICFILE_BYRULE 时使用 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_PUSH_ANALYSE_PICTURE_FILE_BYRULE} *param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_PUSH_ANALYSE_PICTURE_FILE_BYRULE} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_PushAnalysePictureFileByRule(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 指定智能事件解析所用的结构体 用于解决java大结构体new对象慢导致的问题.该接口全局有效,建议在SDK初始化前调用 * @param pInParam 接口输入参数, 内存资源由用户申请和释放,参考{@link NET_IN_SET_IVSEVENT_PARSE_INFO} * @return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetIVSEventParseType(NET_IN_SET_IVSEVENT_PARSE_INFO pInParam); /** * 平台下发轮询配置 * param[in] lLoginID 登录句柄 * param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_SET_POLLING_CONFIG} * param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_SET_POLLING_CONFIG} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetPollingConfig(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 按通道获取设备智能业务的运行状态 *param[in] lLoginID 登录句柄 *param[in] pstuInParam 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_GET_CHANNEL_STATE} *param[out] pstuOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_GET_CHANNEL_STATE} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetChannelState(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 获取隐私遮挡列表 * param[in] lLoginID 登录句柄 * param[in] pstuInParam 接口输入参数 ,{@link NET_IN_GET_PRIVACY_MASKING} * param[out]pstuOutParam 接口输出参数,,{@link NET_OUT_GET_PRIVACY_MASKING} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetPrivacyMasking(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 设置隐私遮挡列表 * param[in] lLoginID 登录句柄 * param[in] pstuInParam 接口输入参数 ,{@link NET_IN_SET_PRIVACY_MASKING} * param[out]pstuOutParam 接口输出参数,,{@link NET_OUT_SET_PRIVACY_MASKING} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetPrivacyMasking(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 使能或关闭所有隐私遮挡块 * param[in] lLoginID 登录句柄 * param[in] pstuInParam 接口输入参数 ,{@link NET_IN_SET_PRIVACY_MASKING_ENABLE} * param[out]pstuOutParam 接口输出参数,,{@link NET_OUT_SET_PRIVACY_MASKING_ENABLE} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetPrivacyMaskingEnable(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 获取隐私遮挡总开关使能状态 * param[in] lLoginID 登录句柄 * param[in] pstuInParam 接口输入参数 ,{@link NET_IN_GET_PRIVACY_MASKING_ENABLE} * param[out]pstuOutParam 接口输出参数,,{@link NET_OUT_GET_PRIVACY_MASKING_ENABLE} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetPrivacyMaskingEnable(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 跳转到隐私遮档块 * param[in] lLoginID 登录句柄 * param[in] pstuInParam 接口输入参数 ,{@link NET_IN_GOTO_PRIVACY_MASKING} * param[out]pstuOutParam 接口输出参数,,{@link NET_OUT_GOTO_PRIVACY_MASKING} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GotoPrivacyMasking(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 删除隐私遮档块 * param[in] lLoginID 登录句柄 * param[in] pstuInParam 接口输入参数 ,{@link NET_IN_DELETE_PRIVACY_MASKING} * param[out]pstuOutParam 接口输出参数,,{@link NET_OUT_DELETE_PRIVACY_MASKING} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DeletePrivacyMasking(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 清除遮挡 * param[in] lLoginID 登录句柄 * param[in] pstuInParam 接口输入参数 ,{@link NET_IN_CLEAR_PRIVACY_MASKING} * param[out]pstuOutParam 接口输出参数,,{@link NET_OUT_CLEAR_PRIVACY_MASKING} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_ClearPrivacyMasking(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 远程复位(消防) * param[in] lLoginID 登录句柄 * param[in] emType 操作类型枚举,{@link EM_RADAR_OPERATE_TYPE} * param[in] pInParam 接口输入参数 ,参考emType * param[out]pOutParam 接口输出参数 ,参考emType * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_RadarOperate(LLong lLoginID, EM_RADAR_OPERATE_TYPE emType, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 订阅mini雷达的报警点信息 * param[in] lLoginID 登录句柄 * param[in] pInParam 接口输入参数 ,{@link NET_IN_MINI_RADAR_ALARMPOINTINFO} * param[out]pOutParam 接口输出参数 ,{@link NET_OUT_MINI_RADAR_ALARMPOINTINFO} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public LLong CLIENT_AttachMiniRadarAlarmPointInfo(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 远程复位(消防) * param[in] lLoginID 登录句柄 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DetachMiniRadarAlarmPointInfo(LLong lAttachHandle); /** * 远程复位(消防) * param[in] lLoginID 登录句柄 * param[in] pInParam 接口输入参数 ,{@link NET_IN_SMOKE_REMOTE_REBOOT_INFO} * param[out]pOutParam 接口输出参数 ,{@link NET_OUT_SMOKE_REMOTE_REBOOT_INFO} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SmokeRemoteReboot(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * mini雷达报警点信息 * 上报的mini雷达报警点信息 * mini雷达报警点信息回调函数指针 */ public interface fMiniRadarAlarmPointInfoCallBack extends Callback { /** * * @param lLoginId 登录句柄 * @param lAttachHandle 订阅句柄 * @param pBuf {@link com.netsdk.lib.structure.NET_MINI_RADAR_NOTIFY_ALARMPOINTINFO} * @param dwBufLen pBuf中结构体的长度 * @param pReserved 保留数据 * @param dwUser 用户自定义数据 */ public void invoke(LLong lLoginId, LLong lAttachHandle, Pointer pBuf, int dwBufLen, Pointer pReserved, Pointer dwUser); } /** * 获取业务库管理的舱位信息 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_GET_FINANCIAL_CABIN_INFO} *param[out] pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_GET_FINANCIAL_CABIN_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetFinancialCabinInfo(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 获取金库门状态 *param[in] lLoginID: 登录句柄 *param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_GET_VAULTDOOR_STATE_INFO} *param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_GET_VAULTDOOR_STATE_INFO} *param[in] nWaitTime: 接口超时时间, 单位毫秒 *return TRUE表示成功FALSE表示失败 */ public boolean CLIENT_GetVaultDoorState(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 获取金融柜体设备状态 *param[in] lLoginID: 登录句柄 *param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_GET_CABINET_STATE_INFO} *param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_GET_CABINET_STATE_INFO} *param[in] nWaitTime: 接口超时时间, 单位毫秒 *return TRUE表示成功FALSE表示失败 */ public boolean CLIENT_GetFinancialCabinetState(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 获取当前电梯运行信息 *param[in] lLoginID: 登录句柄 *param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放 {@link NET_IN_GET_ELEVATOR_WORK_INFO} *param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_GET_ELEVATOR_WORK_INFO} *param[in] nWaitTime: 接口超时时间, 单位毫秒 *return TRUE表示成功FALSE表示失败 */ public boolean CLIENT_GetElevatorWorkInfo(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 获取水质检测能力 *param[in] lLoginID 登录句柄 *param[in] pstuInParam 接口输入参数 {@link NET_IN_WATERDATA_STAT_SERVER_GETCAPS_INFO} *param[out]pstuOutParam 接口输出参数 {@link NET_OUT_WATERDATA_STAT_SERVER_GETCAPS_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public LLong CLIENT_GetWaterDataStatServerCaps(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 水质检测实时数据获取 *param[in] lLoginID 登录句柄 *param[in] pstuInParam 接口输入参数 {@link NET_IN_WATERDATA_STAT_SERVER_GETDATA_INFO} *param[out]pstuOutParam 接口输出参数 {@link NET_OUT_WATERDATA_STAT_SERVER_GETDATA_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public LLong CLIENT_GetWaterDataStatServerWaterData(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 开始水质检测报表数据查询 *param[in] lLoginID 登录句柄 *param[in] pstuInParam 接口输入参数 {@link NET_IN_START_FIND_WATERDATA_STAT_SERVER_INFO} *param[out]pstuOutParam 接口输出参数 {@link NET_OUT_START_FIND_WATERDATA_STAT_SERVER_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public LLong CLIENT_StartFindWaterDataStatServer(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 水质检测报表数据查询 *param[in] lLoginID 登录句柄 *param[in] pstuInParam 接口输入参数 {@link NET_IN_DO_FIND_WATERDATA_STAT_SERVER_INFO} *param[out]pstuOutParam 接口输出参数 {@link NET_OUT_DO_FIND_WATERDATA_STAT_SERVER_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public LLong CLIENT_DoFindWaterDataStatServer(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 停止水质检测报表数据查询 *param[in] lLoginID 登录句柄 *param[in] pstuInParam 接口输入参数 {@link NET_IN_STOP_FIND_WATERDATA_STAT_SERVER_INFO} *param[out]pstuOutParam 接口输出参数 {@link NET_OUT_STOP_FIND_WATERDATA_STAT_SERVER_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public LLong CLIENT_StopFindWaterDataStatServer(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 获取设备状态, DMSS专用接口, pInParam与pOutParam内存由用户申请释放 *param[in] lLoginID 登录句柄 *param[in] pstuInParam 接口输入参数 {@link NET_IN_UNIFIEDINFOCOLLECT_GET_DEVSTATUS} *param[out]pstuOutParam 接口输出参数 {@link NET_OUT_UNIFIEDINFOCOLLECT_GET_DEVSTATUS} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetUnifiedStatus(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 主从联动组, 操作接口,pInParam与pOutParam内存由用户申请释放,大小参照emOperateType对应的结构体 * param[in] lLoginID 登录句柄 * param[in] emOperateType 接口输入参数 ,参考枚举 {@link EM_MSGROUP_OPERATE_TYPE} * param[in] pInParam 接口输入参数 ,参考枚举对应的入参 * param[out] pOutParam 接口输出参数 ,参考枚举对应的出参 * param[in] nWaitTime 接口超时时间,默认3000, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_OperateMasterSlaveGroup(LLong lLoginID,int emOperateType,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 获取token, pstuInParam与pstuOutParam内存由用户申请释放 *param[in] lLoginID 登录句柄 *param[in] pstuInParam 接口输入参数 {@link NET_IN_MAKE_TOKEN} *param[out]pstuOutParam 接口输出参数 {@link NET_OUT_MAKE_TOKEN} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_MakeToken(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 获取共享文件夹工作目录信息 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数 {@link NET_IN_NAS_DIRECTORY_GET_INFO} *param[out] pstOutParam 接口输出参数 {@link NET_OUT_NAS_DIRECTORY_GET_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetNASDirectoryInfo(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * 根据文件路径获取外部导入文件信息 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数 {@link NET_IN_GET_FILE_INFO_BY_PATH_INFO} *param[out] pstOutParam 接口输出参数 {@link NET_OUT_GET_FILE_INFO_BY_PATH_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetFileManagerExFileInfoByPath(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /***************************工装合规接口Start***************************************************/ /** * 创建工装合规组 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数 {@link NET_IN_CREATE_WORKSUIT_COMPARE_GROUP} *param[out] pOutParam 接口输出参数 {@link NET_OUT_CREATE_WORKSUIT_COMPARE_GROUP} *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_CreateWorkSuitCompareGroup(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 删除工装合规组 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数 {@link NET_IN_DELETE_WORKSUIT_COMPARE_GROUP} *param[out] pOutParam 接口输出参数 {@link NET_OUT_DELETE_WORKSUIT_COMPARE_GROUP} *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DeleteWorkSuitCompareGroup(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 查找工装合规组信息 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数 {@link NET_IN_FIND_WORKSUIT_COMPARE_GROUP} *param[out] pOutParam 接口输出参数 {@link NET_OUT_FIND_WORKSUIT_COMPARE_GROUP} *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_FindWorkSuitCompareGroup(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 批量添加工装合规样本 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数 {@link NET_IN_MULTI_APPEND_TO_WORKSUIT_GROUP} *param[out] pOutParam 接口输出参数 {@link NET_OUT_MULTI_APPEND_TO_WORKSUIT_GROUP} *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_MultiAppendToWorkSuitCompareGroup(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 通过全景图唯一标识符删除工装合规样本 *param[in] lLoginID 登录句柄 *param[in] pInParam 接口输入参数 {@link NET_IN_DELETE_WORKSUIT_BY_SOURCEUID} *param[out] pOutParam 接口输出参数 {@link NET_OUT_DELETE_WORKSUIT_BY_SOURCEUID} *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DeleteWorkSuitBySourceUID(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /***************************工装合规接口End***************************************************/ /** * 区分报表查询, 单独实现一套全量查询数据接口 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数 {@link NET_IN_START_FIND_DETAIL_CLUSTER} *param[out] pstOutParam 接口输出参数 {@link NET_OUT_START_FIND_DETAIL_CLUSTER} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_StartFindDetailNumberStatCluster(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * 分批查询全量记录 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数 {@link NET_IN_DO_FIND_DETAIL_CLUSTER} *param[out] pstOutParam 接口输出参数 {@link NET_OUT_DO_FIND_DETAIL_CLUSTER} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DoFindDetailNumberStatCluster(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * 停止查询 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数{@link NET_IN_STOP_FIND_DETAIL_CLUSTER_INFO} *param[out] pstOutParam 接口输出参数 {@link NET_OUT_STOP_FIND_DETAIL_CLUSTER_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_StopFindDetailNumberStatCluster(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * 平台主动获取设备聚档状态 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数{@link NET_IN_GET_CLUSTER_STATE_INFO} *param[out] pstOutParam 接口输出参数{@link NET_OUT_GET_CLUSTER_STATE_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetClusterState(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * 获取烟感数据 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数{@link NET_IN_GET_SMOKE_DATA} *param[out] pstOutParam 接口输出参数{@link NET_OUT_GET_SMOKE_DATA} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetSmokeData(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 修改车辆组 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数{@link NET_IN_MODIFY_GROUP_FOR_VEHICLE_REG_DB} *param[out] pstOutParam 接口输出参数{@link NET_OUT_MODIFY_GROUP_FOR_VEHICLE_REG_DB} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_ModifyGroupForVehicleRegisterDB(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 查找车辆组信息 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数{@link NET_IN_FIND_GROUP_FROM_VEHICLE_REG_DB} *param[out] pstOutParam 接口输出参数{@link NET_OUT_FIND_GROUP_FROM_VEHICLE_REG_DB} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_FindGroupFormVehicleRegisterDB(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 修改车辆信息 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数{@link NET_IN_MODIFY_VEHICLE_FOR_VEHICLE_REG_DB} *param[out] pstOutParam 接口输出参数{@link NET_OUT_MODIFY_VEHICLE_FOR_VEHICLE_REG_DB} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_ModifyVehicleForVehicleRegisterDB(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 删除车辆信息 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数{@link NET_IN_DELETE_VEHICLE_FROM_VEHICLE_REG_DB} *param[out] pstOutParam 接口输出参数{@link NET_OUT_DELETE_VEHICLE_FROM_VEHICLE_REG_DB} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DeleteVehicleFromVehicleRegisterDB(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 向指定注册库查询车辆 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数{@link NET_IN_START_FIND_VEHICLE_REG_DB} *param[out] pstOutParam 接口输出参数{@link NET_OUT_START_FIND_VEHICLE_REG_DB} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_StartFindVehicleRegisterDB(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 获取车辆查询结果信息 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数{@link NET_IN_DO_FIND_VEHICLE_REG_DB} *param[out] pstOutParam 接口输出参数{@link NET_OUT_DO_FIND_VEHICLE_REG_DB} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DoFindVehicleRegisterDB(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 结束车辆查询 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数{@link NET_IN_STOP_FIND_VEHICLE_REG_DB} *param[out] pstOutParam 接口输出参数{@link NET_OUT_STOP_FIND_VEHICLE_REG_DB} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_StopFindVehicleRegisterDB(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** *订阅陀螺仪数据接口回调函数原型, lAttachGyroHandle为CLIENT_AttachGyro接口的返回值 *param[out] lAttachGyroHandle 订阅句柄 *param[out] pstuGyroDataInfo 订阅的陀螺仪数据回调信息 {@link NET_NOTIFY_GYRO_DATA_INFO} *param[out] dwUser 用户信息 *return void */ public interface fNotifyGyroData extends Callback { public void invoke(LLong lAttachGyroHandle,Pointer pstuGyroDataInfo,Pointer dwUser); } /** * 订阅陀螺仪数据接口 *param[in] lLoginID 登录句柄 *param[in] pstuInParam 接口输入参数 {@link NET_IN_ATTACH_GYRO} *param[out] pstuOutParam 接口输出参数 {@link NET_OUT_ATTACH_GYRO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return 返回订阅句柄 */ public LLong CLIENT_AttachGyro(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 取消陀螺仪数据订阅接口 *param[in] lAttachHandle 订阅句柄 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DetachGyro(LLong lAttachHandle); /** * 立体行为-视频统计信息回调函数原形, * param[out] lAttachHandle 是 CLIENT_AttachVideoStatistics返回值 * param[out] emType 是枚举{@link NET_EM_VS_TYPE}的值 * param[out] pBuf 是对应结构体数据指针,参考枚举值描述 */ public interface fVideoStatisticsInfoCallBack extends Callback { public void invoke(LLong lAttachHandle,int emType,Pointer pBuf,int dwBufLen,Pointer dwUser); } /** * 订阅客流统计服务实时数据 *param[in] lLoginID 登录句柄 *param[in] pstuInParam 接口输入参数 {@link NET_IN_ATTACH_VIDEO_STATISTICS} *param[out] pstuOutParam 接口输出参数 {@link NET_OUT_ATTACH_VIDEO_STATISTICS} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return 返回订阅句柄 */ public LLong CLIENT_AttachVideoStatistics(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * 取消订阅客流统计服务实时数据 *param[in] lAttachHandle 订阅句柄 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DetachVideoStatistics(LLong lAttachHandle); /** * 智能事件开始查询 *param[in] lLoginID 登录句柄 *param[in] pstInParam 接口输入参数 {@link NET_IN_IVSEVENT_FIND_INFO} *param[out] pstOutParam 接口输出参数 {@link NET_OUT_IVSEVENT_FIND_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return 查询句柄 非0表示成功,0表示失败 */ public LLong CLIENT_IVSEventFind(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * 智能事件信息查询 *param[in] lFindHandle 查询句柄 *param[in] pstInParam 接口输入参数 {@link NET_IN_IVSEVENT_NEXTFIND_INFO} *param[out] pstOutParam 接口输出参数 {@link NET_OUT_IVSEVENT_NEXTFIND_INFO} *param[in] nWaitTime 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_IVSEventNextFind(LLong lFindHandle,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * 智能事件结束查询 *param[in] lFindHandle 查询句柄 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_IVSEventFindClose(LLong lFindHandle); /** * 按时间回放进度回调函数原形的扩展 * 参数recordfileinfoEx 指针对应结构体NET_RECORDFILE_INFOEX */ public interface fTimeDownLoadPosCallBackEx extends Callback { public void invoke(LLong lPlayHandle,int dwTotalSize,int dwDownLoadSize,int index,Pointer recordfileinfoEx,Pointer dwUser); } /** * VK信息回调(pBuffer内存由SDK内部申请释放),dwError值可以dhnetsdk.h中找到相应的解释,比如NET_NOERROR,NET_ERROR_VK_INFO_DECRYPT_FAILED等 * 参数pBuffer指针对应结构体NET_VKINFO */ public interface fVKInfoCallBack extends Callback { public void invoke(LLong lRealHandle,Pointer pBuffer,int dwError,Pointer dwUser,Pointer pReserved); } /** * 分压业务连接断线回调 *param[out] lSubBizHandle 分压业务sdk句柄, 由CLIENT_CreateSubBusinessModule接口返回 *param[out] lOperateHandle 业务句柄 *param[out] pstDisConnectInfo 断线回调数据 对应结构体NET_SUBBIZ_DISCONNECT_CALLBACK *return void */ public interface fSubBizDisConnectCallBack extends Callback { public void invoke(LLong lSubBizHandle,LLong lOperateHandle,Pointer pstDisConnectInfo); } /** * 订阅大图检测小图进度,配合CLIENT_FaceRecognitionDetectMultiFace使用, pstInParam与pstOutParam内存由用户申请释放 * param[in] pstuInParam 接口输入参数, 内存资源由用户申请和释放,{@link NET_IN_MULTIFACE_DETECT_STATE} * param[out]pstuOutParam 接口输出参数, 内存资源由用户申请和释放,{@link NET_OUT_MULTIFACE_DETECT_STATE} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public LLong CLIENT_AttachDetectMultiFaceState(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 订阅大图检测小图进度回调函数原型, * pstStates指针对应结构体NET_CB_MULTIFACE_DETECT_STATE */ public interface fMultiFaceDetectState extends Callback { public void invoke(LLong lAttachHandle, Pointer pstStates, Pointer dwUser); } /** * 订阅大图检测小图进度回调函数原型 * pstStates指针对应结构体NET_CB_MULTIFACE_DETECT_STATE_EX */ public interface fMultiFaceDetectStateEx extends Callback { public void invoke(LLong lAttachHandle, Pointer pstStates, Pointer dwUser); } /** * 开始目标检测/注册库的多通道查询 * param[in] lLoginID 登录句柄 * param[in] pstuInParam 接口输入参数, 内存资源由用户申请和释放,{@link NET_IN_STARTMULTIFIND_FACERECONGNITION_EX} * param[out]pstuOutParam 接口输出参数, 内存资源由用户申请和释放,{@link NET_OUT_STARTMULTIFIND_FACERECONGNITION_EX} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_StartMultiFindFaceRecognitionEx(LLong lLoginID, Pointer pstuInParam, Pointer pstuOutParam, int nWaitTime); /** * 获取人脸查询结果信息 * param[in] pstuInParam 接口输入参数, 内存资源由用户申请和释放,{@link NET_IN_DOFIND_FACERECONGNITION_EX} * param[out]pstuOutParam 接口输出参数, 内存资源由用户申请和释放,{@link NET_OUT_DOFIND_FACERECONGNITION_EX} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DoFindFaceRecognitionEx(Pointer pstuInParam, Pointer pstuOutParam, int nWaitTime); /** * 向服务器提交多张大图,从中检测人脸图片, pstInParam与pstOutParam内存由用户申请释放 * param[in] pstuInParam 接口输入参数, 内存资源由用户申请和释放,{@link NET_IN_FACE_RECOGNITION_DETECT_MULTI_FACE_INFO} * param[out]pstuOutParam 接口输出参数, 内存资源由用户申请和释放,{@link NET_OUT_FACE_RECOGNITION_DETECT_MULTI_FACE_INFO} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_FaceRecognitionDetectMultiFace(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 取消订阅大图检测小图进度, lAttachHandle为CLIENT_AttachDetectMultiFaceState 返回的句柄 */ public boolean CLIENT_DetachDetectMultiFaceState(LLong lAttachHandle); /** * 获取安检机安全等级信息,pstInParam与pstOutParam内存由用户申请释放 * param[in] pInParam 接口输入参数, 内存资源由用户申请和释放,{@link NET_IN_GET_XRAY_MULTILEVEL_DETECT_INFO} * param[out]pOutParam 接口输出参数, 内存资源由用户申请和释放,{@link NET_OUT_GET_XRAY_MULTILEVEL_DETECT_INFO} * param[in] nWaitTime 接口超时时间, 单位毫秒 */ public LLong CLIENT_GetXRayMultiLevelDetectCFG(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 设置安检机安全等级信息,pstInParam与pstOutParam内存由用户申请释放 * param[in] pInParam 接口输入参数, 内存资源由用户申请和释放,{@link NET_IN_SET_XRAY_MULTILEVEL_DETECT_INFO} * param[out]pOutParam 接口输出参数, 内存资源由用户申请和释放,{@link NET_OUT_SET_XRAY_MULTILEVEL_DETECT_INFO} * param[in] nWaitTime 接口超时时间, 单位毫秒 */ public LLong CLIENT_SetXRayMultiLevelDetectCFG(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 动环遥测数据订阅 * param[in] lLoginID 登录句柄 * param[in] pstInParam 接口输入参数,{@link NET_IN_ATTACH_SCADA_DATA_INFO} * param[out] pstOutParam 接口输出参数,{@link NET_OUT_ATTACH_SCADA_DATA_INFO} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return 返回订阅句柄 */ public LLong CLIENT_AttachSCADAData(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 动环遥测数据退订 * param[in] lSCADADataHandle 订阅句柄 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DetachSCADAData(LLong lSCADADataHandle); /** * 动环遥测数据订阅回调函数原型, lSCADADataHandle 为 CLIENT_AttachSCADAData 接口的返回值 * param[out] lSCADADataHandle 订阅句柄 * param[out] pstuSCADADataNotifyInfo 订阅的遥测数据,{@link NET_NOTIFY_SCADA_DATA_INFO} * param[out] dwUser 用户信息 * return void */ public interface fNotifySCADAData extends Callback { public void invoke(LLong lSCADADataHandle, Pointer pstuSCADADataNotifyInfo, Pointer dwUser); } /** * 订阅统计通道数据,pInParam与pOutParam内存由用户申请释放 * param[in] pInParam 接口输入参数, 内存资源由用户申请和释放,{@link NET_IN_ATTACH_VIDEOSTAT_STREAM} * param[out]pOutParam 接口输出参数, 内存资源由用户申请和释放,{@link NET_OUT_ATTACH_VIDEOSTAT_STREAM} * param[in] nWaitTime 接口超时时间, 单位毫秒 */ public LLong CLIENT_AttachVideoStatStream(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 统计通道数据回调函数,参数pBuf 指针对应结构体NET_CB_VIDEOSTAT_STREAM */ public interface fVideoStatStreamCallBack extends Callback { public void invoke(LLong lAttachHandle, Pointer pBuf, int nBufLen, Pointer dwUser); } /** * 取消订阅统计通道数据, lAttachHandle为CLIENT_AttachVideoStatStream 返回的句柄 */ public boolean CLIENT_DetachVideoStatStream(LLong lAttachHandle); /** * 获取电视墙预案,pInParam与pOutParam内存由用户申请释放 * param[in] pInParam 接口输入参数, 内存资源由用户申请和释放,{@link com.netsdk.lib.structure.optimized.NET_IN_WM_GET_COLLECTIONS_V1} * param[out]pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link com.netsdk.lib.structure.optimized.NET_OUT_WM_GET_COLLECTIONS_V1} * param[in] nWaitTime 接口超时时间, 单位毫秒 */ public boolean CLIENT_GetMonitorWallCollectionsV1(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 门禁设备开始捕获新卡 * param[in] pInParam 接口输入参数, 内存资源由用户申请和释放,{@link NET_IN_ACCESSCONTROL_CAPTURE_NEWCARD} * param[out]pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_ACCESSCONTROL_CAPTURE_NEWCARD} * param[in] nWaitTime 接口超时时间, 单位毫秒 */ public boolean CLIENT_AccessControlCaptureNewCard(LLong lLoginID, Pointer pInParam, Pointer pOutParam,int nWaitTime); /** * 门禁人证设备获取人脸 * param[in] pInParam 接口输入参数, 内存资源由用户申请和释放,{@link NET_IN_ACCESSCONTROL_CAPTURE_CMD} * param[out]pOutParam 接口输出参数, 内存资源由用户申请和释放 {@link NET_OUT_ACCESSCONTROL_CAPTURE_CMD} * param[in] nWaitTime 接口超时时间, 单位毫秒 */ public boolean CLIENT_AccessControlCaptureCmd(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); /** * 订阅智能分析结果 * param[in] lLoginID 登录句柄 * param[in] pstInParam 接口输入参数,{@link NET_IN_ATTACH_VIDEO_ANALYSE_ANALYSE_PROC} * param[out] pstOutParam 接口输出参数,{@link NET_OUT_ATTACH_VIDEO_ANALYSE_ANALYSE_PROC} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return 返回订阅句柄 */ public LLong CLIENT_AttachVideoAnalyseAnalyseProc(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * 取消订阅智能分析结果 * param[in] lAttachHandle 订阅句柄 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DetachVideoAnalyseAnalyseProc(LLong lAttachHandle); /** * 智能分析结果的回调函数 * param[out] lAttachHandle 订阅句柄 * param[out] pstuVideoAnalyseTrackProc 智能分析结果的信息,{@link NET_VIDEO_ANALYSE_ANALYSE_PROC} * param[out] dwUser 用户信息 * return void */ public interface fVideoAnalyseAnalyseProc extends Callback { public void invoke(LLong lAttachHandle, Pointer pstuVideoAnalyseTrackProc, Pointer dwUser); } /** * 开始升级设备程序--扩展支持G以上文件升级 */ public LLong CLIENT_StartUpgradeEx2(LLong lLoginID,int emType,Pointer pchFileName,fUpgradeCallBackEx cbUpgrade,Pointer dwUser); /** * 报警主机设置操作 * param[in] lLoginID 登录句柄 * param[in] emType 设置的操作类型,{@link NET_EM_SET_ALARMREGION_INFO} * param[in] pstuInParam 枚举对应的入参 * param[out] pstuOutParam 枚举对应的出参 * param[in] nWaitTime 接口超时时间, 单位毫秒 * return void */ public boolean CLIENT_SetAlarmRegionInfo(LLong lLoginID,int emType,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 获取设备序列号 * param[in] lLoginID 登录句柄 * param[in] pstInParam 接口输入参数,{@link NET_IN_GET_DEVICESERIALNO_INFO} * param[out] pstOutParam 接口输出参数,{@link NET_OUT_GET_DEVICESERIALNO_INFO} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return void */ public boolean CLIENT_GetDeviceSerialNo(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * 获取设备类型 * param[in] lLoginID 登录句柄 * param[in] pstInParam 接口输入参数,{@link NET_IN_GET_DEVICETYPE_INFO} * param[out] pstOutParam 接口输出参数,{@link NET_OUT_GET_DEVICETYPE_INFO} * param[in] nWaitTime 接口超时时间, 单位毫秒 * return void */ public boolean CLIENT_GetDeviceType(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * RPC测试 *param[in] lLoginID: 登录句柄 *param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放,参考{@link NET_IN_TRANSMIT_CMD} *param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{@link NET_OUT_TRANSMIT_CMD} *param[in] nWaitTime: 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_TransmitCmd(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 手动测试 *param[in] lLoginID: 登录句柄 *param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放,参考{@link NET_IN_MANUAL_TEST} *param[out]pstuOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{@link NET_OUT_MANUAL_TEST} *param[in] nWaitTime: 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_ManualTest(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 添加报警用户 *param[in] lLoginID: 登录句柄 *param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放,参考{@link NET_IN_ADD_ALARM_USER} *param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{@link NET_OUT_ADD_ALARM_USER} *param[in] nWaitTime: 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_AddAlarmUser(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 修改报警用户 *param[in] lLoginID: 登录句柄 *param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放,参考{@link NET_IN_MODIFY_ALARM_USER} *param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{@link NET_OUT_MODIFY_ALARM_USER} *param[in] nWaitTime: 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_ModifyAlarmUser(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 修改报警用户密码 *param[in] lLoginID: 登录句柄 *param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放,参考{@link NET_IN_MODIFY_ALARM_USER_PASSWORD} *param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{@link NET_OUT_MODIFY_ALARM_USER_PASSWORD} *param[in] nWaitTime: 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_ModifyAlarmUserPassword(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 删除报警用户 *param[in] lLoginID: 登录句柄 *param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放,参考{@link NET_IN_DELETE_ALARM_USER} *param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{@link NET_OUT_DELETE_ALARM_USER} *param[in] nWaitTime: 接口超时时间, 单位毫秒 *return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DeleteAlarmUser(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 订阅无线对码信息接口,pstInParam与pstOutParam内存由用户申请释放 *param[in] lLoginID: 登录句柄 *param[in] pstInParam: 接口输入参数, 内存资源由用户申请和释放,参考{@link NET_IN_ATTACH_LOWRATEWPAN} *param[out] pstOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{@link NET_OUT_ATTACH_LOWRATEWPAN} *param[in] nWaitTime: 接口超时时间, 单位毫秒 *return 返回订阅句柄 */ public LLong CLIENT_AttachLowRateWPAN(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 订阅无线对码信息回调函数原形,lAttachHandle是CLIENT_AttachLowRateWPAN返回值 *param[out] lLoginID 登录句柄 *param[out] lAttachHandle 订阅句柄 *param[out] lAttachHandle 对码信息, 参考{@link NET_CODEID_INFO} *param[out] emError 对码错误类型, 参考{@link NET_CODEID_ERROR_TYPE} *param[out] dwUser 用户数据 */ public interface fAttachLowRateWPANCB extends Callback { public void invoke(LLong lLoginID,LLong lAttachHandle,Pointer stuBuf,int emError,Pointer dwUser); } /** * 取消订阅无线对码信息接口,lAttachHandle是CLIENT_AttachLowRateWPAN返回值 * param[in] lAttachHandle 订阅句柄 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DetachLowRateWPAN(LLong lAttachHandle); /** * 获取画面中心位置目标的距离,pInBuf与pOutBuf内存由用户申请释放 * param[out] pInBuf 接口输入参数,{@link NET_IN_GET_LASER_DISTANCE} * param[out] pOutBuf 接口输出参数,{@link NET_OUT_GET_LASER_DISTANCE} * param[out] nWaitTime 接口超时时间, 单位毫秒 * return void */ public boolean CLIENT_GetLaserDistance(LLong lLoginID, Pointer pInBuf, Pointer pOutBuf, int nWaitTime); /** * 获取已添加的设备状态 * param[in] lLoginID: 登录句柄 * param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放,参考{ @link NET_IN_GET_DEVICE_INFO_EX} * param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{ @link NET_OUT_GET_DEVICE_INFO_EX} * param[in] nWaitTime: 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetDeviceInfoEx(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 获取目标检测令牌 * param[in] lLoginID: 登录句柄 * param[in] pInParam: 接口输入参数, 内存资源由用户申请和释放,参考{ @link NET_IN_FACERSERVER_GETDETEVTTOKEN} * param[out] pOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{ @link NET_OUT_FACERSERVER_GETDETEVTTOKEN} * param[in] nWaitTime: 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_FaceRServerGetDetectToken(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 查询设备日志条数(pInParam, pOutParam内存由用户申请释放) * * param[in] lLoginID: 登录句柄 * * param[in] pInParam: 接口输入参数, 内存资源由用户申请和释放,参考{@link NET_IN_GETCOUNT_LOG_PARAM} * * param[out] pOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{@link NET_OUT_GETCOUNT_LOG_PARAM} * * param[in] nWaitTime: 接口超时时间, 单位毫秒 */ public boolean CLIENT_QueryDevLogCount(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int waittime); /** * 设置状态信息接口 * param[in] lLoginID: 登录句柄 * param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放,参考{ @link NET_IN_SET_STATEMANAGER_INFO} * param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{ @link NET_OUT_SET_STATEMANAGER_INFO} * param[in] nWaitTime: 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetStateManager(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 获取状态信息接口 * param[in] lLoginID: 登录句柄 * param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放,参考{ @link NET_IN_GET_STATEMANAGER_INFO} * param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{ @link NET_OUT_GET_STATEMANAGER_INFO} * param[in] nWaitTime: 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetStateManager(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 定位录像回放起始点 */ public boolean CLIENT_SeekPlayBack(LLong lPlayHandle,int offsettime,int offsetbyte); /** * 按时间定位回放起始点 */ public boolean CLIENT_SeekPlayBackByTime(LLong lPlayHandle, NET_TIME lpSeekTime); /** * 多通道预览回放(pParam内存由用户申请释放) */ public LLong CLIENT_MultiPlayBack(LLong lLoginID,Pointer pParam); /** * 操作设备标定信息 * param[in] lLoginID: 登录句柄 * param[in] emType: 入参枚举,决定后续指针参数类型,参考{@link EM_CALIBRATEINFO_OPERATE_TYPE} * param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放,参考{@link EM_CALIBRATEINFO_OPERATE_TYPE} * param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{@link EM_CALIBRATEINFO_OPERATE_TYPE} * param[in] nWaitTime: 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_OperateCalibrateInfo(LLong lLoginID, int emType, Pointer pStuInParam, Pointer pStuOutParam, int nWaitTime); /** * 订阅云台可视域回调函数原型, pBuf -> {@link DH_OUT_PTZ_VIEW_RANGE_STATUS} */ public interface fViewRangeStateCallBack extends Callback { public void invoke(LLong lLoginID, LLong lAttachHandle, Pointer pBuf, int nBufLen, Pointer dwUser); } /** * 订阅云台可视域,pstuInViewRange与pstuOutViewRange内存由用户申请释放 * {@link NET_IN_VIEW_RANGE_STATE},{@link NET_OUT_VIEW_RANGE_STATE} */ public LLong CLIENT_AttachViewRangeState(LLong lLoginID, Pointer pstuInViewRange, Pointer pstuOutViewRange, int nWaitTime); /** * 停止订阅云台可视域,lAttachHandle是CLIENT_AttachViewRangeState返回值 */ public boolean CLIENT_DetachViewRangeState(LLong lAttachHandle); /** * 开始查询日志(目前只支持门禁BSC系列,支持报警主机日志分类查询),pInParam与pOutParam内存由用户申请释放 * param[in] lLoginID: 登录句柄 * param[in] pInParam: 接口输入参数, 内存资源由用户申请和释放,参考{ @link NET_IN_START_QUERYLOG} * param[out] pOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{ @link NET_OUT_START_QUERYLOG} * param[in] nWaitTime: 接口超时时间, 单位毫秒 * return 返回查询句柄 */ public LLong CLIENT_StartQueryLog(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 获取日志(目前只支持门禁BSC系列),pInParam与pOutParam内存由用户申请释放 * param[in] lLogID: 查询句柄,CLIENT_StartQueryLog的返回值 * param[in] pInParam: 接口输入参数, 内存资源由用户申请和释放,参考{ @link NET_IN_QUERYNEXTLOG} * param[out] pOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{ @link NET_OUT_QUERYNEXTLOG} * param[in] nWaitTime: 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_QueryNextLog(LLong lLogID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 结束查询日志(目前只支持门禁BSC系列) * param[in] lLogID: 查询句柄,CLIENT_StartQueryLog的返回值 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_StopQueryLog(LLong lLogID); /** * 获取窗口位置(pInparam, pOutParam内存由用户申请释放) * param[in] lLoginID: 登录句柄 * param[in] pInParam: 接口输入参数, 内存资源由用户申请和释放,参考{ @link DH_IN_SPLIT_GET_RECT} * param[out] pOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{ @link DH_OUT_SPLIT_GET_RECT} * param[in] nWaitTime: 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetSplitWindowRect(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 设置窗口位置(pInparam, pOutParam内存由用户申请释放) * param[in] lLoginID: 登录句柄 * param[in] pInParam: 接口输入参数, 内存资源由用户申请和释放,参考{ @link DH_IN_SPLIT_SET_RECT} * param[out] pOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{ @link DH_OUT_SPLIT_SET_RECT} * param[in] nWaitTime: 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetSplitWindowRect(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 设置窗口次序(pInparam, pOutParam内存由用户申请释放) * param[in] lLoginID: 登录句柄 * param[in] pInParam: 接口输入参数, 内存资源由用户申请和释放,参考{@link DH_IN_SPLIT_SET_TOP_WINDOW} * param[out] pOutParam: 接口输出参数, 内存资源由用户申请和释放,参考{@link DH_OUT_SPLIT_SET_TOP_WINDOW} * param[in] nWaitTime: 接口超时时间, 单位毫秒 * return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetSplitTopWindow(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * 获取网卡信息(lpInParam, lpOutParam内存由用户申请释放,大小参照emType对应的结构体) */ public boolean CLIENT_QueryNetStat(LLong lLoginID,int emType,Pointer lpInParam,int nInParamLen,Pointer lpOutParam,int nOutParamLen,Pointer pError,int nWaitTime); /** * 订阅统计区域内的车辆数据或者排队长度信息,pstInParam与pstOutParam内存由用户申请释放 */ public LLong CLIENT_AttachVehiclesDistributionData(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam); /** * 取消订阅统计区域内的车辆数据或者排队长度信息,pstInParam与pstOutParam内存由用户申请释放 */ public boolean CLIENT_DetachVehiclesDistributionData(LLong lAttachHandle); /** * 接口 CLIENT_AttachVehiclesDistributionData 回调函数,pBuf是json和图片数据,nBufLen是pBuf相应长度,用于转发服务 */ public interface fNotifyVehiclesDistributionData extends Callback { public int invoke(LLong lVehiclesHandle,Pointer pDiagnosisInfo,Pointer dwUser); } /** * @param pInParam: 参考{@link com.netsdk.lib.structure.NET_IN_RADIOMETRY_CURRENTHOTCOLDSPOT_INFO} * @param pOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_RADIOMETRY_CURRENTHOTCOLDSPOT_INFO} * @description 获取热成像当前冷(最低的温度)、热(最高的温度)点信息 */ public boolean CLIENT_RadiometryGetCurrentHotColdSpotInfo(LLong lLoginID,Pointer pInParam,Pointer pOutParam,int nWaitTime); /** * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_SET_ZONE_ARMODE_INFO} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_SET_ZONE_ARMODE_INFO} * @description 设置单防区布撤防状态 * @description param[in] lLoginID 登录句柄 * @description param[in] pstuInParam 接口入参 * @description param[out] pstuOutParam 接口出参 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetZoneArmMode(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_GET_ZONE_ARMODE_INFO} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_GET_ZONE_ARMODE_INFO} * @description 获取单防区布撤防状态 * @description param[in] lLoginID 登录句柄 * @description param[in] pstuInParam 接口入参 * @description param[out] pstuOutParam 接口出参 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetZoneArmMode(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * @description 智能分析结果的回调函数 * @description param[out] lAttachHandle 订阅句柄 * @description param[out] pstuVideoAnalyseTrackProc 智能分析结果的信息 * @description param[out] dwUser 用户信息 * @description return void */ public interface fVehicleInOutAnalyseProc extends Callback { /** * @param lAttachHandle * @param pstuVehicleInOutAnalyseProc: 参考{@link com.netsdk.lib.structure.NET_VEHICLE_INOUT_ANALYSE_PROC} * @param dwUser */ public void invoke(LLong lAttachHandle, Pointer pstuVehicleInOutAnalyseProc, Pointer dwUser); } /** * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_ATTACH_TRAFFIC_FLOW_STAT_REAL_FLOW} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_ATTACH_TRAFFIC_FLOW_STAT_REAL_FLOW} * @description 订阅交通流量统计 * @description param[in] lLoginID 登录句柄 * @description param[in] pstInParam 接口输入参数 * @description param[out] pstOutParam 接口输出参数 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return 返回订阅句柄 */ public LLong CLIENT_AttachTrafficFlowStatRealFlow(LLong lLoginID, Pointer pstuInParam, Pointer pstuOutParam, int nWaitTime); /** * @description 取消订阅交通流量统计 * @description param[in] lAttachHandle 订阅句柄 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DetachTrafficFlowStatRealFlow(LLong lAttachHandle); /** * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_SET_BIND_MODE_INFO} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_SET_BIND_MODE_INFO} * @description 设置绑定模式 * @description param[in] lLoginID 登录句柄 * @description param[in] pstuInParam 接口入参 * @description param[out] pstuOutParam 接口出参 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetBindMode(LLong lLoginID, Pointer pstuInParam, Pointer pstuOutParam, int nWaitTime); /** * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_GET_BIND_MODE_INFO} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_GET_BIND_MODE_INFO} * @description 获取绑定模式 * @description param[in] lLoginID 登录句柄 * @description param[in] pstuInParam 接口入参 * @description param[out] pstuOutParam 接口出参 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetBindMode(LLong lLoginID, Pointer pstuInParam, Pointer pstuOutParam, int nWaitTime); /** * @param pstInParam: 参考{@link com.netsdk.lib.structure.NET_IN_ATTACH_VIDEO_ANALYSE_TRACK_PROC} * @param pstOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_ATTACH_VIDEO_ANALYSE_TRACK_PROC} * @description 订阅外部轨迹 * @description param[in] lLoginID 登录句柄 * @description param[in] pstInParam 接口输入参数 * @description param[out]pstOutParam 接口输出参数 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return 订阅句柄 */ public LLong CLIENT_AttachVideoAnalyseTrackProc(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * @param pstuVideoAnalyseTrackProc: 参考{@link com.netsdk.lib.structure.NET_VIDEO_ANALYSE_TRACK_PROC} * @description 外部轨迹的回调函数 */ public interface fVideoAnalyseTrackProc extends Callback { public void invoke(LLong lAttachHandle,Pointer pstuVideoAnalyseTrackProc,Pointer dwUser); } /** * @description 取消订阅外部轨迹 * @description param[in] lAttachHandle 订阅句柄 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DetachVideoAnalyseTrackProc(LLong lAttachHandle); /** * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_GET_GPS_STATUS_INFO} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_GET_GPS_STATUS_INFO} * @description 获取GPS定位信息 * @description param[in] lLoginID 登录句柄 * @description param[in] pstuInParam 接口入参 * @description param[out] pstuOutParam 接口出参 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetGpsStatus(LLong lLoginID, Pointer pstuInParam, Pointer pstuOutParam, int nWaitTime); /** * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_PTZ_SET_ZOOM_VALUE} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_PTZ_SET_ZOOM_VALUE} * @description 设置云台变倍 * @description param[in] lLoginID: 登录句柄 * @description param[in] pstuInParam: 接口输入参数, 内存资源由用户申请和释放 * @description param[out] pstuOutParam: 接口输出参数, 内存资源由用户申请和释放 * @description param[in] nWaitTime: 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_PTZSetZoomValue(LLong lLoginID, Pointer pstuInParam, Pointer pstuOutParam, int nWaitTime); /** * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_SET_VTO_MANAGER_RELATION} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_SET_VTO_MANAGER_RELATION} * @description 设置组织节点表 * @description param[in] lLoginID 登录句柄 * @description param[in] pstuInParam 接口入参 * @description param[out] pstuOutParam 接口出参 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_SetVTOManagerRelation(LLong lLoginID, Pointer pstuInParam, Pointer pstuOutParam, int nWaitTime); /** * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_GET_VTO_MANAGER_RELATION} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_GET_VTO_MANAGER_RELATION} * @description 获取组织树节点 * @description param[in] lLoginID 登录句柄 * @description param[in] pstuInParam 接口入参 * @description param[out] pstuOutParam 接口出参 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetVTOManagerRelation(LLong lLoginID, Pointer pstuInParam, Pointer pstuOutParam, int nWaitTime); /** * @param pstInParam: 参考{@link com.netsdk.lib.structure.NET_IN_ADD_SOFT_TOUR_POINT_INFO} * @param pstOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_ADD_SOFT_TOUR_POINT_INFO} * @description 增加软巡航预置点 * @description param[in] lLoginID 登录句柄 * @description param[in] pstInParam 接口输入参数 * @description param[out] pstOutParam 接口输出参数 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_AddSoftTourPoint(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * @param pstInParam: 参考{@link com.netsdk.lib.structure.NET_IN_REMOVE_SOFT_TOUR_POINT_INFO} * @param pstOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_REMOVE_SOFT_TOUR_POINT_INFO} * @description 清除软巡航预置点 * @description param[in] lLoginID 登录句柄 * @description param[in] pstInParam 接口输入参数 * @description param[out] pstOutParam 接口输出参数 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_RemoveTourPoint(LLong lLoginID, Pointer pstInParam, Pointer pstOutParam, int nWaitTime); /** * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_INSERT_MULTI_TALK_DEV} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_INSERT_MULTI_TALK_DEV} * @description 下发设备信息 * @description param[in] lLoginID 登录句柄 * @description param[in] pstuInParam 接口入参 * @description param[out] pstuOutParam 接口出参 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_InsertMultiTalkDev(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_UPDATE_MULTI_TALK_DEV} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_UPDATE_MULTI_TALK_DEV} * @description 批量更新设备信息接口 * @description param[in] lLoginID 登录句柄 * @description param[in] pstuInParam 接口入参 * @description param[out] pstuOutParam 接口出参 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_UpdateMultiTalkDev(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_DO_FIND_TALK_DEV} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_DO_FIND_TALK_DEV} * @description 执行信息查询, lFindID为CLIENT_StartFindTalkDev接口返回的查找ID * @description param[in] lFindID 查询句柄 * @description param[in] pstuInParam 接口输入参数 * @description param[out]pstuOutParam 接口输出参数 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DoFindTalkDev(LLong lFindID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * 录像下载--扩展Ex3接口,将所有参数整合在一个结构体,方便后续扩展 * @param lLoginID 登录句柄 * @param pstuInParam: 参考{@link com.netsdk.lib.structure.NET_IN_DOWNLOAD} * @param pstuOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_DOWNLOAD} * @param dwWaitTime 接口超时时间, 单位毫秒 * @return 下载句柄 */ public LLong CLIENT_DownloadByRecordFileEx3(LLong lLoginID,Pointer pstuInParam,Pointer pstuOutParam,int nWaitTime); /** * @param pstInParam: 参考{@link com.netsdk.lib.structure.NET_IN_ATTACH_HYGROTHERMOGRAPH} * @param pstOutParam: 参考{@link com.netsdk.lib.structure.NET_OUT_ATTACH_HYGROTHERMOGRAPH} * @description 订阅温湿度实时检测数据 * @description param[in] lLoginID 登录句柄 * @description param[in] pstInParam 接口输入参数 * @description param[out]pstOutParam 接口输出参数 * @description param[in] nWaitTime 接口超时时间, 单位毫秒 * @description return 返回订阅句柄 */ public LLong CLIENT_AttachHygrothermograph(LLong lLoginID,Pointer pstInParam,Pointer pstOutParam,int nWaitTime); /** * @param pstuHygrothermographInfo: 参考{@link com.netsdk.lib.structure.NET_HYGROTHERMOGRAPH_INFO} * @description 订阅温湿度实时检测数据回调函数原型, lHygrothermographHandle为CLIENT_AttachHygrothermograph接口的返回值 * @description param[out] lHygrothermographHandle 订阅句柄 * @description param[out] pstuHygrothermographInfo 订阅温湿度实时检测数据回调信息 * @description param[out] dwUser 用户信息 * @description return void */ public interface fNotifyHygrothermograph extends Callback { public void invoke(LLong lHygrothermographHandle,Pointer pstuHygrothermographInfo,Pointer dwUser); } /** * @description 退订温湿度实时检测数据 * @description param[in] lHygrothermographHandle 订阅句柄 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_DetachHygrothermograph(LLong lHygrothermographHandle); /** * @description 查询录像下载进度 * @description param[in] lFileHandle 下载句柄 * @description param[out] nTotalSize 总文件大小 * @description param[out] nDownLoadSize 已下载文件大小 * @description return TRUE表示成功 FALSE表示失败 */ public boolean CLIENT_GetDownloadPos(LLong lFileHandle,Pointer nTotalSize,Pointer nDownLoadSize); /** * 获取设备点位信息 * @param lLoginID 登录返回ID * @param pInParam NET_IN_SCADA_GET_ATTRIBUTE_INFO * @param pOutParam NET_OUT_SCADA_GET_ATTRIBUTE_INFO * @param nWaitTime 超时时间 * @return */ public boolean CLIENT_SCADAGetAttributeInfo(LLong lLoginID, Pointer pInParam, Pointer pOutParam, int nWaitTime); }