Updated on 2024-07-30 GMT+08:00

Configuring the UI

Set delegates for the custom pages as required. This operation can be performed when you initialize or use the SDK.

1
2
3
4
5
6
7
[HWMSdk getSdkConfig].socialShareHandler = <#Delegate#>; // (Optional) Customizes the social sharing capability during a meeting.
[HWMSdk getSdkConfig].audioConfToolBarHandler = <#Delegate#>; // (Optional) Customizes the meeting control menu of a voice meeting.
[HWMSdk getSdkConfig].videoConfToolBarHandler = <#Delegate#>; // (Optional) Customizes the meeting control menu of a video meeting.
[HWMSdk getSdkConfig].participantListMenuHandler = <#Delegate#>; // (Optional) Customizes the participant list menu.
[HWMSdk getSdkConfig].confTitleBarMenuHandler = <#Delegate#>; // (Optional) Customizes the title bar on the top of the meeting page.
[HWMSdk getSdkConfig].contactUIHandler = <#Delegate#>; // (Optional) Customizes the contact UI.
[HWMSdk getSdkConfig].headPortraitApiHandler = <#Delegate#>; // (Optional) Customizes the profile picture display.

UI Customization Items

Table 1 HWMConfMenuItem description

Parameter

Type

Description

type

HWMConfCtrlType

Meeting control type.

text

NSString *

Normal text.

highlightText

NSString *

Highlighted text.

selectedText

NSString *

Selected text.

isSelected

BOOL

Whether to select the item. Default value: NO.

clickEvent

void(^clickEvent)(HWMConfCtrlType type)

Callback triggered when you click an item.

Table 2 HWMConfToolBarMenuItem description (inherited from HWMConfMenuItem)

Parameter

Type

Description

image

UIImage *

Common image.

hightlightImage

UIImage *

Highlighted image.

selectedImage

UIImage *

Selected image.

selectedHighlightImage

UIImage *

Image that is selected and highlighted.

disableImage

UIImage *

Image that cannot be clicked.

menuClickEvent

void(^menuClickEvent)(HWMConfCtrlType type, UIButton *menuItemBtn);

Callback triggered when you click an item.

Table 3 HWMConfMenuListItem description (inherited from HWMConfMenuItem)

Parameter

Type

Description

nemuType

HWMConfMenuListItemType

Enumerated display types.

image

UIImage *

Common image.

selectedImage

UIImage *

Selected image.

Table 4 HWMConfSettingItem description (inherited from HWMConfMenuItem)

Parameter

Type

Description

viewType

HWMConfSettingViewType

Enumerated display types.

switchEvent

void (^ switchEvent)(HWMConfCtrlType type, UISwitch *actionSwitch)

Switch event callback. It is implemented only for HWMConfSettingItemTypeSwitch. actionSwitch indicates this switch.

Table 5 HWMConfParticipantActionMenuItem description (inherited from HWMConfMenuItem)

Parameter

Type

Description

actionClickEvent

void(^actionClickEvent)(HWMConfCtrlType type, HWMConfParticipant *participant)

Callback triggered when you click an item.

Table 6 HWMConfParticipant description

Parameter

Type

Description

participantId

NSString *

Unique participant identifier.

name

NSString *

Participant name.

number

NSString *

Number.

accountId

NSString *

UUID of an account.

isMute

BOOL

Whether the microphone is muted.

isHandup

BOOL

Whether the participant raises hands.

isBroadcast

BOOL

Whether the participant is being broadcast.

isSelf

BOOL

Whether the participant is the local participant.

role

ConfRoleType

Participant role.

state

ConfParticipantStatusType

Participant status.

mediaType

NSUInteger

Media type.

isAnonymous

BOOL

Whether the participant is anonymous.

isChairman

BOOL

Whether the participant is the host.

userId

NSUInteger

User ID.

clientDeviceType

HWMClientDeviceType

Client device type.

isMainSpeaker

BOOL

Whether the participant is the speaker with the top priority.

displayName

NSString *

By default, the participant name is displayed. If the participant is the local participant, "Me" is added.

pinyinName

NSString *

Chinese name in Pinyin.

isAudioJoined

BOOL

Whether the call is a voice call.

cameraState

HWMConfCameraState

Camera status.

orgId

NSString *

Enterprise ID.

Table 7 Enumerated values of HWMConfCtrlType (Default meeting control types in the SDK. Enumerated values will be added continuously. It is advised to start your custom enumerated values from 1,000.)

Enumerated Value

Value

Description

ConfCtrlMute

1

Mute or unmute the microphone.

ConfCtrlVideo

2

Enable or disable the camera.

ConfCtrlScreenShare

3

Start or stop screen sharing.

ConfCtrlAttendee

4

Participant list.

ConfCtrlMore

5

More.

ConfCtrlLoudSpeaker

6

Speaker or microphone.

ConfCtrlTransToVideo

7

Switch a voice call to a video call.

ConfCtrlTransToAudio

8

Switch a video call to a voice call.

ConfCtrlMuteAll

9

Mute all participants.

ConfCtrlUnmuteAll

10

Unmute all participants.

ConfCtrlHandup

11

Raise hands.

ConfCtrlRequestChairman

12

Apply to be the host.

ConfCtrlReleaseChairman

13

Relinquish the host role.

ConfCtrlTransferChairman

14

Transfer the host role.

ConfCtrlBroadcast

15

Broadcast a participant.

ConfCtrlCallOtherNumber

16

Call other numbers.

ConfCtrlChangeNickName

17

Change the display name in the meeting.

ConfCtrlHangup

18

Hang up a participant.

ConfCtrlRecall

19

Recall a participant.

ConfCtrlWatch

20

Focus on a participant or cancel focus.

