From 5b017324148ea92d96f9f16ade215463d6c712e5 Mon Sep 17 00:00:00 2001 From: liusuyi <1951119284@qq.com> Date: 星期六, 10 八月 2024 14:15:02 +0800 Subject: [PATCH] 优化:海康大华sdk断线重连机制 --- ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/module/ConfigModule.java | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/module/ConfigModule.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/module/ConfigModule.java index 645afae..7075434 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/module/ConfigModule.java +++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/module/ConfigModule.java @@ -82,6 +82,22 @@ return result; } + //鏌ヨ閫氶亾鍚嶇О + public static String getChannelName(NetSDKLib.LLong hLoginHandle, Integer channel) { + String channelName = ""; + NetSDKLib.AV_CFG_ChannelName channelTitleName = new NetSDKLib.AV_CFG_ChannelName(); + if (ToolKits.GetDevConfig(hLoginHandle, channel - 1, NetSDKLib.CFG_CMD_CHANNELTITLE, channelTitleName)) { + try { + channelName = new String(channelTitleName.szName, "GBK"); + } catch (Exception e) { + log.error("getChannelName Failed!"); + } + } else { + log.error("Get Channel Name Failed." + ToolKits.getErrorCodePrint()); + } + return channelName; + } + public static boolean GetDevConfig(NetSDKLib.LLong hLoginHandle, int nChn, String strCmd, Structure cmdObject) { boolean result = true; IntByReference error = new IntByReference(0); @@ -98,6 +114,7 @@ return result; } + //鏌ヨ鐩告満鐘舵�� public static boolean queryCameraState(NetSDKLib.LLong hLoginHandle, Integer chanNum, Integer chanNo) { boolean bRet = false; try { @@ -128,8 +145,9 @@ stOut.read(); ToolKits.GetPointerDataToStructArr(stOut.pCameraStateInfo, arrCameraStatus); // 灏哖ointer鎷疯礉鍒版暟缁勫唴瀛� final String[] connectionState = {"鏈煡", "姝e湪杩炴帴", "宸茶繛鎺�", "鏈繛鎺�", "閫氶亾鏈厤缃�,鏃犱俊鎭�", "閫氶亾鏈夐厤缃�,浣嗚绂佺敤"}; + if (connectionState[arrCameraStatus[chanNo - 1].emConnectionState].equals("宸茶繛鎺�")) { - log.debug("閫氶亾" + arrCameraStatus[chanNo - 1].nChannel + connectionState[arrCameraStatus[chanNo - 1].emConnectionState]); + //log.debug("閫氶亾锛�" + arrCameraStatus[chanNo - 1].nChannel + "鐘舵�侊細" + connectionState[arrCameraStatus[chanNo - 1].emConnectionState]); bRet = true; } else { bRet = false; @@ -191,6 +209,5 @@ return result; } - } -- Gitblit v1.9.3