服务器录制和本地录制
最近更新时间: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:表示调用失败 |