ConfCtrlAllowAttendeeUnmute

21

Allow or forbid participants to unmute themselves.

ConfCtrlRecord

22

Start or stop recording.

ConfCtrlAddressBook

23

Contacts.

ConfCtrlShare

24

Social sharing.

ConfCtrlSwitchCamera

25

Switch between front and rear cameras.

ConfCtrlHideSmallVideo

26

Hide self view.

ConfCtrlLock

27

Lock the meeting.

ConfCtrlInvite

28

Invite participants.

ConfCtrlBeauty

29

Beautification.

ConfCtrlHowlDetection

30

Detect feedback.

ConfCtrlLockShare

31

Lock sharing.

ConfCtrlQRScan

32

Scan a QR code.

ConfCtrlNetworkDetect

33

Check network quality.

ConfCtrlFeedback

34

Provide feedback.

ConfCtrlRemoveAttendee

35

Remove participants.

ConfCtrlChat

36

Chat.

ConfCtrlSetting

37

Configure the meeting.

ConfCtrlInterpret

38

Interpret.

ConfCtrlAllowedSpeak

39

Allow attendees to speak.

ConfCtrlAllowAudienceWatch

40

Enable or disable attendee view.

ConfCtrlCoHost

41

Assign or unassign as a co-host.

ConfCtrlLocalRecordSetMode

42

Configure local recording permissions.

ConfCtrlLocalRecordGrantAttendee

43

Allow or forbid participant recording.

ConfCtrlSwitchAudienceAndAttendee

44

Switch roles between attendee and panelist.

ConfCtrlViewDetails

45

View details.

ConfCtrlAllowJoinConf

46

Set users who can join the meeting.

ConfCtrlWaitingRoom

47

Waiting room.

ConfCtrlAllowChat

48

Allow chat.

ConfCtrlMoveToWaitingRoom

49

Move a participant to the waiting room.

ConfCtrlAdmitWaitingRoomParticipant

50

Allow a waiting room member to join the meeting.

ConfCtrlRemoveWaitingRoomParticipant

51

Remove a member from the waiting room.

ConfCtrlInviteScreenShare

52

Invite a participant to share the screen or cancel sharing.

ConfCtrlChatRemind

53

Configure chat message notification.

ConfCtrlMirror

54

Video mirroring.

ConfCtrlAllowAttendeeOpenCamera

55

Allow participants to enable the camera.

ConfCtrlReport

56

Report a participant.

ConfCtrlAllowRename

57

Allow renaming.

ConfCtrlVote

58

Polls.

ConfCtrlPrivateChat

59

Direct messaging.

ConfCtrlVirtualBackground

60

Virtual background.

ConfCtrlHideFloatMicro

61

Hide the floating view.

ConfCtrLiveBroadcast

62

Live broadcast

ConfCtrlHDPreferred

63

HD preferred.

ConfCtrlPicRatio

64

Video ratio.

ConfCtrlNoiseReduction

65

Noise reduction.

ConfCtrlRetrieveChairman

66

Claim the host role.

ConfCtrlEnhanceVideoQuality

67

Adjust lighting.

ConfCtrlPreemptSharePermission

68

Sharing interruption permission.

ConfCtrlAutoAdmitWaitingRoomParticipant

69

Automatically admit the user to the meeting.

ConfCtrlSubtitle

70

Enable or disable live captions.

ConfCtrlSubtitleLanguage

71

Select the live caption language.

ConfCtrlCameraPermission

72

Camera permissions.

ConfCtrlLeaveAndLogout

73

Leave this meeting and log out.

ConfCtrlAudioConnect

74

Automatically connect to audio after joining the meeting.

Table 8 Enumerated values of HWMConfMenuListItemType

Enumerated Value

Description

HWMConfMenuListItemTypeNormal

Common image and text.

HWMConfMenuListItemTypeEnter

Text on the left + Enter button with the arrow on the right.

HWMConfMenuListItemTypeRightBadge

Text on the left + Badge on the right (not available currently).

Table 9 Enumerated values of HWMConfSettingViewType

Enumerated Value

Description

HWMConfSettingViewTypeSwitch

Text on the left + Switch on the right.

HWMConfSettingViewTypeEnter

Text on the left + Arrow on the right.

Table 10 Enumerated values of ConfRoleType

Enumerated Value

Description

ConfRoleTypeAttendee

Guest.

ConfRoleTypeChairman

Host.

ConfRoleTypeAudience

Attendee.

ConfRoleTypeCohost

Co-host.

Table 11 Enumerated values of ConfParticipantStatusType

Enumerated Value

Description

ConfParticipantStatusInConf

The participant is in the meeting.

ConfParticipantStatusCalling

The participant is being called.

ConfParticipantStatusJoining

The participant is joining the meeting.

ConfParticipantStatusLeaved

The participant has left the meeting.

ConfParticipantStatusNoExist

The user does not exist.

ConfParticipantStatusBusy

The called party is busy.

ConfParticipantStatusNoAnser

The called party does not answer the call.

ConfParticipantStatusReject

The called party rejects the call.

ConfParticipantStatusCallfailed

Call failed.

Table 12 Enumerated values of HWMClientDeviceType

Enumerated Value

Description

HWMClientDeviceTypeDesktop

PC client.

HWMClientDeviceTypeMobile

Mobile app.

HWMClientDeviceTypePad

Tablet client.

HWMClientDeviceTypeOther

Others.

Table 13 Enumerated values of HWMConfCameraState

Enumerated Value

Description

HWMConfCameraStateClose

Disabled.

HWMConfCameraStateOpen

Enabled.

HWMConfCameraStateUnknow

Unknown.

HWMConfCameraStateNoCamera

No camera.