package com.boying.service;
|
|
import com.boying.Util.OSUtils;
|
import com.boying.common.InitSdkTask;
|
import com.sun.jna.Native;
|
import com.sun.jna.Pointer;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import java.util.concurrent.ThreadPoolExecutor;
|
|
@Slf4j
|
@Component
|
public class SdkInitService {
|
public static HCNetSDK hcNetSDK = null;
|
public static PlayCtrl playCtrl = null;
|
static HCNetSDK.FExceptionCallBack fExceptionCallBack;
|
static class FExceptionCallBack_Imp implements HCNetSDK.FExceptionCallBack{
|
@Override
|
public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser) {
|
System.out.println("异常事件类型");
|
return;
|
}
|
}
|
|
public SdkInitService(){
|
if (hcNetSDK == null){
|
synchronized (HCNetSDK.class){
|
try {
|
hcNetSDK = (HCNetSDK) Native.loadLibrary(OSUtils.getLoadLibrary(),HCNetSDK.class);
|
} catch (Exception ex) {
|
log.error("SdkInitService-init-hCNetSDK-error");
|
}
|
}
|
}
|
if (playCtrl == null){
|
synchronized (HCNetSDK.class){
|
try {
|
playCtrl = (PlayCtrl) Native.loadLibrary(OSUtils.getLoadPlayLibrary(), PlayCtrl.class);
|
} catch (Exception ex) {
|
log.error("PlatCtrlInitService-init-PlatCtrl-error");
|
}
|
}
|
}
|
|
}
|
|
@Autowired
|
private ThreadPoolExecutor executor;
|
public void initSdk() {
|
log.info("HKSDKInitService-init-coming");
|
executor.execute(new InitSdkTask());
|
}
|
}
|