|
@@ -2,7 +2,7 @@ package com.keao.edu.im.mec.im;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.google.gson.JsonObject;
|
|
|
+import com.keao.edu.common.exception.BizException;
|
|
|
import com.keao.edu.im.http.HttpHelper;
|
|
|
import com.keao.edu.im.pojo.IMApiResultInfo;
|
|
|
import com.keao.edu.im.pojo.IMTokenInfo;
|
|
@@ -222,11 +222,10 @@ public class IMHelper {
|
|
|
/**
|
|
|
* 开始录制
|
|
|
* @param hostUserId
|
|
|
- * @param sessionId
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
- public IMApiResultInfo startRecord(String hostUserId, String sessionId, String roomId) throws Exception {
|
|
|
+ public IMApiResultInfo startRecord(String hostUserId, String roomId) throws Exception {
|
|
|
if (hostUserId == null) {
|
|
|
throw new IllegalArgumentException("Paramer 'userId' is required");
|
|
|
}
|
|
@@ -243,12 +242,12 @@ public class IMHelper {
|
|
|
jsonObject.put("sliceMin","60");
|
|
|
jsonObject.put("hostUserId",hostUserId);
|
|
|
JSONObject json = new JSONObject();
|
|
|
- json.put("sessionId",sessionId);
|
|
|
+ json.put("sessionId",roomQuery(roomId));
|
|
|
json.put("config",jsonObject);
|
|
|
|
|
|
String body = json.toJSONString();
|
|
|
|
|
|
- HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/record/start.json", "application/x-www-form-urlencoded",roomId);
|
|
|
+ HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/record/start.json", "application/json",roomId);
|
|
|
httpHelper.setBodyParameter(body, conn);
|
|
|
|
|
|
return JSON.parseObject(httpHelper.returnResult(conn, body), IMApiResultInfo.class);
|
|
@@ -257,11 +256,10 @@ public class IMHelper {
|
|
|
/**
|
|
|
* 结束录制
|
|
|
* @param hostUserId
|
|
|
- * @param sessionId
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
- public IMApiResultInfo stopRecord(String hostUserId, String sessionId, String roomId) throws Exception {
|
|
|
+ public IMApiResultInfo stopRecord(String hostUserId, String roomId) throws Exception {
|
|
|
if (hostUserId == null) {
|
|
|
throw new IllegalArgumentException("Paramer 'userId' is required");
|
|
|
}
|
|
@@ -278,12 +276,12 @@ public class IMHelper {
|
|
|
jsonObject.put("sliceMin","60");
|
|
|
jsonObject.put("hostUserId",hostUserId);
|
|
|
JSONObject json = new JSONObject();
|
|
|
- json.put("sessionId",sessionId);
|
|
|
+ json.put("sessionId",roomQuery(roomId));
|
|
|
json.put("config",jsonObject);
|
|
|
|
|
|
String body = json.toJSONString();
|
|
|
|
|
|
- HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/record/stop.json", "application/x-www-form-urlencoded",roomId);
|
|
|
+ HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/record/stop.json", "application/json",roomId);
|
|
|
httpHelper.setBodyParameter(body, conn);
|
|
|
|
|
|
return JSON.parseObject(httpHelper.returnResult(conn, body), IMApiResultInfo.class);
|
|
@@ -295,19 +293,23 @@ public class IMHelper {
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
- public IMApiResultInfo roomQuery(String roomId) throws Exception {
|
|
|
+ public String roomQuery(String roomId) throws Exception {
|
|
|
if (StringUtils.isEmpty(roomId)) {
|
|
|
throw new IllegalArgumentException("Paramer 'roomId' is required");
|
|
|
}
|
|
|
-
|
|
|
- StringBuilder sb = new StringBuilder();
|
|
|
- sb.append("roomId=").append(URLEncoder.encode(roomId, UTF8));
|
|
|
- String body = sb.toString();
|
|
|
-
|
|
|
- HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/room/query", "application/x-www-form-urlencoded",null);
|
|
|
- httpHelper.setBodyParameter(body, conn);
|
|
|
- String returnResult = httpHelper.returnResult(conn, body);
|
|
|
- return null;
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ jsonObject.put("roomId",roomId);
|
|
|
+
|
|
|
+ HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/room/query.json", "application/json",null);
|
|
|
+ httpHelper.setBodyParameter(jsonObject.toJSONString(), conn);
|
|
|
+ String returnResult = httpHelper.returnResult(conn, jsonObject.toJSONString());
|
|
|
+ JSONObject resultObject = JSONObject.parseObject(returnResult);
|
|
|
+ String code = resultObject.get("code").toString();
|
|
|
+ if("200".equals(code)){
|
|
|
+ return resultObject.get("sessionId").toString();
|
|
|
+ }else {
|
|
|
+ throw new BizException("获取sessionId失败");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|