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

Customizing the Bottom Toolbar

This section uses a video meeting as an example, and is also applicable to voice calls, video calls, and voice meetings.

buildToolBarMenuItems

API Description

This API is used to customize a meeting control menu at the bottom of a video meeting.

Figure 1 Customizing a meeting control menu at the bottom of a video meeting

Precautions

  1. This method is used to customize a meeting control menu at the bottom of a video meeting.

Method Definition

1
- (NSArray <HWMConfToolBarMenuItem *> *)buildToolBarMenuItems;

Parameter Description

None

Return Values

None

Sample Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
/// Customize a meeting control menu at the bottom of a video meeting.
- (NSArray <HWMConfToolBarMenuItem *> *)buildToolBarMenuItems {
    // Mute or unmute the microphone.
    HWMConfToolBarMenuItem *micItem = [HWMConfToolBarMenuItem defaultMicItem];
    // Turn on or off the camera.
    HWMConfToolBarMenuItem *videoItem = [HWMConfToolBarMenuItem defaultVideoItem];
    // Start or stop screen sharing.
    HWMConfToolBarMenuItem *screenShareItem = [HWMConfToolBarMenuItem defaultScreenShareItem];
    // Participant list.
    HWMConfToolBarMenuItem *attendeeItem = [HWMConfToolBarMenuItem defaultAttendeeItem];
    // Customize More.
    HWMConfToolBarMenuItem *moreItem = [HWMConfToolBarMenuItem defaultMoreItem];

    return @[micItem, videoItem, screenShareItem, attendeeItem, moreItem];
}

buildToolBarMoreMenuItems

API Description

This API is used to customize the More menu at the bottom of a video meeting.

Figure 2 Customizing the More menu at the bottom of a video meeting

Precautions

None

Method Definition

1
- (NSArray <HWMConfMenuListItem *> *)buildToolBarMoreMenuItems

Parameter Description

None

Return Values

None

Sample Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
/// Customize the More menu at the bottom of a video meeting.
- (NSArray <HWMConfMenuListItem *> *)buildToolBarMoreMenuItems {
    // Chat.
    HWMConfMenuListItem *chatItem = [HWMConfMenuListItem defaultChatItem];
    // Invite participants.
    HWMConfMenuListItem *inviteItem = [HWMConfMenuListItem defaultInviteItem];
    // Record the meeting.
    HWMConfMenuListItem *recordItem = [HWMConfMenuListItem defaultRecordItem];
    // Raise hands.
    HWMConfMenuListItem *raiseHandsItem = [HWMConfMenuListItem defaultRaiseHandsItem];
    // Switch cameras.
    HWMConfMenuListItem *switchCameraItem = [HWMConfMenuListItem defaultSwitchCameraItem];
    // Customize meeting settings.
    HWMConfMenuListItem *settingItem = [HWMConfMenuListItem defaultSettingItem];

    return @[chatItem, inviteItem, recordItem, raiseHandsItem, switchCameraItem, settingItem];
}

buildSettingItems

API Description

This API is used to customize the meeting settings under More of a video meeting.

Figure 3 Customizing the meeting settings under More of a video meeting

Precautions

None

Method Definition

1
- (NSArray <HWMConfSettingGroup *> *)buildSettingItems;

Parameter Description

None

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
// Customize the meeting settings under More in a video meeting.
- (NSArray <HWMConfSettingGroup *> *)buildSettingItems {
    HWMConfSettingGroup *audioVideoGroup = [[HWMConfSettingGroup alloc] initWithTitle: @"Voice/Video"];
    HWMConfSettingItem *howlItem = [HWMConfSettingItem defaultHowlDetection];
    HWMConfSettingItem *beautyItem = [HWMConfSettingItem defaultBeautyItem];
    HWMConfSettingItem *hideSmallViewItem = [HWMConfSettingItem defaultHideSmallVideoItem];
    audioVideoGroup.items = @[howlItem, beautyItem, hideSmallViewItem];

    HWMConfSettingGroup *securityGroup = [[HWMConfSettingGroup alloc] initWithTitle: @"Security"];
    HWMConfSettingItem *lockItem = [HWMConfSettingItem defaultLockItem];
    securityGroup.items = @[lockItem];

    HWMConfSettingGroup *authorityGroup = [[HWMConfSettingGroup alloc] initWithTitle:@"Permissions"];
    HWMConfSettingItem *allowUnmuteItem = [HWMConfSettingItem defaultAllowAttendeeUnmuteItem];
    HWMConfSettingItem *shareLockItem = [HWMConfSettingItem defaultLockShareItem];
    authorityGroup.items = @[allowUnmuteItem, shareLockItem];

    HWMConfSettingGroup *commonGroup = [[HWMConfSettingGroup alloc] initWithTitle: @"General"];
    HWMConfSettingItem *networkDetectItem = [HWMConfSettingItem defaultNetworkDetectItem];
    HWMConfSettingItem *feedbackItem = [HWMConfSettingItem defaultFeedbackItem];
    commonGroup.items = @[networkDetectItem, feedbackItem];

    return @[audioVideoGroup, securityGroup, authorityGroup, commonGroup];
}