服务器录制和本地录制
                
                
最近更新时间:2021-02-05 16:29:05  
startServerRecord
简要描述
- 开启服务器录制
我们提供了课程录制功能,可以完全的还原上课过程。调用此接口可以,录制课程。
- 开启录制后,回调:录制状态的回调
-(void)onRoomServerRecordStateChange(TK_RECORD_STATE state, String userId, String mp4RecordId, String commonRecordId);
接口名称
|  | - (int)startServerRecord(Map<String, Object> recordParams, long expiresabs, long expires);
 | 
 `
参数
| 参数名 | 必填 | 类型 | 说明 | 
| recordParams | 是 | Map | 录制参数,包含standard和mix两种录制模式,详细见方法示例 | 
| expiresabs | 是 | long | 录制时长,0:表示不限时长,直到调用停止录制 | 
| expires | 是 | long | 结束录制时的时间戳,0:表示不设置结束时间 | 
方法示例
|  1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 | //---------------standard模式---------//
//standard模式标准常规录制,为默认模式
Map<String, Object> recordParams = new HashMap<String, Object>();
recordParams.put("recordMode",SERVER_RECORD_MODE.STANDARD);
TKRoomManager.getInstance().startServerRecord(recordParams,0,0);
//---------------  mix模式 ------------//
//mix模式自定义混流录制,需要传入以下参数
Map<String, Object> recordParams = new HashMap<String, Object>();
recordParams.put("recordMode",SERVER_RECORD_MODE.MIX);
//mix参数
Map<String, Object> mixStreamParams = new HashMap<String, Object>();
// 必选,混流布局模板ID,0等分布局; 1画中画布局; 2自定义布局
mixStreamParams.put("template",0);
// 颜色值
mixStreamParams.put("backgroundColor","#0d69fb");
//自定义参数
Map<String, Object> customConfigParams = new HashMap<String, Object>();
// 开始混流后,房间中没有以下指定用户的流,30秒后停止混流
customConfigParams.put("noStreamTimeout_s",30);
// 为兼容,若指定,则优先级高于外层背景色配置
customConfigParams.put("backgroundColor","#0d69fb");
//自定义样式集合
List<Map<String,Object>> videoLayoutList = new ArrayList<>();
//某个用户的样式
Map<String,Object> videoLayoutUser = new HashMap<>();
//// 用户 ID,若为桌面共享的视频,此 ID 为'用户ID:screen'
videoLayoutUser.put("uid","xxx");
// 窗口x坐标,取值为相对于整个视频宽度百分比
videoLayoutUser.put("x_coord",0.81);
 // 窗口y坐标,取值为相对于整个视频高度百分比
videoLayoutUser.put("y_coord",0.1);
// 窗口宽,取值为相对于整个视频宽度百分比
videoLayoutUser.put("width",0.18);
// 窗口高,取值为相对于整个视频高度百分比
videoLayoutUser.put("height",0.24);
// 窗口透明度
videoLayoutUser.put("alpha",1);
// 缺省值 true;true:显示视频窗口,false:不显示视频窗口
videoLayoutUser.put("play_video",true);
// 缺省值 true;true:播放音频,false:不播放音频
videoLayoutUser.put("play_audio",true);
videoLayoutList.add(videoLayoutUser);
customConfigParams.put("videoLayout",videoLayoutList);
mixStreamParams.put("customConfig",customConfigParams);
recordParams.put("mixStreamParams",mixStreamParams);
TKRoomManager.getInstance().startServerRecord(recordParams,0,0);
 | 
返回值说明
| 类型 | 说明 | 
| int | 0:表示调用成功,非0:表示调用失败 | 
stopServerRecord
简要描述
- 停止服务器录制
接口名称
- - (int)stopServerRecord();
方法示例
|  |    TKRoomManager.getInstance().stopServerRecord();
 | 
返回值说明
| 类型 | 说明 | 
| int | 0:表示调用成功,非0:表示调用失败 | 
pauseServerRecord
简要描述
- 暂停服务器录制
接口名称
- - (int)pauseServerRecord();
方法示例
|  |    TKRoomManager.getInstance().pauseServerRecord();
 | 
返回值说明
| 类型 | 说明 | 
| int | 0:表示调用成功,非0:表示调用失败 | 
resumeServerRecord
简要描述
- 恢复服务器录制
接口名称
- - (int)resumeServerRecord();
方法示例
|  |    TKRoomManager.getInstance().resumeServerRecord();
 | 
返回值说明
| 类型 | 说明 | 
| int | 0:表示调用成功,非0:表示调用失败 | 
startAudioRecording
简要描述
- 开启本地音频录制
会录制房间所有的声音数据,然后保存到沙盒中。
接口名称
- - (int)startAudioRecording(String filePath);
参数
| 参数名 | 必填 | 类型 | 说明 | 
| filePath | 是 | String | 录制文件保存的路径,必须是有效的沙盒文件路径,如xxx/Library/Caches/audioRecord.mp3。注: 1、保存音频文件为MP3格式; 2、如果两次传入的路径相同,录制数据会覆盖;  3、文件路径必须是有效路径,否则录制失败。例如:路径不存在或者不是文件路径(而是文件夹路径),则录制失败。 | 
方法示例
|  |      TKRoomManagerImpl.getInstance().startAudioRecording(filePath);
 | 
返回值说明
| 类型 | 说明 | 
| int | 0:表示调用成功,非0:表示调用失败 | 
pauseAudioRecording
简要描述
- 是否暂停本地音频录制
接口名称
- - (int)pauseAudioRecording(boolean isPause);
参数
| 参数名 | 必填 | 类型 | 说明 | 
| isPause | 是 | boolean | 是否暂停录制 | 
方法示例
|  |    TKRoomManager.getInstance().pauseAudioRecording(false);
 | 
返回值说明
| 类型 | 说明 | 
| int | 0:表示调用成功,非0:表示调用失败 | 
stopAudioRecord
简要描述
- 停止本地音频录制
接口名称
- - (int)stopAudioRecording();
方法示例
|  |     TKRoomManagerImpl.getInstance().stopAudioRecording();
 | 
返回值说明
| 类型 | 说明 | 
| int | 0:表示调用成功,非0:表示调用失败 |