更新时间:2024-07-30 GMT+08:00

底部工具栏定制

此章节以视频会议为例(音频会议同理使用)。

buildToolBarMenuItems

接口描述

该接口用于构建视频会议底部toolbar的会控全量菜单。

图1 视频会议会控菜单定制位置

注意事项

  1. 此方法用于视频会议底部toolbar的定制。

方法定义

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

参数描述

返回值

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
/// 构建视频会议底部toolbar的会控全量菜单
- (NSArray <HWMConfToolBarMenuItem *> *)buildToolBarMenuItems {
    // 麦克风静音 or 取消静音
    HWMConfToolBarMenuItem *micItem = [HWMConfToolBarMenuItem defaultMicItem];
    // 打开 or 关闭摄像头
    HWMConfToolBarMenuItem *videoItem = [HWMConfToolBarMenuItem defaultVideoItem];
    // 屏幕共享开始 or 停止
    HWMConfToolBarMenuItem *screenShareItem = [HWMConfToolBarMenuItem defaultScreenShareItem];
    // 与会者列表
    HWMConfToolBarMenuItem *attendeeItem = [HWMConfToolBarMenuItem defaultAttendeeItem];
    // 更多
    HWMConfToolBarMenuItem *moreItem = [HWMConfToolBarMenuItem defaultMoreItem];

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

buildToolBarMoreMenuItems

接口描述

该接口用于构建视频会议底部toolbar的“更多”菜单。

图2 视频会议底部toolbar的“更多”菜单

注意事项

方法定义

1
- (NSArray <HWMConfMenuListItem *> *)buildToolBarMoreMenuItems

参数描述

返回值

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
/// 构建视频会议底部toolbar的“更多”菜单
- (NSArray <HWMConfMenuListItem *> *)buildToolBarMoreMenuItems {
    // 聊天
    HWMConfMenuListItem *chatItem = [HWMConfMenuListItem defaultChatItem];
    // 邀请
    HWMConfMenuListItem *inviteItem = [HWMConfMenuListItem defaultInviteItem];
    // 录制
    HWMConfMenuListItem *recordItem = [HWMConfMenuListItem defaultRecordItem];
    // 举手
    HWMConfMenuListItem *raiseHandsItem = [HWMConfMenuListItem defaultRaiseHandsItem];
    // 切换摄像头
    HWMConfMenuListItem *switchCameraItem = [HWMConfMenuListItem defaultSwitchCameraItem];
    // 设置
    HWMConfMenuListItem *settingItem = [HWMConfMenuListItem defaultSettingItem];
    
    return @[chatItem, inviteItem, recordItem, raiseHandsItem, switchCameraItem, settingItem];
}

buildSettingItems

接口描述

该接口用于构建视频会议点击更多菜单的设置弹出的设置列表项目。

图3 视频会议点击更多菜单弹出列表定制位置

注意事项

方法定义

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

参数描述

返回值

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 构建视频会议点击更多菜单的设置弹出的设置列表项目
- (NSArray <HWMConfSettingGroup *> *)buildSettingItems {
    HWMConfSettingGroup *audioVideoGroup = [[HWMConfSettingGroup alloc] initWithTitle: @"音视频"];
    HWMConfSettingItem *howlItem = [HWMConfSettingItem defaultHowlDetection];
    HWMConfSettingItem *beautyItem = [HWMConfSettingItem defaultBeautyItem];
    HWMConfSettingItem *hideSmallViewItem = [HWMConfSettingItem defaultHideSmallVideoItem];
    audioVideoGroup.items = @[howlItem, beautyItem, hideSmallViewItem];
    
    HWMConfSettingGroup *securityGroup = [[HWMConfSettingGroup alloc] initWithTitle: @"安全"];
    HWMConfSettingItem *lockItem = [HWMConfSettingItem defaultLockItem];
    securityGroup.items = @[lockItem];
    
    HWMConfSettingGroup *authorityGroup = [[HWMConfSettingGroup alloc] initWithTitle:@"权限"];
    HWMConfSettingItem *allowUnmuteItem = [HWMConfSettingItem defaultAllowAttendeeUnmuteItem];
    HWMConfSettingItem *shareLockItem = [HWMConfSettingItem defaultLockShareItem];
    authorityGroup.items = @[allowUnmuteItem, shareLockItem];
    
    HWMConfSettingGroup *commonGroup = [[HWMConfSettingGroup alloc] initWithTitle: @"通用"];
    HWMConfSettingItem *networkDetectItem = [HWMConfSettingItem defaultNetworkDetectItem];
    HWMConfSettingItem *feedbackItem = [HWMConfSettingItem defaultFeedbackItem];
    commonGroup.items = @[networkDetectItem, feedbackItem];
    
    return @[audioVideoGroup, securityGroup, authorityGroup, commonGroup];
}