版权声明:本文为博主原创文章,欢迎转载,转载请注明出处 https://blog.csdn.net/m0_37893932/article/details/79583318
项目需要集成一美IP对讲机,一美SDK是dll文件,其他的dll文件集成做法也类似.记录一下
准备
将一美SDK文件的DataTran.dll
文件放到系统C:\Windows\System32
文件夹里
JNA调用dll功能
import com.sun.jna.Native;
import com.sun.jna.win32.StdCallLibrary;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Created by zhengwei on 2018/3/15.
*/
public interface DataTranDll extends StdCallLibrary {
//加载dll文件
DataTranDll dataTran = (DataTranDll) Native.loadLibrary("DataTran",DataTranDll.class);
//初始化
boolean initNetWork();
//设置回调
boolean startUdpSvr(int iUdpSvrPort,IPTalkCallBack staFun);
//远端呼叫
int OpForceCall(String strDestIP, String strFromID, String strToID, int iSubIndex, int iPriorty);
//远端挂断
int OpRestartHangupReset(String strDestIP, int iOPType, String strDevNum);//1重启,2强拆,3复位
//向服务器获取设备状态
String GetDevSta(String ip,String devIDs);
//回调里的函数
interface devStaFun extends StdCallCallback {
void getDevSta(String strFromID,String strToID,int iStaType);
}
//回调函数实现
class IPTalkCallBack implements DataTranDll.devStaFun{
private static final Logger LOGGER = LoggerFactory.getLogger(IPTalkCallBack.class);
public void getDevSta(String strFromID, String strToID, int iStaType) {
LOGGER.info("______IPTalkCallBack_strFromID: {},strToID: {},iStaType: {}",strFromID,strToID,iStaType);
}
}
}