| | |
| | | **/ |
| | | @Slf4j(topic = "hikSdk") |
| | | public class HikClientUtil { |
| | | |
| | | private static HCNetSDK hCNetSDK; |
| | | public static HCNetSDK hCNetSDK = HCNetSDK.hCNetSDK;
|
| | | // 报警回调函数实现 |
| | | public static HCNetSDK.FMSGCallBack_V31 fMSFCallBack_V31; |
| | | |
| | | public static void loadHCNetSDKLib() { |
| | | try { |
| | | log.debug("开始加载sdk库文件路径"); |
| | | if (Platform.isWindows()) { |
| | | String WIN_PATH = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "HCNetSDK.dll"; |
| | | log.debug("当前Windows平台的sdk库路径:" + WIN_PATH); |
| | | hCNetSDK = (HCNetSDK) Native.loadLibrary(WIN_PATH, HCNetSDK.class); |
| | | } else { |
| | | log.debug("Linux平台"); |
| | | String LINUX_PATH = System.getProperty("user.dir") + File.separator + "hiklib" + File.separator + "libhcnetsdk.so"; |
| | | log.debug("当前Linux平台的sdk库路径:" + LINUX_PATH); |
| | | hCNetSDK = (HCNetSDK) Native.loadLibrary(LINUX_PATH, HCNetSDK.class); |
| | | |
| | | //设置HCNetSDKCom组件库所在路径 |
| | | //libhcnetsdk.so |
| | | String strPathCom = "/home/hiklib"; |
| | | HCNetSDK.NET_DVR_LOCAL_SDK_PATH struComPath = new HCNetSDK.NET_DVR_LOCAL_SDK_PATH(); |
| | | System.arraycopy(strPathCom.getBytes(), 0, struComPath.sPath, 0, strPathCom.length()); |
| | | struComPath.write(); |
| | | hCNetSDK.NET_DVR_SetSDKInitCfg(2, struComPath.getPointer()); |
| | | |
| | | //设置libcrypto.so所在路径 |
| | | HCNetSDK.BYTE_ARRAY ptrByteArrayCrypto = new HCNetSDK.BYTE_ARRAY(256); |
| | | String strPathCrypto = "/home/hiklib/libcrypto.so.1.1"; |
| | | System.arraycopy(strPathCrypto.getBytes(), 0, ptrByteArrayCrypto.byValue, 0, strPathCrypto.length()); |
| | | ptrByteArrayCrypto.write(); |
| | | hCNetSDK.NET_DVR_SetSDKInitCfg(3, ptrByteArrayCrypto.getPointer()); |
| | | |
| | | //设置libssl.so所在路径 |
| | | HCNetSDK.BYTE_ARRAY ptrByteArraySsl = new HCNetSDK.BYTE_ARRAY(256); |
| | | String strPathSsl = "/home/hiklib/libssl.so.1.1"; |
| | | System.arraycopy(strPathSsl.getBytes(), 0, ptrByteArraySsl.byValue, 0, strPathSsl.length()); |
| | | ptrByteArraySsl.write(); |
| | | hCNetSDK.NET_DVR_SetSDKInitCfg(4, ptrByteArraySsl.getPointer()); |
| | | } |
| | | } catch (Exception ex) { |
| | | log.error("加载库文件异常:" + ex.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @描述 注册登录 只支持同步登陆,且官方不建议直接在此接口下写耗时操作 |