zoukankan      html  css  js  c++  java
  • 海康SDK JAVA版本调用步骤及问题介绍

    一、前言

    本文为海康SDK JAVA版本Demo的介绍,采用Eclipse运行,以及一些问题记录。

    海康SDK版本:SDK_Win32

    Eclipse版本:Mars2.0

    JDK版本:1.8.0_151 32位

    二、下载

    官网文档 https://www.hikvision.com/cn/download_61.html 
    请根据需要下载,这里我下载的是 设备网络SDK_Win32 https://www.hikvision.com/cn/download_more_401.html
    

    三、解压成项目运行

    下载完后解压,将1-ClientDemo(C:UserschendaliangDesktop4- Java 开发示例1-ClientDemoClientDemo-NetBeansPro)文件复制到你的JAVA项目目录,然后根据注意事项:

    【Demo内容说明】
    -------------------------------------
    1. 该Demo主要介绍预览、回放、云台控制、参数配置等基本功能
    
    
    【注意事项】
    ------------------------------------
    1. 请到海康威视官网下载最新版本设备网络SDK:http://www.hikvision.com/Cn/download_more_401.html
    
    2. 请修改程序代码,其中HCNetSDK.java文件自己指定loadlibrary加载库的路径,【库文件】里的HCNetSDK.dll、HCCore.dll、HCNetSDKCom文件夹、PlayCtrl.dll、SuperRender.dll、AudioRender.dll、ssleay32.dll、libeay32.dll等文件均拷贝到lib文件夹下。
    
       HCNetSDKCom文件夹(包含里面的功能组件dll库文件)需要和HCNetSDK.dll、HCCore.dll一起加载,放在同一个目录下,且HCNetSDKCom文件夹名不能修改。
    
    3. 如果自行开发软件不能正常实现相应功能,而且程序没有指定加载的dll库路径,请在程序运行的情况下尝试删除HCNetSDK.dll。如果可以删除,说明程序可能调用到系统盘Windows->System32目录下的dll文件,建议删除或者更新该目录下的相关dll文件;如果不能删除,dll文件右键选择属性确认SDK库版本。
    
    4. 如按上述步骤操作后还是不能实现相应功能,请根据NET_DVR_GetLastError返回的错误号判断原因。
    

    这里我将Demo中全部的DLL以及HCNetSDKCom文件夹都复制到项目根目录中,以防麻烦,可能在注册时出现资源分配失败

    转到eclipse,项目导入jna.jar和examples.jar

    打开HCNetSDK.java,由于HCNetSDK.dll和PlayCtrl.dll路径均为相对路径,将其修改为你的绝对路径.

    HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary("C:\Users\chendaliang\Desktop\java workspace\hikcentral\HCNetSDK", HCNetSDK.class);
    PlayCtrl INSTANCE = (PlayCtrl) Native.loadLibrary("C:\Users\chendaliang\Desktop\java workspace\hikcentral\PlayCtrl.dll",
                PlayCtrl.class);
    
    

    对ClientDemo.java的一些BUG进行修正,如HWND未声明等。运行项目:

    但注册会发生注册失败,我们在注册时检查发现SDK未初始化,我们在jButtonLoginActionPerformed函数加入hCNetSDK.NET_DVR_Init();,成功运行获得预览窗口

    四、尾声

    以上就是海康SDK JAVA版本的运行过程,如果仍然有疑问可以在博客下方留言,我会及时回复,谢谢!

  • 相关阅读:
    面试收集—hello,world 也有新花样
    div+css优缺点
    css固定textarea文本域尺寸
    Python if __name__ == "__main__":
    ActionScript3.0基础教程
    【转】Flex代码生成器 (FCG)
    手机第一博文
    TabNavigator只初始化第一个TAB 引发的未初始化对象错误
    如何对待懒惰的小孩
    对孩子真诚就是尊重孩子,不要随意表扬
  • 原文地址:https://www.cnblogs.com/chendl111/p/11357739.html
Copyright © 2011-2022 走看看