更新时间:2024-09-13 GMT+08:00

创建会议

createConf

接口描述

该接口用于创建即时会议。

注意事项

  1. 该接口默认已将自己作为主持人加入会议,调用接口时,在与会者参数中不需要带上自己的信息。
  2. 若需要在创建会议的同时邀请其他与会者,需要传入其他与会者信息。
  3. 开启自动录制会议时必须开启录制会议。
  4. 创会结果在callback中返回。

方法定义

1
- (void)createConf:(HWMCreateConfParam * _Nonnull)param callback:( _Nonnull HWMSDKCreateConfCompleteHandler)callback;

参数描述

表1 HWMCreateConfParam参数说明

参数

是否必须

类型

描述

subject

NSString *

会议主题。

confType

HWMConfType

会议媒体类型 默认语音会议,如果要支持屏幕共享能力,需传入数据会议。

needPassword

BOOL

会议是否需要设置密码,默认不需要。

说明:

仅对随机会议ID生效

guestPwd

NSSting *

来宾密码

说明:

仅对随机会ID生效。

members

NSArray <HWMCreateConfMember *> *

成员列表,可选

isCameraOn

BOOL

是否打开摄像头,默认关闭

isMicOn

BOOL

是否打开麦克风,默认打开

isRecordOn

BOOL

录制会议开关

说明:

仅对云录制生效,客户端本地录制不生效。

isAutoRecord

BOOL

会议开始后是否自动开启录制,默认关闭。开启自动录制会议时必须开启录制会议

说明:

仅对云录制生效,客户端本地录制不生效。

vmrId

NSString *

个人会议或者云会议室Id,创建个人会议或云会议室的时候传入,其它时候传入空

vmrIdType

HWMVmrIdType

VMR ID类型(固定/随机)

joinConfRestrictionType

HWMJoinConfRestrictionType

允许入会范围限制

isOpenWaitingRoom

BOOL

等候室开启开关

说明:

需要等候室功能开通后才能生效

customInfo

NSString *

自定信息(会议详情、会中消息推送可以查看)

isSpeakerOff

BOOL

是否关闭扬声器,默认不关闭

concurrentParticipants

NSUInteger

会议最大与会人数,默认0

autoMuteMode

HWMAutoMuteType

个人客户端入会是否自动静音

hardTerminalAutoMuteMode

HWMAutoMuteType

会议室设备入会是否自动静音

表2 枚举HWMConfType说明

枚举值

描述

HWMConfTypeAudio

音频会议。

HWMConfTypeVideo

视频会议。

HWMConfTypeAudioAndData

音频数据会议,支持屏幕共享能力。

HWMConfTypeVideoData

视频数据会议, 支持屏幕共享能力。

表3 HWMCreateConfMember参数说明

参数

是否必须

类型

描述

name

NSString *

与会者名字

number

NSString *

Sip呼叫号码或者电话号码(number和thirdUserId二选一)

thirdUserId

NSString *

APPID 登录场景下的第三方账号(number和thirdUserId二选一)

accountId

NSString *

用户账号ID。

表4 枚举HWMAutoMuteType说明

枚举值

描述

HWMAutoMuteTypeDefault

默认

HWMAutoMuteTypeMute

静音

HWMAutoMuteTypeUnmute

非静音

返回值

示例代码
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/// 创建会议
- (void)creatMeeting {
    HWMCreateConfParam *param = [[HWMCreateConfParam alloc] init];
    param.subject = @"会议标题";
    param.confType = HWMConfTypeVideoData;
    param.needPassword = YES;// 会议是否需要设置密码,默认不需要
    param.isCameraOn = YES;// 是否打开摄像头, 默认关闭
    param.isMicOn = YES;// 是否打开麦克风, 默认打开
    param.isRecordOn = NO;// 是否打开会议录制, 默认关闭
    param.joinConfRestrictionType = HWMJoinConfRestrictionAll;// 允许入会范围
  param.joinConfRestrictionType = NO;// 是否开启等候室
    // 与会者列表
    if (self.selectedMemebrs) {
        __block NSMutableArray *members = [[NSMutableArray alloc] init];
        [self.selectedMemebrs enumerateObjectsUsingBlock:^(HWMContactSelectedModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            HWMCreateConfMember *member = [[HWMCreateConfMember alloc] init];
            member.accoundId = obj.accountId;
            member.number = obj.number;
            member.name = obj.name;
            member.thirdUserId = obj.thirdUserId;
            [members addObject:member];
        }];
        param.members = members;
    }
    [[HWMSdk getOpenApi] createConf:param callback:^(NSError * _Nullable error, HWMCreateConfResult * _Nullable result) {
        [self hideLoading];
        if (error) {
            NSLog(@"创会失败%@", error.localizedDescription);
        }else{
            NSLog(@"创会成功");
        }
    }];
}