首先千万不要信息他们那边对接人的话,要调用哪个接口自己连接一下设备,打个debug看一下报警参数lCommand 通过这个参数去海康的开发手册去搜索一下,注意:需要把这个参数转换为16进制再去搜,还有海康给的接口类是不完整的需要自己对应开发文档加,这个我就不细说了,不懂的可以在评论区说
对应的接口
我需要对接的是门禁设备
附上我自己的代码以提供参考
我的业务需求只需要拿到人脸通过的数据
//门禁报警
case HCNetSDK.COMM_ALARM_ACS:
//门禁设备接口
HCNetSDK.NET_DVR_ACS_ALARM_INFO entrance = new HCNetSDK.NET_DVR_ACS_ALARM_INFO();
entrance.write();
Pointer pFaceSnapMatch = entrance.getPointer();
pFaceSnapMatch.write(0, pAlarmInfo.RecvBuffer, 0, entrance.size());
Map<String,String> textMap=new HashMap<>();
boolean flag=false;
entrance.read();
if(entrance.dwMinor==75){
sAlarmType = sAlarmType + "人脸认证通过:"+":门禁主机报警信息,卡号:"+ new String(entrance.struAcsEventInfo.byCardNo).trim() + ",卡类型:" +
entrance.struAcsEventInfo.byCardType + ",报警主类型:" + entrance.dwMajor + ",报警次类型:" + entrance.dwMinor;
newRow[0] = dateFormat.format(today);
newRow[1] = sAlarmType;
newRow[2] = sIP[0];
alarmTableModel.insertRow(0, newRow);
textMap.put("isTrue","1");//认证通过
flag=true;
}else{
textMap.put("isTrue","2");//认证失败
flag=true;
}
break;