Browse Source

fix主播推断流切换

Eric 1 năm trước cách đây
mục cha
commit
b29e74de56

+ 14 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/open/ImController.java

@@ -10,6 +10,7 @@ import com.yonge.cooleshow.admin.io.request.course.CourseRelationVo;
 import com.yonge.cooleshow.admin.io.request.im.IMNotifyMessageVO;
 import com.yonge.cooleshow.admin.io.request.im.UserFriendInfoVO;
 import com.yonge.cooleshow.api.feign.dto.ImUserInfo;
+import com.yonge.cooleshow.biz.dal.dto.LiveRoomStatus;
 import com.yonge.cooleshow.biz.dal.dto.TencentData;
 import com.yonge.cooleshow.biz.dal.dto.TencentImCallbackResult;
 import com.yonge.cooleshow.biz.dal.entity.ImUserStateSync;
@@ -241,8 +242,20 @@ public class ImController extends BaseController {
 
         // 推流事件通知
         if (event.getEventType() == 1) {
+            // 房间uid
+            String roomUid = getRoomUid(event.getStreamId());
+
+            LiveRoomStatus roomStatus = new LiveRoomStatus();
+            // 房间ID
+            roomStatus.setRoomUid(roomUid);
+            // 主播状态
+            roomStatus.setSpeakerStatus(1);
+            // 推流状态
+            roomStatus.setPushStatus(1);
+            // 更新直播间状态
+            liveRoomService.updateRoomStatus(roomStatus);
             // 自动开启录制
-            liveRoomService.startLive(getRoomUid(event.getStreamId()), getSpeakerId(event.getStreamId()),event.getSequence());
+            liveRoomService.startLive(roomUid, getSpeakerId(event.getStreamId()), event.getSequence());
 
             imUserState.setStatus("0");
         }