Newer
Older
casic-pan-tilt-br / casic-server / src / main / java / com / casic / missiles / config / HikLibConfig.java
casic_zt on 23 May 2024 1 KB first commit
package com.casic.missiles.config;


import com.casic.missiles.modular.system.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;
    public static HCNetSDK hcNetSDK;


    public static 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("/home/casic/lib/libhcnetsdk.so", 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;
    }
}