Browse Source

Merge branch 'dev_20230222_live' into master_saas

Eric 2 years ago
parent
commit
8f5163c4fe
1 changed files with 34 additions and 27 deletions
  1. 34 27
      mec-im/src/main/java/com/ym/controller/UserController.java

+ 34 - 27
mec-im/src/main/java/com/ym/controller/UserController.java

@@ -163,33 +163,37 @@ public class UserController {
 
         TencentData.CallbackStreamStateEvent event = TencentData.CallbackStreamStateEvent.from(body);
 
-        List<ImUserState> userState = new ArrayList<>();
-        ImUserState imUserState = new ImUserState();
-        userState.add(imUserState);
-        imUserState.setUserid(getSpeakerId(event.getStreamId()).toString());
-        // 断流事件通知
-        if (event.getEventType() == 0) {
-
-            // 更新推流时长
-            if (StringUtils.isNotBlank(event.getPushDuration()) && event.getPushDuration().matches("\\d+")) {
-                // 更新直播推流时长
-                imLiveBroadcastRoomService.updateLiveRoomPushStreamTime(event);
+        // 直播间推流事件
+        if (event.getStreamId().startsWith("LIVE")) {
+
+            List<ImUserState> userState = new ArrayList<>();
+            ImUserState imUserState = new ImUserState();
+            userState.add(imUserState);
+            imUserState.setUserid(getSpeakerId(event.getStreamId()).toString());
+            // 断流事件通知
+            if (event.getEventType() == 0) {
+
+                // 更新推流时长
+                if (StringUtils.isNotBlank(event.getPushDuration()) && event.getPushDuration().matches("\\d+")) {
+                    // 更新直播推流时长
+                    imLiveBroadcastRoomService.updateLiveRoomPushStreamTime(event);
+                }
+                imUserState.setStatus("3");
+
+                // 自动关闭录制
+                imLiveBroadcastRoomService.closeLive(getRoomUid(event.getStreamId()), getSpeakerId(event.getStreamId()),event.getSequence());
+
+                // 同步点赞数
+                imLiveBroadcastRoomService.syncLikeCount(getRoomUid(event.getStreamId()));
             }
-            imUserState.setStatus("3");
 
-            // 自动关闭录制
-            imLiveBroadcastRoomService.closeLive(getRoomUid(event.getStreamId()), getSpeakerId(event.getStreamId()),event.getSequence());
+            // 推流事件通知
+            if (event.getEventType() == 1) {
+                // 自动开启录制
+                imLiveBroadcastRoomService.startLive(getRoomUid(event.getStreamId()), getSpeakerId(event.getStreamId()), null,event.getSequence());
 
-            // 同步点赞数
-            imLiveBroadcastRoomService.syncLikeCount(getRoomUid(event.getStreamId()));
-        }
-
-        // 推流事件通知
-        if (event.getEventType() == 1) {
-            // 自动开启录制
-            imLiveBroadcastRoomService.startLive(getRoomUid(event.getStreamId()), getSpeakerId(event.getStreamId()), null,event.getSequence());
-
-            imUserState.setStatus("0");
+                imUserState.setStatus("0");
+            }
         }
 
         // imLiveBroadcastRoomService.opsRoom(userState);
@@ -212,10 +216,13 @@ public class UserController {
 
         TencentData.CallbackSteamRecordEvent event = TencentData.CallbackSteamRecordEvent.from(body);
 
-        log.info("taskId={}, url={}", event.getTaskId(), event.getVideoUrl());
+        // 直播录制事件通知
+        if (event.getStreamId().startsWith("LIVE")) {
+            log.info("taskId={}, url={}", event.getTaskId(), event.getVideoUrl());
 
-        // 生成直播录制信息
-        liveRoomService.createLiveRoomVideoRecord(event);
+            // 生成直播录制信息
+            liveRoomService.createLiveRoomVideoRecord(event);
+        }
 
         return TencentData.StreamEventCallbackResult.builder().code(0).build();
     }