更新时间:2023-03-23 GMT+08:00

Random入会

JoinConfByRandom

接口描述

通过邮件会议通知中的会议链接入会时(会议链接如:https://bmeeting.huaweicloud.com/#/j/981924330/e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659),链接里面的是会议ID(即举例中的981924330)和会议的Random码(即举例中的e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659)。第三方App需要调用本接口加入会议。

如果预约会议时选择没有来宾密码,会议链接只有会议ID,没有Random码。

注意事项

  1. 在登录和未登录状态下都可以调用该接口。
  2. 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。

方法定义

1
HWM_SDK_AGENT_API hwmsdk::HwmErrCode JoinConfByRandom(HwmJoinConfByRandomInfo *joinConfByRandomInfo);

回调函数

1
virtual void OnJoinConfByRandomResult(hwmsdk::HwmErrCode ret, const char* reason) {};

参数描述

表1 结构体HwmJoinConfByRandomInfo参数说明

参数

是否必须

类型

描述

confId

char[]

会议ID。

random

char[]

48位会议密码映射值。来源于分享会议信息中的会议链接尾部。会议不要求来宾密码时,可以为空字符串。

name

char[]

会议昵称。在已登录状态下可为空,已登录时为空将使用登录的用户名作为会场名。匿名入会必须传该名字或者提前设置会场名

isCloseSpk

bool

是否关闭扬声器,true关闭扬声器;false不关闭扬声器。

返回值

表2 返回值

类型

描述

HwmErrCode

成功返回0,其他值表示失败。失败返回值见错误码参考

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 通过会议ID和Random加入会议
int demoJoinConfByRandomDlg::clickJoinConfByRandom()
{
    // 填写会议ID和密码映射值等;Random入会时,支持配置会场名称
    string meetingID = CTools::UNICODE2UTF(CString("988148352"));
    string accessCode = CTools::UNICODE2UTF(CString("c4f92bc34e685bbba6c23589741be0431997f30da5d6e47b"));
    string participantName = CTools::UNICODE2UTF(CString("杭州会场"));
 
    hwmsdkagent::HwmJoinConfByRandomInfo data;
    memset(&data, 0, sizeof(hwmsdkagent::HwmJoinConfByRandomInfo));
 
    strncpy_s(data.confId, meetingID.c_str(), HWM_MAX_CONF_ID_LEN);
    strncpy_s(data.random, accessCode.c_str(), HWM_MAX_RANDOM_LEN);
    strncpy_s(data.name, participantName.c_str(), HWM_MAX_DISPLAY_NAME_LEN);
    data.isCloseSpk = false;
    
    // 设置麦克风和摄像头开关
    int ret = EnableFeature(hwmsdkagent::HWM_ENABLE_FEATURE_TYPE_MIC_SWITCH, true);
    ret = EnableFeature(hwmsdkagent::HWM_ENABLE_FEATURE_TYPE_CAM_SWITCH, false);
    ret = hwmsdkagent::JoinConfByRandom(&data);
    return ret;
}

在加入会议前可通过调用EnableFeature修改麦克风、摄像头状态。