zhanghua
2024-09-28 7873c6f56380d28e1ae6958f77a84081797c817f
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
package com.dahua.netsdk.lib.callback;
 
import com.dahua.netsdk.lib.NetSDKLib;
import com.dahua.netsdk.lib.ToolKits;
import com.dahua.netsdk.lib.enumeration.EM_HEATMAP_TYPE;
import com.dahua.netsdk.lib.structure.NET_CB_VIDEOSTAT_HEATMAP;
import com.sun.jna.Pointer;
 
/**
 * @author 47081
 * @version 1.0
 * @description 热度图回调函数的基类
 * @date 2020/9/24
 */
public abstract class BasicVideoStatHeatMapCallBack implements fVideoStatHeatMapCallBack {
  @Override
  public void invoke(
      NetSDKLib.LLong lAttachHandle,
      Pointer pBuf,
      Pointer pBinData,
      int dwBinDataLen,
      Pointer dwUser) {
    /** 获取热度图数据 */
    NET_CB_VIDEOSTAT_HEATMAP heatmap = new NET_CB_VIDEOSTAT_HEATMAP();
    ToolKits.GetPointerData(pBuf, heatmap);
    byte[] bytes = new byte[dwBinDataLen];
    pBinData.read(0, bytes, 0, dwBinDataLen);
    /** 处理热度图数据 */
    parseData(
        lAttachHandle.longValue(),
        heatmap.nToken,
        EM_HEATMAP_TYPE.getEmHeatMap(heatmap.emHeatMapType),
        bytes);
  }
 
  public abstract void parseData(
      long attachHandle, int nToken, EM_HEATMAP_TYPE type, byte[] binData);
}