Java Demo運行截圖:
由于涉及到空間隱私,部分位置會打碼,

設備網路SDK
設備網路SDK是基于硬體的SDK,是基于設備私有網路通信協議開發的,為后端設備(嵌入式網路硬碟錄像機、視頻服務器)、前端設備(網路攝像機、網路球機、IP模塊)等產品服務的配套模塊,用于遠程訪問和控制設備軟體的二次開發,
設備網路SDK_Win64下載地址,這是官網地址哦~
順便貼上 Hikvision AI Cloud 開放平臺 如果開發程序中遇到問題,可以到這里查找解決辦法,

SDK下載完解壓出來:

匯入工程
將Demo示例里面的Java 開發示例匯入到Eclipse里,因為這是個Eclipse專案,
如果習慣用IDEA開發專案的同志,不知道如何匯入,可以按照下面的步驟匯入:
- 進入到Package Explorer視圖,右鍵空白的地方,點擊Import按鈕:

2.找到General檔案夾,選擇其下面的Existing Projects into Workspace

- 選擇剛才解壓路徑里面的Java Demo根路徑:

- 至此,專案匯入成功:

ClientDemo除錯
這個Demo的Main類是:ClientDemo.java,但是如果你直接運行它的話,會報錯:

報錯代碼:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'HCNetSDK': ???μ???¨
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:145)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:188)
at com.sun.jna.Library$Handler.<init>(Library.java:123)
at com.sun.jna.Native.loadLibrary(Native.java:255)
at com.sun.jna.Native.loadLibrary(Native.java:241)
at ClientDemo.HCNetSDK.<clinit>(HCNetSDK.java:36)
at ClientDemo.ClientDemo.<clinit>(ClientDemo.java:66)
報錯提示,無法加載HCNetSDK這個庫,導致HCNetSDK初始化失敗,
如何解決這個錯誤呢?點開HCNetSDK.java ,在36行代碼左右:
//SDK介面說明,HCNetSDK.dll
public interface HCNetSDK extends StdCallLibrary {
HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary("HCNetSDK",
HCNetSDK.class);
.....
}
上面代碼并沒有指定HCNetSDK.dll檔案的路徑,而且Native.loadLibrary()只能填絕對路徑,相對路徑不起作用,先把dll檔案放進工程里面,需要放多少dll檔案呢?
點開工程根目錄下的SDK庫檔案拷貝到該目錄下.txt檔案,看注意事項中的第二點,如果看到的是亂碼,請將編碼格式設定成GBK:
2. 請修改程式代碼,其中HCNetSDK.java檔案自己指定loadlibrary加載庫的路徑,【庫檔案】里的HCNetSDK.dll、HCCore.dll、PlayCtrl.dll、SuperRender.dll、HCNetSDKCom檔案夾、ssleay32.dll、libeay32.dll、hlog.dll、hpr.dll、zlib1.dll、log4cxx.properties等檔案均拷貝到該路徑下,
注意啦!還需要一個AudioRender.dll檔案,沒有這個檔案是無法進行預覽的,就是看不到實時監控的畫面,視窗空白無反應,
如果使用hCNetSDK.NET_DVR_GetLastError()獲取錯誤碼,錯誤碼=64,是因為播放庫(PlayCtrl.dll、SuperRender.dll、AudioRender.dll)沒有拷貝加載到程式里面,

將上面提到的檔案都放到MyDemo1工程里面,怎么放呢?
右鍵MyDemo1工程,選擇New一個Source Folder,命名為dllLibrary:

將SDK開發包【庫檔案】里的HCNetSDK.dll、HCCore.dll、PlayCtrl.dll、SuperRender.dll、AudioRender.dll、HCNetSDKCom檔案夾、ssleay32.dll、libeay32.dll、hlog.dll、hpr.dll、zlib1.dll、log4cxx.properties等檔案均要拷貝到該檔案夾里:

最后一步,指定HCNetSDK庫的路徑,在HCNetSDK.java檔案上修改:
但是這里有兩處地方需要修改:
- HCNetSDK INSTANCE這里,改成下面代碼:
HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary(System.getProperty("user.dir")
+ "\\dllLibrary\\HCNetSDK.dll", HCNetSDK.class);
- PlayCtrl INSTANCE這里,改成下面代碼:
PlayCtrl INSTANCE = (PlayCtrl) Native.loadLibrary(System.getProperty("user.dir")
+ "\\dllLibrary\\PlayCtrl.dll", PlayCtrl.class);
然后再運行ClientDemo.java檔案,就不會再報錯了,會出現下面這個視窗:
至此,HCNetSDK初始化成功!如果網路已經接入了海康網路攝像頭DVR,可以填寫這個攝像頭的IP地址、用戶名&密碼、埠進行注冊,注冊成功后,可以選擇通道進行預覽,記得步驟是:先配置完攝像頭資料->注冊->選擇通道->預覽,
非常感謝你能看到最后,如果能夠幫助到你是我的榮幸!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/46007.html
標籤:其他
