|
@@ -2,9 +2,11 @@ package com.ym.service.Impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.ym.http.HttpHelper;
|
|
import com.ym.http.HttpHelper;
|
|
import com.ym.mec.biz.dal.dao.ImLiveBroadcastRoomDao;
|
|
import com.ym.mec.biz.dal.dao.ImLiveBroadcastRoomDao;
|
|
import com.ym.mec.biz.dal.entity.ImLiveBroadcastRoom;
|
|
import com.ym.mec.biz.dal.entity.ImLiveBroadcastRoom;
|
|
|
|
+import com.ym.mec.biz.dal.entity.TenantAssetsInfo;
|
|
import com.ym.mec.common.exception.BizException;
|
|
import com.ym.mec.common.exception.BizException;
|
|
import com.ym.mec.im.IMHelper;
|
|
import com.ym.mec.im.IMHelper;
|
|
import com.ym.pojo.IMApiResultInfo;
|
|
import com.ym.pojo.IMApiResultInfo;
|
|
@@ -87,11 +89,13 @@ public class LiveRoomServiceImpl implements LiveRoomService {
|
|
@Override
|
|
@Override
|
|
public void startRecord(String roomId) throws Exception {
|
|
public void startRecord(String roomId) throws Exception {
|
|
//是否需要录制视频
|
|
//是否需要录制视频
|
|
|
|
+
|
|
log.error("开始录制直播:roomId : {} ",roomId);
|
|
log.error("开始录制直播:roomId : {} ",roomId);
|
|
JSONObject paramJson = new JSONObject();
|
|
JSONObject paramJson = new JSONObject();
|
|
paramJson.put("sessionId",getRoomSessionId(roomId));
|
|
paramJson.put("sessionId",getRoomSessionId(roomId));
|
|
- ImLiveBroadcastRoom imLiveBroadcastRoom = imLiveBroadcastRoomDao.selectById(roomId);
|
|
|
|
- paramJson.put("config",new RecordConfig(imLiveBroadcastRoom.getSpeakerId()));
|
|
|
|
|
|
+// ImLiveBroadcastRoom imLiveBroadcastRoom = imLiveBroadcastRoomDao.selectOne(new QueryWrapper<ImLiveBroadcastRoom>()
|
|
|
|
+// .eq("room_uid_", roomId));
|
|
|
|
+ paramJson.put("config",new RecordConfig());
|
|
String body = paramJson.toJSONString();
|
|
String body = paramJson.toJSONString();
|
|
HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/record/start.json", "application/json",roomId);
|
|
HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/record/start.json", "application/json",roomId);
|
|
httpHelper.setBodyParameter(body, conn);
|
|
httpHelper.setBodyParameter(body, conn);
|
|
@@ -102,6 +106,19 @@ public class LiveRoomServiceImpl implements LiveRoomService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ public void stopRecord(String roomId) throws Exception {
|
|
|
|
+ JSONObject paramJson = new JSONObject();
|
|
|
|
+ paramJson.put("sessionId",getRoomSessionId(roomId));
|
|
|
|
+ String body = paramJson.toJSONString();
|
|
|
|
+ HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/record/stop.json", "application/json",roomId);
|
|
|
|
+ httpHelper.setBodyParameter(body, conn);
|
|
|
|
+ httpHelper.returnResult(conn, body);
|
|
|
|
+ RBucket<String> bucket = redissonClient.getBucket("sessionId:" + roomId);
|
|
|
|
+ bucket.delete();
|
|
|
|
+ log.info("结束录制直播 roomId :{},{}",roomId,httpHelper.returnResult(conn, body));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
public void recordSync(RecordNotify recordNotify) {
|
|
public void recordSync(RecordNotify recordNotify) {
|
|
log.info("recordSync recordNotify:{}",recordNotify);
|
|
log.info("recordSync recordNotify:{}",recordNotify);
|
|
}
|
|
}
|
|
@@ -123,7 +140,8 @@ public class LiveRoomServiceImpl implements LiveRoomService {
|
|
JSONObject resultObject = JSONObject.parseObject(returnResult);
|
|
JSONObject resultObject = JSONObject.parseObject(returnResult);
|
|
String code = resultObject.get("code").toString();
|
|
String code = resultObject.get("code").toString();
|
|
if("200".equals(code)){
|
|
if("200".equals(code)){
|
|
- bucket.set(resultObject.get("sessionId").toString());
|
|
|
|
|
|
+ sessionId = resultObject.get("sessionId").toString();
|
|
|
|
+ bucket.set(sessionId);
|
|
}else {
|
|
}else {
|
|
log.error("获取sessionId失败 returnResult:{}",returnResult);
|
|
log.error("获取sessionId失败 returnResult:{}",returnResult);
|
|
throw new BizException("获取sessionId失败");
|
|
throw new BizException("获取sessionId失败");
|