参会者通过呼入同一个会议室进行音视频通话,对于有密码的会议室需同时输入会议室密码进入会议。可以通过事件回调获取当前呼叫状态,根据呼叫状态进行相应的处理。
呼叫成功后,参会者进入会议,云平台将自动发送音视频流。音视频通话过程中参会人员信息状态变更以事件回调方式进行通知,收到回调消息后可根据业务场景进行后续处理。
针对用户希望入会前设置摄像头和麦克风状态的需求,SDK在呼叫接口中增加设置麦克风和摄像头状态的参数,开发者调用呼叫接口时传入摄像头和麦克风状态即可实现入会前关闭摄像头和静音功能。
通过makeCall方法进行呼叫,参数说明:
参数 | 类型 | 说明 |
number | string | 会议室号码 |
meetingPwd | string | 会议室密码,未设置密码可不传 |
displayName | string | 显示名称 |
liveId | string | 直播ID |
callModel | 呼叫模式 | |
scheduleEventId | string | 预约会议ID |
videoMute | boolean | 是否关闭视频 |
audioMute | boolean | 是否静音 |
通过onCallStateChanged回调获取呼叫状态:
当收到XYSDKCallState.Disconnected状态时,可以通过XYSDKCallStateInfo的sdkError和disconnectReason查看具体的断开原因。
入会后需要监听以下回调:
joinMeetingClick() {
const callConfig: XYSDKCallConfig = {
number: this.number,
meetingPwd: this.passWorld,
displayName: "",
liveId: "",
callModel: XYSDKCallMode.AudioVideo,
scheduleEventId: "",
videoMute: this.videoMute,
audioMute: this.audioMute
}
XYRTCEngine.getInstance().addDelegate(this);
XYRTCEngine.getInstance().makeCall(callConfig);
}
addEvent(): void {
XYRTCEngine.getInstance().addDelegate(this);
}
removeEvent(): void {
XYRTCEngine.getInstance().removeDelegate(this);
}
onCallStateChanged(callStateInfo: XYSDKCallStateInfo): void {
// 处理呼叫状态变化
}