Newer
Older
casic-robot-inspection / casic-ptz / src / main / java / com / casic / missiles / config / HikLibConfig.java
liwenhao on 22 Nov 2023 1 KB 电压,电量 采集更新
package com.casic.missiles.config;

import com.casic.missiles.modular.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.hikSdk:-1}")
    private String hikLibPath;
    public static String hikSdk;
    public static String hikPlay;
    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()).substring(1).replace("/",
                        "\\");
                hikLibPath = path + "hiklib" + File.separator + "HCNetSDK.dll";
            }
        }
        hcNetSDK = (HCNetSDK) Native.loadLibrary(hikLibPath, HCNetSDK.class);
        return hcNetSDK;
    }
    @Value("${casic.hikSdk:-1}")
    public  void setHikSdk(String hikSdk) {
        System.out.println("load path:"+hikSdk);
        HikLibConfig.hikSdk = hikSdk;
    }
    @Value("${casic.hikPlay:-1}")
    public  void setHikPlay(String hikPlay) {
        System.out.println("load path:"+hikPlay);
        HikLibConfig.hikPlay = hikPlay;
    }
}