From fc6ca367242f0893b295907c3eaa08f035ae78ef Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Thu, 06 Nov 2025 15:56:45 +0800
Subject: [PATCH] 2025-11-6 zwy 调整判断已经开启直播的情况下,关闭直播重新开启。

---
 ard-sample/src/main/java/com/ard/sample/component/websocket/handler/LiveStreamHandler.java |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/ard-sample/src/main/java/com/ard/sample/component/websocket/handler/LiveStreamHandler.java b/ard-sample/src/main/java/com/ard/sample/component/websocket/handler/LiveStreamHandler.java
index 632ff3b..a3751fb 100644
--- a/ard-sample/src/main/java/com/ard/sample/component/websocket/handler/LiveStreamHandler.java
+++ b/ard-sample/src/main/java/com/ard/sample/component/websocket/handler/LiveStreamHandler.java
@@ -73,7 +73,9 @@
                     try {
                         rlive = _liveStreamService.liveStart(param);
                         if (rlive != null) {
-                            if (rlive.getCode() == 513003) {
+//                            if (rlive.getCode() == 513003) {
+                            while (rlive.getCode() == 513003) {
+                                //Thread.sleep(200);
                                 _liveStreamService.liveStop(param.getVideoId());
                                 System.out.println("相机已经在直播中,关闭直播后重启直播!");
                                 rlive = _liveStreamService.liveStart(param);
@@ -82,16 +84,16 @@
                                 // 直播成功后,在redis中存一个标记,将videoid保留,留给停止直播使用
                                 System.out.println("开启直播成功!");
                                 RedisOpsUtils.setWithExpire(RedisConst.WEBSOCKET_VideoId_PREFIX + sn, param.getVideoId(), RedisConst.WEBSOCKET_ALIVE_SECOND);
-                                rlive.setGateway(sn);
                             }
+                            rlive.setGateway(sn);
+                            rlive.setType(MessageType.LIVESTREAM.getType());
+                            resultLive = _objectMapper.writeValueAsString(rlive);
+                            _dockWebSocketHandler.sendMessageToSubscribers(sn, MessageType.LIVESTREAM.getType(), resultLive);
+                            break;
                         }
-                        rlive.setType(MessageType.LIVESTREAM.getType());
-                        resultLive = _objectMapper.writeValueAsString(rlive);
                     } catch (Exception e) {
                         e.printStackTrace();
                     }
-                    _dockWebSocketHandler.sendMessageToSubscribers(sn, MessageType.LIVESTREAM.getType(), resultLive);
-                    break;
                 }
             }
         }

--
Gitblit v1.9.3