package com.netsdk.demo.event; import com.netsdk.demo.util.CaseMenu; import com.netsdk.lib.NetSDKLib.CFG_ACCESS_STATE; import com.netsdk.lib.NetSDKLib.CFG_ACCESS_TIMESCHEDULE_INFO; import com.netsdk.lib.NetSDKLib.CFG_OPEN_DOOR_GROUP_INFO; import com.netsdk.lib.callback.impl.MessCallBack; public class Demo { DeviceModule moudle = new DeviceModule(); public void InitTest() { DeviceModule.init(); // SDK初始化 DeviceModule.setDVRMessCallBack(MessCallBack.getInstance()); // 设置报警回调 if (!moudle.login(m_strIp, m_nPort, m_strUser, m_strPassword)) { // 登陆设备 EndTest(); } } public void EndTest() { moudle.stopLoadPicture(); moudle.stopListen(); // 取消订阅 moudle.logout(); // 登出设备 DeviceModule.cleanup(); // 反初始化 System.out.println("See You..."); System.exit(0); } /** * 门禁事件配置 */ public void accessControlConfig() { int nChannel = 0; // 通道号 int emState = CFG_ACCESS_STATE.ACCESS_STATE_NORMAL; // 普通 // int emState = CFG_ACCESS_STATE.ACCESS_STATE_CLOSEALWAYS; // 常关 // int emState = CFG_ACCESS_STATE.ACCESS_STATE_OPENALWAYS; // 常开 // 普通状态下设置 常关、常开时间段值为CFG_ACCESS_TIMESCHEDULE_INFO配置的数组下标 int nOpenTimeIndex = 0; int nCloseTimeIndex = 1; moudle.accessControlConfig(nChannel, emState, nOpenTimeIndex, nCloseTimeIndex); } /** * 门禁刷卡时间段设置 */ public void accessTimeScheduleConfig() { int nChannel = 0; // 通道号 CFG_ACCESS_TIMESCHEDULE_INFO cfg = moudle.getAccessTimeSchedule(nChannel); if (cfg == null) { return; } System.out.println("Enable:" + cfg.bEnable); String[] weekDay = { "一", "二", "三", "四", "五", "六", "日" }; for (int i = 0; i < 7; i++) { System.out.print("周" + weekDay[i]); for (int j = 0; j < 4; j++) { System.out.print(" " + cfg.stuTimeWeekDay[i].stuTimeSection[j].startTime() + "-" + cfg.stuTimeWeekDay[i].stuTimeSection[j].endTime()); } System.out.println(); } // 设置 cfg.bEnable = 1; // 使能 for (int i = 0; i < 7; ++i) { cfg.stuTimeWeekDay[i].stuTimeSection[0].setStartTime(8, 0, 0); cfg.stuTimeWeekDay[i].stuTimeSection[0].setEndTime(9, 0, 0); cfg.stuTimeWeekDay[i].stuTimeSection[1].setStartTime(19, 0, 0); cfg.stuTimeWeekDay[i].stuTimeSection[1].setEndTime(21, 0, 0); } moudle.setAccessTimeSchedule(nChannel, cfg); } public void test() { int nChannel = 0; // 通道号 CFG_OPEN_DOOR_GROUP_INFO msg = new CFG_OPEN_DOOR_GROUP_INFO(); moudle.MoreOpenDoor(nChannel, msg); } /** * 智能订阅 */ public void realLoadPicture() { /* * int nCount = moudle.getChannelNum(); System.out.println("通道个数 " + nCount); * for (int i = 0; i < nCount; ++i) { moudle.realLoadPicture(i); } */ moudle.realLoadPicture(5); } //////////////////////////////////////////////////////////////// private String m_strIp = "10.34.3.219"; //private String m_strIp = "10.34.3.12"; // private String m_strIp = "0.0.0.0"; private int m_nPort = 37777; private String m_strUser = "admin"; private String m_strPassword = "admin"; //////////////////////////////////////////////////////////////// public void RunTest() { System.out.println("Run Test"); CaseMenu menu = new CaseMenu(); /* * menu.addItem(new CaseMenu.Item(this , "门禁刷卡时间段配置" , * "accessTimeScheduleConfig")); */ menu.addItem(new CaseMenu.Item(this, "门禁常开常闭配置", "accessControlConfig")); menu.addItem(new CaseMenu.Item(moudle, "报警监听", "startListen")); menu.addItem(new CaseMenu.Item(moudle, "停止报警监听", "stopListen")); menu.addItem(new CaseMenu.Item(moudle, "智能订阅(所有通道)", "realLoadPicture")); menu.addItem(new CaseMenu.Item(this, "智能订阅(指定通道)", "realLoadPicture")); menu.addItem(new CaseMenu.Item(moudle, "停止智能订阅", "stopLoadPicture")); menu.addItem(new CaseMenu.Item(this, "多人开门组合配置", "test")); menu.run(); } public static void main(String[] args) { Demo demo = new Demo(); demo.InitTest(); demo.RunTest(); demo.EndTest(); } }