Updated on 2024-09-13 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 description

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 the 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.

vmrIdType

No

HWMVmrIdType

Type of the cloud meeting room ID (fixed/random).

joinConfRestrictionType

No

HWMJoinConfRestrictionType

Users who are allowed to join the meeting.

isOpenWaitingRoom

No

BOOL

Waiting room status.

NOTE:

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

customInfo

No

NSString *

User-defined information (meeting details and in-meeting chat messages).

isSpeakerOff

No

BOOL

Whether to disable the speakers. By default, the speakers are enabled.

concurrentParticipants

No

NSUInteger

Maximum number of participants in the meeting. The default value is 0.

autoMuteMode

No

HWMAutoMuteType

Whether to automatically mute personal client users when they join the meeting.

hardTerminalAutoMuteMode

No

HWMAutoMuteType

Whether to automatically mute meeting room device users when they join the meeting.

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 description

Parameter

Mandatory

Type

Description

name

Yes

NSString *

Participant name.

number

Yes

NSString *

SIP number or phone number (either number or thirdUserId should be passed).

thirdUserId

Yes

NSString *

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

accountId

No

NSString *

Account ID.

Table 4 Enumerated values of HWMAutoMuteType

Enumerated Value

Description

HWMAutoMuteTypeDefault

Default.

HWMAutoMuteTypeMute

Mute.

HWMAutoMuteTypeUnmute

Unmute.

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(@"Create meeting failed.%@", error.localizedDescription);
        }else{
            NSLog(@"Meeting created.");
        }
    }];
}