Browse Source

断流默认老师离开直播间

liujunchi 2 years ago
parent
commit
92e39d42ad
1 changed files with 9 additions and 0 deletions
  1. 9 0
      mec-im/src/main/java/com/ym/controller/UserController.java

+ 9 - 0
mec-im/src/main/java/com/ym/controller/UserController.java

@@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
@@ -141,6 +142,10 @@ 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) {
 
@@ -149,6 +154,7 @@ public class UserController {
                 // 更新直播推流时长
                 imLiveBroadcastRoomService.updateLiveRoomPushStreamTime(event);
             }
+            imUserState.setStatus("3");
 
             // 自动关闭录制
             imLiveBroadcastRoomService.closeLive(getRoomUid(event.getStreamId()), getSpeakerId(event.getStreamId()));
@@ -158,8 +164,11 @@ public class UserController {
         if (event.getEventType() == 1) {
             // 自动开启录制
             imLiveBroadcastRoomService.startLive(getRoomUid(event.getStreamId()), getSpeakerId(event.getStreamId()), null);
+
+            imUserState.setStatus("0");
         }
 
+        imLiveBroadcastRoomService.opsRoom(userState);
         return TencentData.StreamEventCallbackResult.builder().code(0).build();
     }