海康摄像头SDK抓图计划

抓图计划NET_DVR_GET_SCHED_CAPTURECFG,HCNetSDK.java缺少,需要自行构造

需要注意的是SDK中的二维数组的构造

	public static final int NET_DVR_GET_SCHED_CAPTURECFG = 1282; // 获取抓图计划
	public static final int NET_DVR_SET_SCHED_CAPTURECFG = 1283; // 设置抓图计划
 
 	public static class NET_DVR_SCHED_CAPTURECFG extends Structure { // 通道录像参数配置(9000扩展)
		public int dwSize;
		public byte byEnable;
		public byte[] byRes1 = new byte[3];
		public NET_DVR_CAPTURE_DAY[] struCaptureDay = new NET_DVR_CAPTURE_DAY[MAX_DAYS];
		public tempStructure[] tempStructure = new tempStructure[MAX_DAYS];
		public NET_DVR_CAPTURE_DAY struCaptureHoliday = new NET_DVR_CAPTURE_DAY();
		public NET_DVR_CAPTURE_SCHED[] struHolidaySched = new NET_DVR_CAPTURE_SCHED[MAX_TIMESEGMENT_V30];
		public int dwRecorderDuration;
		public int dwDelayTime;
		public byte[] byRes = new byte[36];
	}
 	public static class tempStructure extends Structure{
           public NET_DVR_CAPTURE_SCHED[] struCaptureSched = new NET_DVR_CAPTURE_SCHED[MAX_TIMESEGMENT_V30];
    }
 	public static class NET_DVR_CAPTURE_DAY extends Structure {  // 全天录像参数配置(子结构)
		public byte byAllDayCapture; // 是否全天抓图 
		public byte byCaptureType; //抓图类型:0-定时抓图,1-移动侦测抓图,2-报警抓图,3-移动侦测或报警抓图,4-移动侦测和报警抓图,6-智能报警抓图,7-智能侦测抓图,8-全部事件,39-离线测温抓图 
		public byte[] byRes = new byte[2];
	}
 	public static class NET_DVR_CAPTURE_SCHED extends Structure { // 全天录像参数配置(子结构)
		public  NET_DVR_SCHEDTIME struCaptureTime = new NET_DVR_SCHEDTIME(); //抓图时间段
           public byte  byCaptureType; //抓图类型:0-定时抓图,1-移动侦测抓图,2-报警抓图,3-移动侦测或报警抓图,4-移动侦测和报警抓图,6-智能报警抓图,7-智能侦测抓图,8-全部事件,39-离线测温抓图 
           public byte[] byRes = new byte[3];
	}
 	public static class NET_DVR_SCHEDTIME extends Structure {
		public byte byStartHour; // 开始时间
		public byte byStartMin;
		public byte byStopHour; // 结束时间
		public byte byStopMin;
	}
 

测试,必要代码

	public static void getAndSetSchedCaptureCfg() {
		IntByReference ibrBytesReturned = new IntByReference(0);// 获取IP接入配置参数
		NET_DVR_SCHED_CAPTURECFG userCfg = new NET_DVR_SCHED_CAPTURECFG();
		userCfg.write();
		Pointer lpIpParaConfig = userCfg.getPointer();
		boolean flag = hCNetSDK.NET_DVR_GetDVRConfig(lUserID, HCNetSDK.NET_DVR_GET_SCHED_CAPTURECFG, new NativeLong(1),
				lpIpParaConfig, userCfg.size(), ibrBytesReturned);
		userCfg.read();
		if (!flag) {
			System.out.println("获取抓图计划失败,错误码为" + hCNetSDK.NET_DVR_GetLastError());
			return;
		}
		
		for(int i=0;i<7;i++) {
			System.out.println("是否全天抓图:"+YesOrNoEnum.getNameByCode(Integer.valueOf(userCfg.struCaptureDay[i].byAllDayCapture)));
			System.out.println("抓图类型:"+CaptureTypeEnum.getNameByCode(userCfg.struCaptureDay[i].byCaptureType));
			NET_DVR_SCHEDTIME struRecordTime = userCfg.tempStructure[i].struCaptureSched[0].struCaptureTime;
			System.out.println(struRecordTime.byStartHour+":"+struRecordTime.byStartMin+"-"+struRecordTime.byStopHour+":"+struRecordTime.byStopMin);
		
		}
  
		// 配置每天全天
		for(int i=0;i<7;i++) {
			userCfg.struCaptureDay[i].byAllDayCapture = 1;
			userCfg.tempStructure[i].struCaptureSched[0].struCaptureTime.byStartHour=0;
			userCfg.tempStructure[i].struCaptureSched[0].struCaptureTime.byStartMin=0;
			userCfg.tempStructure[i].struCaptureSched[0].struCaptureTime.byStopHour=24;
			userCfg.tempStructure[i].struCaptureSched[0].struCaptureTime.byStopMin=0;
		}
		userCfg.byEnable = 1;
		userCfg.write();
		flag = hCNetSDK.NET_DVR_SetDVRConfig(lUserID, HCNetSDK.NET_DVR_SET_SCHED_CAPTURECFG, new NativeLong(1),
				lpIpParaConfig, userCfg.size());
		if (flag == false) {
			System.out.println("设置抓图计划失败,错误码为" + hCNetSDK.NET_DVR_GetLastError());
		} else {
			System.out.println("设置抓图计划成功");
		}
	}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值