场景7:加入会议
描述
在华为云会议账号登录后或者登录前,都可以使用该接口通过会议ID和密码加入会议。
业务流程
使用SDK加入已经存在的会议时,先调用joinConfById接口,然后处理接口回调函数onJoinConfByIdResult和订阅的消息通知onConfStateChanged、onConfInfoNotify。
- 接口调用
- 组装数据结构JoinConfByIdInfo和接口回调函数onJoinConfByIdResult。
- 调用joinConfById接口,第1步中的数据作为参数。
- 处理回调函数
处理回调函数onJoinConfByIdResult。
- 处理消息通知
处理消息通知onConfStateChanged。
- 处理消息通知
处理消息通知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的事件通知跟创建会议场景相同,请参考创建会议的示例代码。