即时与预约会议
BIMManager+Meeting 提供即时会议和预约会议的创建、管理、入会、媒体控制及状态监听能力。创建会议只返回 BIMMeeting;只有开始或加入会议才会建立 BIMMeetingSession。
首次接入请先完成音视频模块安装、系统权限和全局监听。必须使用
BIMSdk/Call完整包并先登录 BIMSdk。
快速开始
组织者可以先创建即时会议,再用返回的 9 位会议号开始会议:
objc
BIMMeetingCreateOptions *createOptions =
[[BIMMeetingCreateOptions alloc] initWithMeetingType:BIMMeetingTypeInstant
mediaType:BIMAudioVideoMediaTypeVideo
subject:@"项目讨论"];
createOptions.inviteeUserIDs = @[@"user-002", @"user-003"];
[[BIMManager sharedInstance] createMeeting:createOptions
succ:^(BIMMeeting *meeting) {
[[BIMManager sharedInstance] startMeetingWithNumber:meeting.meetingNumber
options:nil
succ:^(BIMMeetingSession *session) {
self.meetingSession = session;
[session attachRenderViewToContainer:self.meetingContainer
succ:nil
fail:nil];
} fail:^(int code, NSString *desc) {
NSLog(@"start meeting failed: %d %@", code, desc);
}];
} fail:^(int code, NSString *desc) {
NSLog(@"create meeting failed: %d %@", code, desc);
}];成功回调表示本地 Session 已建立;媒体真正可用以 BIMMeetingListener 返回的 BIMMeetingSnapshot.state == BIMMeetingSessionStateConnected 为准。
核心对象
| 对象 | 用途 |
|---|---|
BIMMeeting | 会议详情、9 位会议号、组织者、成员和后台状态 |
BIMMeetingListQueryOptions / BIMMeetingListResult | 查询当前用户参与的历史与预约会议 |
BIMMeetingCreateOptions | 创建即时或预约会议 |
BIMMeetingEditOptions | 完整更新预约会议信息和普通成员集合 |
BIMMeetingEnterOptions | 配置入会时的麦克风、摄像头和音频输出 |
BIMMeetingSession | 控制本地媒体、画面和本地离会 |
BIMMeetingSnapshot | 驱动媒体连接状态和本地设备 UI |
所有公开 Meeting API 都使用 meetingNumber,它是固定 9 位数字。不要把后台内部 meetingID 或即时呼的 callID 当作会议号。
