跳转至

startServerRecord

  • 简要描述

    开启服务器录制 我们提供了课程录制功能,可以完全的还原上课过程。调用此接口可以,录制课程。

  • 回调接口

    开启录制后,回调:录制状态的回调 void onServerRecordState(TK_RECORDSTATE state)

  • 接口详解

    1
    2
        int startServerRecord(
            const tk::VariantMap& recordParams = tk::VariantMap())
    

    返回值:return 0 success, 如果在录制中,调用此函数会返回-1 参数

参数 说明
recordParams 用户自定义输入参数字段:可以不传值,详情请看参数注释和使用案例
 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
recordParams 参数可以包含下面的参数字段,使用请看案例
recordParams:{
    "mixStreamParams": xxx,
    "xxx":xxx,
    ...
}


mixStreamParams中输入的值参考
template: 0, // 必选,混流布局模板ID,0等分布局; 1画中画布局; 2自定义布局

backgroundColor: '#0d69fb', // 颜色值

customConfig: {

    'noStreamTimeout\_s': 30, // 开始混流后,房间中没有以下指定用户的流,30秒后停止混流

    'backgroundColor': '#0d69fb', // 为兼容,若指定,则优先级高于外层背景色配置

    'width': 1920, // 废弃。视频布局左边均按169屏幕比例来计算

    'height': 1080, // 废弃

    'videoLayout': \[

        {

            'uid': 'xxx', // 用户 ID,若为桌面共享的视频,此 ID 为'用户ID:screen'

            'x\_coord': 0.81, // 窗口x坐标,取值为相对于整个视频宽度百分比

            'y\_coord': 0.1, // 窗口y坐标,取值为相对于整个视频高度百分比

            'width': 0.18, // 窗口宽,取值为相对于整个视频宽度百分比

            'height': 0.24, // 窗口高,取值为相对于整个视频高度百分比

            'alpha': 1, // 窗口透明度

            'play_video': true, // 缺省值 truetrue:显示视频窗口,false:不显示视频窗口

            'play_audio': true, // 缺省值 truetrue:播放音频,false:不播放音频
        }, 

        {

            'uid': 'xxx',

            'x\_coord': 0.01,

            'y\_coord': 0.1,

            'width': 0.79,

            'height': 0.79,

            'alpha': 1,

        }

    \] 

} //  template 2则必选,自定义布局时生效,包括布局参数和其他附加参数
  • 使用案列
 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
std::vector<tk::Variant> videoLayout;

            tk::VariantMap myscreen;
            myscreen["uid"] = App::getId() + ":screen";
            myscreen["x_coord"] = 0;
            myscreen["y_coord"] = 0;
            myscreen["width"] = 1920;
            myscreen["height"] = 1080;
            myscreen["alpha"] = 1;
            myscreen["play_video"] = true;
            myscreen["play_audio"] = true;


            videoLayout.push_back(myscreen);
            videoLayout.push_back(myvideo);
            videoLayout.push_back(uservideo1);

            tk::VariantMap customConfig;
            customConfig["noStreamTimeout"] = 30;
            customConfig["width"] = 1920;
            customConfig["height"] = 1080;
            customConfig["videoLayout"] = videoLayout;

            tk::VariantMap mixStreamParams;
            mixStreamParams["template"] = 2;
            mixStreamParams["backgroundColor"] = "#0d69fb";
            mixStreamParams["customConfig"] = customConfig;

            tk::VariantMap recordParams;
            recordParams["mixStreamParams"] = mixStreamParams;

            App::sdk()->startServerRecord(recordParams);

stopServerRecord

startRecordScreen

  • 简要描述

    开始本地录制屏幕

  • 接口详解

    int startRecordScreen(const std::string& file , const DesktopSource& source , const VideoParam& vp = VideoParam())` 返回值:return 0 success

参数 说明
file 录制下来的文件路径
source 录制的桌面源
vp 视频参数

stopRecordScreen

  • 简要描述

    停止本地录制屏幕

  • 接口详解

    int stopRecordScreen() 返回值:return 0 success

pauseRecordScreen

  • 简要描述

    暂停本地录制屏幕

  • 接口详解

    int pauseRecordScreen(bool pause) 参数pause:是否暂停 返回值:return 0 success

startRecordAudio

  • 简要描述

    开启本地音频录制 会录制房间所有的声音数据

  • 接口详解

    int startRecordAudio(const std::string& mp3) 参数mp3:录制文件保存的路径 注: 1、保存音频文件为MP3格式; 2、如果两次传入的路径相同,录制数据会覆盖; 3、文件路径必须是有效路径,否则录制失败。例如:路径不存在或者不是文件路径(而是文件夹路径),则录制失败。 返回值:return 0 success

stopRecordAudio

  • 简要描述

    停止本地音频录制

  • 接口详解

    int stopRecordAudio() 返回值:return 0 success

pauseRecordAudio

  • 简要描述

    是否暂停本地音频录制

  • 接口详解

    int pauseRecordAudio(bool pause) 参数pause:是否暂停 返回值:return 0 success

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