Przeglądaj źródła

进行数据解析处理中

doorRight设置
haidong 3 lat temu
rodzic
commit
5545f4126a
3 zmienionych plików z 16 dodań i 6 usunięć
  1. +5
    -2
      src/main/java/com/hkversion/AlarmDataParse.java
  2. +7
    -1
      src/main/java/com/hkversion/FMSGCallBack_V31.java
  3. +4
    -3
      src/main/java/com/yzx/impl/HKVersion.java

+ 5
- 2
src/main/java/com/hkversion/AlarmDataParse.java Wyświetl plik

@@ -1,7 +1,9 @@
package com.hkversion;

import com.alibaba.fastjson.JSONObject;
import com.common.CommonUtil;
import com.sun.jna.Pointer;
import com.yzx.callback.AlarmCallback;

import java.io.*;
import java.nio.ByteBuffer;
@@ -14,7 +16,7 @@ import java.util.Date;
*/
public class AlarmDataParse {

public static void alarmDataHandle(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) {
public static void alarmDataHandle(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser, AlarmCallback callback) {
System.out.println("报警事件类型: lCommand:" + Integer.toHexString(lCommand));
String sTime;
String MonitoringSiteID;
@@ -568,7 +570,8 @@ public class AlarmDataParse {
}
break;
case HCNetSDK.COMM_ALARM_ACS: //门禁主机报警信息
//组装数据
JSONObject json = new JSONObject();
HCNetSDK.NET_DVR_ACS_ALARM_INFO strACSInfo = new HCNetSDK.NET_DVR_ACS_ALARM_INFO();
strACSInfo.write();
Pointer pACSInfo = strACSInfo.getPointer();


+ 7
- 1
src/main/java/com/hkversion/FMSGCallBack_V31.java Wyświetl plik

@@ -2,12 +2,18 @@
package com.hkversion;

import com.sun.jna.Pointer;
import com.yzx.callback.AlarmCallback;


public class FMSGCallBack_V31 implements HCNetSDK.FMSGCallBack_V31 {
private AlarmCallback callback;
public FMSGCallBack_V31(AlarmCallback callback){
this.callback = callback;
}

//报警信息回调函数
public boolean invoke(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) {
AlarmDataParse.alarmDataHandle(lCommand, pAlarmer, pAlarmInfo, dwBufLen, pUser);
AlarmDataParse.alarmDataHandle(lCommand, pAlarmer, pAlarmInfo, dwBufLen, pUser,callback);
return true;
}
}


+ 4
- 3
src/main/java/com/yzx/impl/HKVersion.java Wyświetl plik

@@ -7,6 +7,7 @@ import com.hkversion.HCNetSDK;
import com.sun.jna.Native;
import com.sun.jna.Pointer;
import com.yzx.IHardwareEquipment;
import com.yzx.callback.AlarmCallback;

public class HKVersion implements IHardwareEquipment {

@@ -33,14 +34,14 @@ public class HKVersion implements IHardwareEquipment {
private HardwareEquipmentInfo info;
public HKVersion(HardwareEquipmentInfo info){
this.info = info;
this.alarm();
this.alarm(info.getAlarmCallback());

}

private void alarm(){
private void alarm(AlarmCallback callback){
//设置报警回调函数
if (fMSFCallBack_V31 == null) {
fMSFCallBack_V31 = new FMSGCallBack_V31();
fMSFCallBack_V31 = new FMSGCallBack_V31(callback);
Pointer pUser = null;
if (!hCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(fMSFCallBack_V31, pUser)) {
System.out.println("设置回调函数失败!");


Ładowanie…
Anuluj
Zapisz