package com.casic.missiles.config; import com.casic.missiles.ptz.service.HCNetSDK; import com.sun.jna.Native; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.io.File; /** * @创建人 qianchengcheng * @创建时间 2022/4/25 * @描述 */ //@Configuration public class HikLibConfig { @Value("${casic.hiklib:-1}") private String hikLibPath; private static HCNetSDK hcNetSDK; @Bean public HCNetSDK initHkSDK() { System.out.println("initHkSDK.getHklibPath=========>" + hikLibPath); String os = System.getProperty("os.name"); if (StringUtils.isNotEmpty(os) && os.toLowerCase().startsWith("windows")) { if ("-1".equals(hikLibPath)) { // 未配置海康库文件路径,且未打成jar包,读取工程中的库文件 String path = (HikLibConfig.class.getResource("/").getPath()).replaceAll("%20", " ").substring(1).replace("/", "\\"); hikLibPath = path + "hiklib" + File.separator + "HCNetSDK.dll"; } } hcNetSDK = (HCNetSDK) Native.loadLibrary(hikLibPath, HCNetSDK.class); return hcNetSDK; } }