From 3591fc47eaa3e301252dc06d257d46bd3a45e120 Mon Sep 17 00:00:00 2001
From: liusuyi <13324259@qq.com>
Date: 星期一, 23 十月 2023 22:10:19 +0800
Subject: [PATCH] 相机sdk异步登录

---
 ard-work/src/main/java/com/ruoyi/device/dhsdk/module/RealPlayModule.java |  204 +++++++++++++++++++++++++-------------------------
 1 files changed, 103 insertions(+), 101 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/device/dhsdk/module/RealPlayModule.java b/ard-work/src/main/java/com/ruoyi/device/dhsdk/module/RealPlayModule.java
index a97ce4c..767f9f3 100644
--- a/ard-work/src/main/java/com/ruoyi/device/dhsdk/module/RealPlayModule.java
+++ b/ard-work/src/main/java/com/ruoyi/device/dhsdk/module/RealPlayModule.java
@@ -1,102 +1,104 @@
-package com.ruoyi.device.dhsdk.module;
-
-import com.ruoyi.device.dhsdk.lib.NetSDKLib;
-import com.ruoyi.device.dhsdk.lib.ToolKits;
-import com.sun.jna.Pointer;
-
-import static com.ruoyi.device.dhsdk.module.LoginModule.netsdk;
-
-/**
- * 瀹炴椂棰勮鎺ュ彛瀹炵幇
- * 涓昏鏈� 锛氬紑濮嬫媺娴併�佸仠姝㈡媺娴佸姛鑳�
- */
-public class RealPlayModule {
-    /**
-     * \if ENGLISH_LANG
-     * Start RealPlay
-     * \else
-     * 寮�濮嬮瑙�
-     * \endif
-     */
-
-    public static NetSDKLib.LLong startRealPlay(NetSDKLib.LLong m_hLoginHandle, int channel, String path) {
-        NetSDKLib.NET_IN_REALPLAY_BY_DATA_TYPE net_in_realplay_by_data_type = new NetSDKLib.NET_IN_REALPLAY_BY_DATA_TYPE();
-        net_in_realplay_by_data_type.nChannelID = channel;
-        net_in_realplay_by_data_type.hWnd = null;
-        net_in_realplay_by_data_type.rType = 0;
-        net_in_realplay_by_data_type.emDataType = NetSDKLib.EM_REAL_DATA_TYPE.EM_REAL_DATA_TYPE_MP4;
-        net_in_realplay_by_data_type.szSaveFileName = path;
-        NetSDKLib.NET_OUT_REALPLAY_BY_DATA_TYPE net_out_realplay_by_data_type = new NetSDKLib.NET_OUT_REALPLAY_BY_DATA_TYPE();
-        NetSDKLib.LLong m_hPlayHandle = netsdk.CLIENT_RealPlayByDataType(m_hLoginHandle, net_in_realplay_by_data_type, net_out_realplay_by_data_type, 5000);
-        if (m_hPlayHandle.longValue() == 0) {
-            System.err.println("寮�濮嬪疄鏃堕瑙堝け璐ワ紝閿欒鐮�" + ToolKits.getErrorCodePrint());
-        } else {
-            System.out.println("Success to start realplay");
-        }
-        return m_hPlayHandle;
-    }
-
-    /**
-     * \if ENGLISH_LANG
-     * Stop RealPlay
-     * \else
-     * 鍋滄棰勮
-     * \endif
-     */
-    public static void stopRealPlay(NetSDKLib.LLong m_hPlayHandle) {
-        if (m_hPlayHandle.longValue() == 0) {
-            return;
-        }
-        boolean bRet = netsdk.CLIENT_StopRealPlayEx(m_hPlayHandle);
-        if (bRet) {
-            m_hPlayHandle.setValue(0);
-        }
-    }
-
-    /**
-     * 瀹炴椂棰勮鏁版嵁鍥炶皟鍑芥暟--鎵╁睍(pBuffer鍐呭瓨鐢盨DK鍐呴儴鐢宠閲婃斁)
-     */
-    private static class CbfRealDataCallBackEx implements NetSDKLib.fRealDataCallBackEx {
-        private CbfRealDataCallBackEx() {
-        }
-
-        private static class CallBackHolder {
-            private static CbfRealDataCallBackEx instance = new CbfRealDataCallBackEx();
-        }
-
-        public static CbfRealDataCallBackEx getInstance() {
-            return CallBackHolder.instance;
-        }
-
-        @Override
-        public void invoke(NetSDKLib.LLong lRealHandle, int dwDataType, Pointer pBuffer,
-                           int dwBufSize, int param, Pointer dwUser) {
-            int bInput = 0;
-            if (0 != lRealHandle.longValue()) {
-                switch (dwDataType) {
-                    case 0:
-                        System.out.println("鐮佹祦澶у皬涓�" + dwBufSize + "\n" + "鐮佹祦绫诲瀷涓哄師濮嬮煶瑙嗛娣峰悎鏁版嵁");
-                        break;
-                    case 1:
-                        //鏍囧噯瑙嗛鏁版嵁
-                        System.out.println("鐮佹祦澶у皬涓�" + dwBufSize + "\n" + "鐮佹祦绫诲瀷涓烘爣鍑嗚棰戞暟鎹�");
-                        break;
-                    case 2:
-                        //yuv 鏁版嵁
-                        System.out.println("鐮佹祦澶у皬涓�" + dwBufSize + "\n" + "鐮佹祦绫诲瀷涓簓uv鏁版嵁");
-                        break;
-                    case 3:
-                        //pcm 闊抽鏁版嵁
-                        System.out.println("鐮佹祦澶у皬涓�" + dwBufSize + "\n" + "鐮佹祦绫诲瀷涓洪煶棰戞暟鎹�");
-                        break;
-                    case 4:
-                        //鍘熷闊抽鏁版嵁
-                        System.out.println("鐮佹祦澶у皬涓�" + dwBufSize + "\n" + "鐮佹祦绫诲瀷涓哄師濮嬮煶棰戞暟鎹�");
-                        break;
-                    default:
-                        break;
-                }
-            }
-        }
-    }
+package com.ruoyi.device.dhsdk.module;
+
+import com.ruoyi.device.dhsdk.lib.NetSDKLib;
+import com.ruoyi.device.dhsdk.lib.ToolKits;
+import com.sun.jna.Pointer;
+import lombok.extern.slf4j.Slf4j;
+
+import static com.ruoyi.device.dhsdk.module.LoginModule.netsdk;
+
+/**
+ * 瀹炴椂棰勮鎺ュ彛瀹炵幇
+ * 涓昏鏈� 锛氬紑濮嬫媺娴併�佸仠姝㈡媺娴佸姛鑳�
+ */
+@Slf4j(topic = "dhSdk")
+public class RealPlayModule {
+    /**
+     * \if ENGLISH_LANG
+     * Start RealPlay
+     * \else
+     * 寮�濮嬮瑙�
+     * \endif
+     */
+
+    public static NetSDKLib.LLong startRealPlay(NetSDKLib.LLong m_hLoginHandle, int channel, String path) {
+        NetSDKLib.NET_IN_REALPLAY_BY_DATA_TYPE net_in_realplay_by_data_type = new NetSDKLib.NET_IN_REALPLAY_BY_DATA_TYPE();
+        net_in_realplay_by_data_type.nChannelID = channel;
+        net_in_realplay_by_data_type.hWnd = null;
+        net_in_realplay_by_data_type.rType = 0;
+        net_in_realplay_by_data_type.emDataType = NetSDKLib.EM_REAL_DATA_TYPE.EM_REAL_DATA_TYPE_MP4;
+        net_in_realplay_by_data_type.szSaveFileName = path;
+        NetSDKLib.NET_OUT_REALPLAY_BY_DATA_TYPE net_out_realplay_by_data_type = new NetSDKLib.NET_OUT_REALPLAY_BY_DATA_TYPE();
+        NetSDKLib.LLong m_hPlayHandle = netsdk.CLIENT_RealPlayByDataType(m_hLoginHandle, net_in_realplay_by_data_type, net_out_realplay_by_data_type, 5000);
+        if (m_hPlayHandle.longValue() == 0) {
+            log.error("寮�濮嬪疄鏃堕瑙堝け璐ワ紝閿欒鐮�" + ToolKits.getErrorCodePrint());
+        } else {
+            log.debug("Success to start realplay");
+        }
+        return m_hPlayHandle;
+    }
+
+    /**
+     * \if ENGLISH_LANG
+     * Stop RealPlay
+     * \else
+     * 鍋滄棰勮
+     * \endif
+     */
+    public static void stopRealPlay(NetSDKLib.LLong m_hPlayHandle) {
+        if (m_hPlayHandle.longValue() == 0) {
+            return;
+        }
+        boolean bRet = netsdk.CLIENT_StopRealPlayEx(m_hPlayHandle);
+        if (bRet) {
+            m_hPlayHandle.setValue(0);
+        }
+    }
+
+    /**
+     * 瀹炴椂棰勮鏁版嵁鍥炶皟鍑芥暟--鎵╁睍(pBuffer鍐呭瓨鐢盨DK鍐呴儴鐢宠閲婃斁)
+     */
+    private static class CbfRealDataCallBackEx implements NetSDKLib.fRealDataCallBackEx {
+        private CbfRealDataCallBackEx() {
+        }
+
+        private static class CallBackHolder {
+            private static CbfRealDataCallBackEx instance = new CbfRealDataCallBackEx();
+        }
+
+        public static CbfRealDataCallBackEx getInstance() {
+            return CallBackHolder.instance;
+        }
+
+        @Override
+        public void invoke(NetSDKLib.LLong lRealHandle, int dwDataType, Pointer pBuffer,
+                           int dwBufSize, int param, Pointer dwUser) {
+            int bInput = 0;
+            if (0 != lRealHandle.longValue()) {
+                switch (dwDataType) {
+                    case 0:
+                        log.debug("鐮佹祦澶у皬涓�" + dwBufSize + "\n" + "鐮佹祦绫诲瀷涓哄師濮嬮煶瑙嗛娣峰悎鏁版嵁");
+                        break;
+                    case 1:
+                        //鏍囧噯瑙嗛鏁版嵁
+                        log.debug("鐮佹祦澶у皬涓�" + dwBufSize + "\n" + "鐮佹祦绫诲瀷涓烘爣鍑嗚棰戞暟鎹�");
+                        break;
+                    case 2:
+                        //yuv 鏁版嵁
+                        log.debug("鐮佹祦澶у皬涓�" + dwBufSize + "\n" + "鐮佹祦绫诲瀷涓簓uv鏁版嵁");
+                        break;
+                    case 3:
+                        //pcm 闊抽鏁版嵁
+                        log.debug("鐮佹祦澶у皬涓�" + dwBufSize + "\n" + "鐮佹祦绫诲瀷涓洪煶棰戞暟鎹�");
+                        break;
+                    case 4:
+                        //鍘熷闊抽鏁版嵁
+                        log.debug("鐮佹祦澶у皬涓�" + dwBufSize + "\n" + "鐮佹祦绫诲瀷涓哄師濮嬮煶棰戞暟鎹�");
+                        break;
+                    default:
+                        break;
+                }
+            }
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3