参会者通过呼入同一个会议室进行音视频通话,对于有密码的会议室需同时输入会议室密码进入会议。可以通过事件回调获取当前呼叫状态,根据呼叫状态进行相应的处理。
呼叫成功后,参会者进入会议,云平台将自动发送音视频流。音视频通话过程中参会人员信息状态变更以事件回调方式进行通知,收到回调消息后可根据业务场景进行后续处理。
针对用户希望入会前设置摄像头和麦克风状态的需求,SDK在呼叫接口中增加设置麦克风和摄像头状态的参数,开发者调用呼叫接口时传入摄像头和麦克风状态即可实现入会前关闭摄像头和静音功能。
您可以通过makeCall方法进行呼叫,方法中XYSDKCallConfig的属性number是即将呼叫的会议室号码,meetingPwd是会议室密码,如果没有设置会议密码不用传值。 可以在onCallStateChanged回调方法中获取到呼叫结果。
如果收到了XYSDKCallStateInfo.callState为XYSDKCallState.Disconnected,可以结合XYSDKCallStateInfo.sdkError和XYSDKCallStateInfo.disconnectReason查看具体的断开原因。
当收到XYSDKCallStateInfo.callState为XYSDKCallState.Connecting 时就可以进入到呼叫中状态,入会后首先需要监听以下几点回调:
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 {
}
参考流程图:
呼叫中设置媒体状态: