Updated on 2023-03-23 GMT+08:00

Creating a Meeting

createConf

API Description

This API is used to create an instant meeting.

Precautions

  1. By default, this API enables you to join a meeting as a host. During API calling, there is no need to add your information to the participant parameters.
  2. If other participants need to be invited, their information needs to be transferred.
  3. Meeting recording must be enabled if automatic recording is enabled.
  4. The meeting creation result can be obtained by calling the callback API.

Method Definition

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

Parameter Description

Table 1 HWMCreateConfParam parameters

Parameter

Mandatory

Type

Description

subject

Yes

NSString *

Meeting topic.

confType

Yes

HWMConfType

Meeting media type. A voice meeting is created by default. If screen sharing is required, a data meeting needs to be created.

needPassword

No

BOOL

Whether a password is required for a meeting. By default, no password is required.

NOTE:

This parameter is valid only for meetings with a random ID.

guestPwd

No

NSSting *

Guest password.

NOTE:

This parameter is valid only for meetings with a random ID.

members

No

NSArray <HWMCreateConfMember *> *

Member list (optional).

isCameraOn

No

BOOL

Whether to turn on the camera. By default, the camera is turned off.

isMicOn

No

BOOL

Whether to turn on the microphone. By default, the microphone is turned on.

isRecordOn

No

BOOL

Whether to enable recording.

NOTE:

This parameter is valid only for cloud recording, not for local recording on clients.

isAutoRecord

No

BOOL

Whether to automatically start recording after a meeting starts. The function is disabled by default. Meeting recording must be enabled if automatic recording is enabled.

NOTE:

This parameter is valid only for cloud recording, not for local recording on clients.

vmrId

No

NSString *

ID of the personal meeting or cloud meeting room. This parameter is required when a personal meeting or a cloud meeting room is created. In other cases, this parameter is left empty.

joinConfRestrictionType

No

HWMJoinConfRestrictionType

Participants who are allowed to join the meeting.

isOpenWaitingRoom

No

BOOL

Whether to enable the waiting room.

NOTE:

The function takes effect only after the waiting room function is enabled.

Table 2 Enumerated values of HWMConfType

Enumerated Value

Description

HWMConfTypeAudio

Voice meeting.

HWMConfTypeVideo

Video meeting.

HWMConfTypeAudioAndData

Voice data meeting that supports screen sharing.

HWMConfTypeVideoData

Video data meeting that supports screen sharing.

Table 3 HWMCreateConfMember parameters

Parameter

Mandatory

Type

Description

name

Yes

NSString *

Participant name.

number

Yes

NSString *

SIP number or phone number (either number or thirdUserId).

thirdUserId

Yes

NSString *

Third-party account in the app ID login scenario (either number or thirdUserId).

accountId

No

NSString *

Account ID.

Return Values

None

Sample Code
 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
/// Create a meeting.
- (void)creatMeeting {
    HWMCreateConfParam *param = [[HWMCreateConfParam alloc] init];
    param.subject = @"Meeting topic";
    param.confType = HWMConfTypeVideoData;
    param.needPassword = YES; // Whether a password is required for a meeting. By default, no password is required.
    param.isCameraOn = YES; // Whether to turn on the camera. By default, the camera is turned off.
    param.isMicOn = YES; // Whether to turn on the microphone. By default, the microphone is turned on.
    param.isRecordOn = NO; // Whether to enable the meeting recording function. By default, this function is disabled.
    param.joinConfRestrictionType = HWMJoinConfRestrictionAll;// Participants who are allowed to join the meeting.
  param.joinConfRestrictionType = NO;// Whether to enable the waiting room.
    // Participant list.
    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(@"Failed to create the meeting %@", error.localizedDescription);
        }else{
            NSLog(@"Meeting created.");
        }
    }];
}