跳转至

服务器录制和本地录制

最近更新时间:2021-02-05 16:29:05

startServerRecord

简要描述
- 开启服务器录制

我们提供了课程录制功能,可以完全的还原上课过程。调用此接口可以,录制课程。 - 开启录制后,回调:录制状态的回调 -(void)roomManagerOnServerRecordStateChanged:(TKRecordState)state fromID:(NSString )peerID extension:(NSDictionary )extension

接口名称

1
2
3
- (int)startServerRecord:(NSDictionary<NSString *, id> *)spec
              expiresabs:(NSInteger)expiresabs
                 expires:(NSInteger)expires;

参数

参数名 必填 类型 说明
spec NSDictionary 录制参数
expiresabs NSInteger 录制时长,0:表示不限时长,直到调用停止录制
expires NSInteger 结束录制时的时间戳,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
 
    ---------------------------------standard模式---------------------------
    standard模式标准常规录制,为默认模式
    NSDictionary *spec = @{@"recordMode" : @"standard"};

    ---------------------------------mix模式----------------------------------
    mix模式自定义混流录制,需要传入以下参数
    可以针对用户对象进行自定义布局样式
     NSDictionary *userVideoLayout = @{
         @{@"uid": @"1131223463fff",    // 用户 ID,若为桌面共享的视频,此 ID 为'用户ID:screen'
           @"x_coord": @(0.1),  // 窗口x坐标,取值为相对于整个视频宽度百分比
           @"y_coord": @(0.1),  // 窗口y坐标,取值为相对于整个视频高度百分比
           @"width": @(0.18),    // 窗口宽,取值为相对于整个视频宽度百分比
           @"height": @(0.24),   // 窗口高,取值为相对于整个视频高度百分比
           @"alpha": @(1),  // 窗口透明度
           @"play_video" : @(YES),  //缺省值 YES;YES:显示视频窗口,NO:不显示视频窗口
           @"play_audio" : @(YES),  //缺省值 YES;YES:播放音频,NO:不播放音频
         }
     };

     NSMutableArray *videoLayoutList = [NSMutableArray array];
     [videoLayoutList addObject:userVideoLayout];
     NSDictionary *customConfigParams = @{
         @"noStreamTimeout_s" : @(30),   //开始混流后,房间中没有以下指定用户的流,30秒后停止混流
         @"backgroundColor" : @"#0d69fb",   //为兼容,若指定,则优先级高于外层背景色配置
         @"videoLayout" : videoLayoutList
     };
     NSDictionary *spec = @{@"recordMode" : @"mix",
                            @"mixStreamParams" : @{
                                @"template": @2,     // 必选,混流布局模板ID,0表示等分布局; 1表示画中画布局; 2表示自定义布局
                                @"backgroundColor": @"#0d69fb",     // 颜色值
                                @"customConfig": customConfigParams
                            }   // 若 template 为2,则自定义布局时生效,包括布局参数和其他附加参数;template 为2以外的其他值,此参数无效,可不填
     };
  
    ⚠️ 注:spec  nil,默认standard模式
    [_roomMgr startServerRecord:spec
                     expiresabs:0
                        expires:0];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

stopServerRecord

简要描述
- 停止服务器录制

接口名称
- - (int)stopServerRecord;

方法示例

1
    [_roomMgr stopServerRecord];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

pauseServerRecord

简要描述
- 暂停服务器录制

接口名称
- - (int)pauseServerRecord;

方法示例

1
    [_roomMgr pauseServerRecord];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

resumeServerRecord

简要描述
- 恢复服务器录制

接口名称
- - (int)resumeServerRecord;

方法示例

1
    [_roomMgr resumeServerRecord];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

startAudioRecord

简要描述
- 开启本地音频录制

会录制房间所有的声音数据,然后保存到沙盒中。

接口名称
- - (int)startAudioRecord:(NSString *)sandboxPath;

参数

参数名 必填 类型 说明
sandboxPath NSString 录制文件保存的路径,必须是有效的沙盒文件路径,如xxx/Library/Caches/audioRecord.mp3。
注: 1、保存音频文件为MP3格式;
2、如果两次传入的路径相同,录制数据会覆盖;
3、文件路径必须是有效路径,否则录制失败。例如:路径不存在或者不是文件路径(而是文件夹路径),则录制失败。

方法示例

1
2
3
4
5
6
7
8
     NSArray *cachesPathArr = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
     NSString *cachesPath = cachesPathArr.firstObject;
     NSString *path = [cachesPath stringByAppendingPathComponent:@"audioRecord.mp3"];
     BOOL exist = [[NSFileManager defaultManager] fileExistsAtPath:path];
     if (!exist) {
         [[NSFileManager defaultManager] createFileAtPath:path contents:nil attributes:nil];
     }
     [_roomMgr startAudioRecord:path];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

pauseAudioRecord

简要描述
- 是否暂停本地音频录制

接口名称
- - (int)pauseAudioRecord:(BOOL)pause;

参数

参数名 必填 类型 说明
pause BOOL 是否暂停录制

方法示例

1
    [_roomMgr pauseAudioRecord:YES];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

stopAudioRecord

简要描述
- 停止本地音频录制

接口名称
- - (int)stopAudioRecord;

方法示例

1
    [_roomMgr stopAudioRecord];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

备注

© 2016-2023 北京拓课网络科技有限公司 版权所有  京ICP备17018423号-1 京公网安备11010502043461号