更新时间:2024-07-30 GMT+08:00

加入会议

JoinConfById

接口描述

该接口用于通过会议ID和密码加入已经存在的会议。

注意事项

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

方法定义

1
HWM_SDK_AGENT_API hwmsdk::HwmErrCode JoinConfById(HwmJoinConfByIdInfo *joinConfByIdInfo);

回调函数

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

参数描述

表1 结构体HwmJoinConfByIdInfo参数说明

参数

是否必须

类型

描述

confId

char[]

会议ID。

password

char[]

会议密码。若希望以主持人身份入会,必须传入主持人密码。若希望以来宾身份入会,会议要求来宾密码时,必现传入来宾密码,会议不要求来宾密码时,可以为空字符串。

name

char[]

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

isCloseSpk

bool

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

isStopConflictConf

bool

强制结束和当前VMR会议资源冲突的会议(必需是vmr资源的拥有者才有权限,否则无效)

返回值

表2 返回值

类型

描述

HwmErrCode

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

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
// 通过会议ID加入会议
int demoJoinConfByIdDlg::clickJoinConfById()
{
    // 填写会议ID和会议密码;未登录场景下加入会议时,也可以配置本会场的会场名称
    hwmsdkagent::HwmJoinConfByIdInfo data;
    memset(&data, 0, sizeof(hwmsdkagent::HwmJoinConfByIdInfo));
 
    strncpy_s(data.confId, GetMeetingID().c_str(), HWM_MAX_CONF_ID_LEN);
    strncpy_s(data.password, GetAccessCode().c_str(), HWM_MAX_PASSWORD_LEN);
    strncpy_s(data.name, GetParticipantName().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::JoinConfById(&data);
    return ret;
}

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