JNA调用dll - java集成一美IP对讲SDK(dll文件)

版权声明:本文为博主原创文章,欢迎转载,转载请注明出处 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);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/m0_37893932/article/details/79583318