|
@@ -2360,9 +2360,31 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
|
|
|
return;
|
|
|
}
|
|
|
RoomSpeakerInfo roomSpeakerInfo = speakerCache.get();
|
|
|
+ // 设置推流状态房间信息
|
|
|
+ // 查询房间信息
|
|
|
+ LiveRoom imLiveBroadcastRoomVo = getByRoomUid(roomSpeakerInfo.getRoomUid());
|
|
|
|
|
|
+ if (imLiveBroadcastRoomVo == null) {
|
|
|
+ log.warn("closeLive imLiveBroadcastRoomVo is null");
|
|
|
+ return;
|
|
|
+ }
|
|
|
//关闭直播
|
|
|
- if (StringUtils.isNotBlank(sequence) && sequence.equals(roomSpeakerInfo.getSequence())) {
|
|
|
+ LivePluginService pluginService = livePluginContext.getPluginService(imLiveBroadcastRoomVo.getServiceProvider());
|
|
|
+ if (StringUtils.isBlank(sequence)) {
|
|
|
+ try {
|
|
|
+ TencentWrapper.LiveStreamState liveStreamState = pluginService.liveStreamState(getStreamId(imLiveBroadcastRoomVo.getRoomUid(), imLiveBroadcastRoomVo.getSpeakerId()));
|
|
|
+ if (liveStreamState == null) {
|
|
|
+ log.error("查询直播间流失败,返回结果为空");
|
|
|
+ } else {
|
|
|
+ log.info("查询直播间流状态:{},roomUid:{}", JSON.toJSONString(liveStreamState), imLiveBroadcastRoomVo.getRoomUid());
|
|
|
+ if (!"active".equals(liveStreamState.getStreamState())) {
|
|
|
+ setPushStatus(roomSpeakerInfo.getRoomUid(), 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("查询直播间流失败,roomUid:{}", imLiveBroadcastRoomVo.getRoomUid(), e);
|
|
|
+ }
|
|
|
+ } else if (sequence.equals(roomSpeakerInfo.getSequence())) {
|
|
|
setPushStatus(roomSpeakerInfo.getRoomUid(), 0);
|
|
|
}
|
|
|
|