admin
2024-05-27 816ba1e56476f0e23f51711aae4b34507a04a59c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.ruoyi.HIKVISION.function;
 
 
import com.ruoyi.HIKVISION.NetSDK.HCNetSDK;
 
import static com.ruoyi.HIKVISION.function.AcsMain.fMSFCallBack_V31;
 
/**
 * 报警模块,实现功能:1、设备报警事件实时上传,报警事件包括刷脸、刷卡等认证事件和设备的操作事件
 * 2、事件主动获取(获取保存在设备上的事件)
 */
public final class Alarm {
 
    //报警布防 (布防和监听选其一)
    public static void SetAlarm(int userID) {
        if (AcsMain.lAlarmHandle < 0)//尚未布防,需要布防
        {
 
            //报警布防参数设置
            HCNetSDK.NET_DVR_SETUPALARM_PARAM m_strAlarmInfo = new HCNetSDK.NET_DVR_SETUPALARM_PARAM();
            m_strAlarmInfo.dwSize = m_strAlarmInfo.size();
            m_strAlarmInfo.byLevel = 1;  //布防等级
            m_strAlarmInfo.byAlarmInfoType = 1;   // 智能交通报警信息上传类型:0- 老报警信息(NET_DVR_PLATE_RESULT),1- 新报警信息(NET_ITS_PLATE_RESULT)
            m_strAlarmInfo.byDeployType = 0;   //布防类型 0:客户端布防 1:实时布防
            m_strAlarmInfo.write();
            AcsMain.lAlarmHandle = AcsMain.hCNetSDK.NET_DVR_SetupAlarmChan_V41(userID, m_strAlarmInfo);
            System.out.println("lAlarmHandle: " + AcsMain.lAlarmHandle);
            if (AcsMain.lAlarmHandle == -1) {
                System.out.println("布防失败,错误码为" + AcsMain.hCNetSDK.NET_DVR_GetLastError());
            } else {
                System.out.println("布防成功");
            }
        }
    }
    //报警监听(布防和监听选其一)
    public static void StartListen() {
 
        AcsMain.lListenHandle = AcsMain.hCNetSDK.NET_DVR_StartListen_V30("10.17.36.14", (short) 7201, fMSFCallBack_V31, null);
        if (AcsMain.lListenHandle == -1) {
            System.out.println("监听失败" + AcsMain.hCNetSDK.NET_DVR_GetLastError());
        } else {
            System.out.println("监听成功");
        }
    }
}