zhaowenyu
2025-11-08 a0d07739848e3a94038a90ba9c64a11e009f42e4
2025-11-8 zwy 新增获取video_id接口
2 files modified
18 ■■■■■ changed files
ard-admin/src/main/java/com/ard/web/controller/sample/LiveStreamController.java 11 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/component/websocket/handler/LiveStreamHandler.java 7 ●●●●● patch | view | raw | blame | history
ard-admin/src/main/java/com/ard/web/controller/sample/LiveStreamController.java
@@ -73,16 +73,17 @@
    @ApiOperation("获取video_id")
    @PostMapping("/videoid/{sn}")
    public String getVideoId(@PathVariable String sn) {
        String videoId = "";
    public ResponseResult<LiveTypeDTO> getVideoId(@PathVariable String sn) {
        LiveTypeDTO liveTypeDTO = new LiveTypeDTO();
        try{
            videoId = _liveStreamHandler.getLiveParam(sn).getVideoId();
            liveTypeDTO = _liveStreamHandler.getLiveParam(sn);
        }
        catch (Exception e){
            videoId = e.getMessage();
            // videoId = e.getMessage();
            e.printStackTrace();
        }
        return videoId;
        return ResponseResult.success(liveTypeDTO);
    }
    /**
ard-sample/src/main/java/com/ard/sample/component/websocket/handler/LiveStreamHandler.java
@@ -57,8 +57,8 @@
            }
        } catch (Exception e) {
            log.info("SN: {}-开启直播失败!原因:{}", sn, e.getMessage());
            String jsonString = getResult(sn, "开启直播失败!原因:" + e.getMessage());
            _dockWebSocketHandler.sendMessageToSubscribers(sn, MessageType.LIVESTREAM.getType(), jsonString);
            resultLive = getResult(sn, "开启直播失败!原因:" + e.getMessage());
//            _dockWebSocketHandler.sendMessageToSubscribers(sn, MessageType.LIVESTREAM.getType(), jsonString);
            e.printStackTrace();
        }
@@ -78,9 +78,12 @@
//            rlive.setType(MessageType.LIVESTREAM.getType());
//            resultLive = _objectMapper.writeValueAsString(rlive);
            RedisOpsUtils.del(RedisConst.WEBSOCKET_VIDEO_ADDRESS_PREFIX + sn);
            log.info("SN: {}-停止直播,并删除redis直播信息!", sn);
        } catch (Exception e) {
            log.info("SN: {}-停止直播时发生异常,原因:{}", sn,e.getMessage());
            e.printStackTrace();
        }
        // 停止直播不返回数据,直接删除redis中的直播地址标记即可;并且方法在websocket连接断开后执行。
        //_dockWebSocketHandler.sendMessageToSubscribers(sn, MessageType.LIVESTREAM.getType(), resultLive);
    }