package cn.ruiyuan.enforcecheck.hik;
import com.sun.jna.NativeLong;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;
import org.springframework.stereotype.Component;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import static cn.ruiyuan.enforcecheck.hik.Path.IMAGEPATH;
@SuppressWarnings("Duplicates")
//@Component
public class WinHikTest {
static HCNetSDK hCNetSDK = HCNetSDK.INSTANCE;
static HCNetSDK.NET_DVR_USER_LOGIN_INFO m_strLoginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO();//设备登录信息
static HCNetSDK.NET_DVR_DEVICEINFO_V40 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40();//设备信息
private static NativeLong startChan = new NativeLong(-1); // start channel number
static FMSGCallBack fMSFCallBack;//报警回调函数实现
static FMSGCallBack_V31 fMSFCallBack_V31;//报警回调函数实现
FGPSDataCallback fGpsCallBack;//GPS信息查询回调函数实现
public static class FMSGCallBack implements HCNetSDK.FMSGCallBack
{
//报警信息回调函数
public void invoke(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser)
{
AlarmDataHandle(lCommand, pAlarmer, pAlarmInfo, dwBufLen, pUser);
}
}
//交通事件打印处理
public static void AlarmDataHandle(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser)
{
try {
String sAlarmType = new String();
String[] newRow = new String[3];
//报警时间
Date today = new Date();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"