1、前言
本文爲海康SDK JAVA版本Demo的介紹,採用Eclipse運行,以及一些問題記錄。javascript
海康SDK版本:SDK_Win32html
Eclipse版本:Mars2.0java
JDK版本:1.8.0_151 32位c++
2、下載
官網文檔 https://www.hikvision.com/cn/download_61.html 請根據須要下載,這裏我下載的是 設備網絡SDK_Win32 https://www.hikvision.com/cn/download_more_401.html
3、解壓成項目運行
下載完後解壓,將1-ClientDemo(C:\Users\chendaliang\Desktop\4- Java 開發示例\1-ClientDemo\ClientDemo-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
轉到eclipse,項目導入jna.jar和examples.jar函數
打開HCNetSDK.java,因爲HCNetSDK.dll和PlayCtrl.dll路徑均爲相對路徑,將其修改成你的絕對路徑.spa
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未聲明等。運行項目: 3d
但註冊會發生註冊失敗,咱們在註冊時檢查發現SDK未初始化,咱們在jButtonLoginActionPerformed函數加入hCNetSDK.NET_DVR_Init();
,成功運行得到預覽窗口 code
4、尾聲
以上就是海康SDK JAVA版本的運行過程,若是仍然有疑問能夠在博客下方留言,我會及時回覆,謝謝!