zhaowenyu
2025-11-06 fc6ca367242f0893b295907c3eaa08f035ae78ef
2025-11-6 zwy 调整判断已经开启直播的情况下,关闭直播重新开启。
1 files modified
14 ■■■■■ changed files
ard-sample/src/main/java/com/ard/sample/component/websocket/handler/LiveStreamHandler.java 14 ●●●●● patch | view | raw | blame | history
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;
                }
            }
        }