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

场景7:加入会议

描述

在华为云会议账号登录后或者登录前,都可以使用该接口通过会议ID和密码加入会议。

业务流程

使用SDK加入已经存在的会议时,先调用joinConfById接口,然后处理接口回调函数onJoinConfByIdResult和订阅的消息通知onConfStateChanged、onConfInfoNotify。

  1. 接口调用

    1. 组装数据结构JoinConfByIdInfo和接口回调函数onJoinConfByIdResult。
    2. 调用joinConfById接口,第1步中的数据作为参数。

  2. 处理回调函数

    处理回调函数onJoinConfByIdResult。

  3. 处理消息通知

    处理消息通知onConfStateChanged。

  4. 处理消息通知

    处理消息通知onConfInfoNotify。

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
async goToJoinConfById() {
  let { confId, password, nickName, isSpeakerOff, isMicOn, isCameraOn } = this.state;
  let param = {
    confId: "989156631",
    password: "******",
    nickName: "杭州会场",
    isSpeakerOff: false, // 入会后默认扬声器不关闭
    isMicOn: true, // 入会后默认麦克风打开
    isCameraOn: false, // 入会后默认摄像头关闭
  }
  const apiService = new ApiService();
  let setResult = await apiService.joinConfById(param);
  if(setResult.ret != 0){
    window.electron.ipcRenderer.send("show-error-alert", "joinConfById error = " + setResult.ret);
  }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
/**
* ApiService中joinConfById接口定义
*/
async joinConfById(joinConfByIdInfo) {
  return new Promise((resolve) => {
    let resultCallback = (ret, reason) => {
      console.log("joinConfById, out data = ", { ret, reason });
      resolve({ ret, reason });
    };
    console.log("joinConfById, in param = ", joinConfByIdInfo);
    this.uisdkService.getConfCtrlApi().joinConfById(joinConfByIdInfo, resultCallback);
  });
}

onConfStateChanged和onConfInfoNotify的事件通知跟创建会议场景相同,请参考创建会议的示例代码