diff --git a/casic-server/src/main/java/com/casic/missiles/ptz/service/impl/HCNetServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/ptz/service/impl/HCNetServiceImpl.java index 09ce392..e25bf50 100644 --- a/casic-server/src/main/java/com/casic/missiles/ptz/service/impl/HCNetServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/ptz/service/impl/HCNetServiceImpl.java @@ -1,6 +1,8 @@ package com.casic.missiles.ptz.service.impl; import cn.hutool.core.util.ObjectUtil; +import com.casic.missiles.config.HiLibProperty; +import com.casic.missiles.core.util.SpringContextHolder; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.ptz.common.DeviceCommon; import com.casic.missiles.ptz.config.PoolConfig; @@ -13,6 +15,7 @@ import com.casic.missiles.ptz.service.IDeviceOperationService; import com.casic.missiles.ptz.service.IHCNetService; import com.sun.jna.Memory; +import com.sun.jna.Native; import com.sun.jna.NativeLong; import com.sun.jna.Pointer; import org.apache.commons.lang3.StringUtils; @@ -27,8 +30,15 @@ private static final Logger logger = LoggerFactory.getLogger(HCNetServiceImpl.class); - private static HCNetSDK hCNetSDK = HCNetSDK.INSTANCE; + private static String path = SpringContextHolder.getBean(HiLibProperty.class).getHikLibPath(); + private static HCNetSDK hCNetSDK = (HCNetSDK) Native.loadLibrary(path, + HCNetSDK.class); +// String dllPath = Thread.currentThread().getContextClassLoader().getResource("").getPath(); +// String path = dllPath.substring(1).replace("/", File.separator)+"config"+File.separator+"hiklib"+File.separator+"HCNetSDK.dll"; + //String path = "D:\\CH-HCNetSDKV6.1.6.3_build20200925_Win64\\CH-HCNetSDKV6.1.6.3_build20200925_Win64\\Demo示例\\4- Java 开发示例\\1-ClientDemo\\ClientDemo-NetBeansPro\\lib\\HCNetSDK.dll"; + HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary(path, + HCNetSDK.class); private HCNetSDK.FSerialDataCallBack fSerialDataCallBack = new SerialDataCallBack(); private Long timestampCollcect; @@ -48,7 +58,7 @@ } -// @Value("${casic.panTilt.defaultStoptime:5}") + // @Value("${casic.panTilt.defaultStoptime:5}") // private String defaultStoptime; // @Value("${casic.alarmvalue}") // private String alarmvalue;