海康摄像头二次开发动态配置.dll与.so文件

需求

再对海康摄像头进行二次开发时,需要将海康提供的.dll(window)文件或.so(linux)文件通过路径的方式进行配置,项目在window上开发.在linux上进行部署,另一方面在linux上是通过jar包部署,无法直接获取到jar中.dll与.so文件的路径,需做成自动获取
在这里插入图片描述

问题

1.获取jar包中的指定的文件
2.如何填写有效的文件路径

通过jar包启动

获取jar包的路径,通过JarFile解析jar包,获取到想要的数据.复制到对应的文件夹下,将路径返回

代码

	//通过jar包启动
	public static String getLibraryPath(String type, String name) {
   
		String fileName = null;
		URL url= Application.class.getProtectionDomain().getCodeSource().getLocation();//获取jar包的路径
		try{
   
			//转化为utf-8编码,支持中文
			String path= URLDecoder.decode(url.getPath(),"utf-8");
			if(path.startsWith("file:")) {
   
				//判断是什么系统
				if (SystemUtils.name().equals("windows")) {
   
					path = path.replace("file:/", "");
				} else if (SystemUtils.name().equals("linux")) {
   
					path = path.replace("file:", "");
				}
			}
			if(path.contains(".jar!/")) {
   
				path = path.substring(0, path.indexOf(".jar!/")+4);//去掉后缀
			}
//			System.out.println(path);

			File file = new File(new File(path).getParentFile() + File.separator + type);//当前jar下新增目录
			if (!file.exists()) {
   
				JarFile jarFile =
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
#region using System; using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; using System.Text; using System.Threading; using SocketLibrary; #endregion namespace HkwsSDK { /// /// 在海康威视的SDK包上,再进行封装,供简单直接的调用. /// 目前可以控制硬盘录像机和解码器,需要两者密码一样. /// public class HKWS : IDisposable { #region (0)变量定义 /// /// 发现的文件信息结构 /// private readonly NetSDK.NET_DVR_FIND_DATA[] FindData = new NetSDK.NET_DVR_FIND_DATA[1000]; /// /// 远程录像状态 /// public int _StatusSaveMp4; /// /// 功能:设定播放延迟和流畅。 /// 调节播放的延时和流畅程度,如果buffNum值越大,播放的流畅性越好, /// 相应的延时比较大,buffNum值越小,播放的延时很小, /// 但是当网络不太顺畅的时候,会有丢帧现象,感觉播放不会很流畅。 /// 一般设置的帧缓冲大于等于6帧时,音频预览才会正常, /// 如果不需要音频预览,只需要视频实时性则这个值可以设置的更小。 /// public int buffNum = 10; public int bytesReturned; public int channel = 1; public int channelCount = 5; // 共8个通道 public int channelStart = 1; /// /// 客户端信息结构 /// public NetSDK.NET_DVR_CLIENTINFO ClientInfo; /// /// 解码器通道信息 /// public NetSDK.NET_DVR_MATRIX_DEC_CHAN_INFO dci; /// /// 解码器设备配置信息结构 /// public NetSDK.NET_DVR_DEVICECFG DecoderDeviceCfg; /// /// 解码器设备信息结构体结构实体化 /// public NetSDK.NET_DVR_DEVICEINFO DecoderDeviceInfo; /// /// 解码器信息结构体实例化 /// public Server_Info DecoderInfo; /// /// 解码器登录用户id /// public int decoderUserID; /// /// 硬盘录像机设备配置信息结构 /// public NetSDK.NET_DVR_DEVICECFG DvrDeviceCfg; /// /// 硬盘录像机设备信息结构体结构

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值