Customized Video UI


Contents

1. Enable Custom Meeting UI

2. Create Custom Meeting UI

1. Enable Custom Meeting UI

To use custom meeting UI, you need to enable this feature before starting or joining a meeting using the following:

ZoomSDK.getInstance().getMeetingSettingsHelper().setCustomizedMeetingUIEnabled(true);

If you would like to listen for In-Meeting events, register or unregister the InMeetingServiceListener function:

InMeetingService mInMeetingService = ZoomSDK.getInstance().getInMeetingService();

//Register
mInMeetingService.addListener(this);

//Unregister
mInMeetingService.removeListener(this);

2. Create Custom Meeting UI

Our customizable view is called MobileRTCVideoView. Implement the MobileRTCVideoView function in the code layout. The Zoom SDK interface will use the MobileRTCVideoView function as the video container.

<activity
	android:name="us.zoom.sdksample.inmeetingfunction.customizedmeetingui.MyMeetingActivity"
	android:configChanges="screenSize"
	android:theme="@style/ZMTheme.SubWindow"
	android:screenOrientation="portrait"/>

Use the MobileRTCVideoView interface getVideoViewManager() to get the manager object MobileRTCVideoViewManager for the video view.

mGalleryVideoView = (MobileRTCVideoView)mGallerySenceView.findViewById(R.id.galleryVideoView);
MobileRTCVideoViewManager mGalleryVideoViewMgr = mGalleryVideoView.getVideoViewManager();


Note

If the SDK credential doesn’t support the customize meeting UI feature, this interface will always return null.

Use the MobileRTCVideoViewManager function to add, remove, update, and destroy the video unit in MobileRTCVideoView.

MobileRTC Video View Manager interfaces list:

Modifier and Type Method and Description
boolean addActiveVideoUnit (MobileRTCVideoUnitRenderInfo renderInfo) - Add a active video unit in the VideoView.
boolean addAttendeeVideoUnit (long user ID, MobileRTCVideoUnitRenderInfo renderInfo) - Add a attendee video unit on the VideoView.
boolean addPreviewVideoUnit (MobileRTCVideoUnitRenderInfo renderInfo) - Add preview video unit in the VideoView.
boolean addShareVideoUnit (long user ID, MobileRTCRenderInfo renderInfo) - Add a share video unit in the VideoView.
void destroy () - Call this API to release resource, the VideoView will unable to add video unit.
void removeActiveVideoUnit () - Remove active video unit in the VideoView.
void removeAllAttendeeVideoUnit () - Remove all attendee video unit in the VideoView.
void removeAllVideoUnits () - Remove all video units in the VideoView.
void removeAttendeeVideoUnit (long user ID) - Remove a attendee video unit in the VideoView by user's ID.
void removePreviewVideoUnit () - Remove preview video unit in the VideoView.
void removeShareVideoUnit () - Remove share video unit in the VideoView.
void updateActiveVideoUnit ( MobileRTCVideoUnitRenderInfo renderInfo) - Update active video unit render information on the VideoView.
void updateAttendeeVideoUnit (long user ID, MobileRTCVideoUnitRenderInfo renderInfo) - Update a attendee video unit render information on the VideoView by user's ID.
void updatePreviewVideoUnit ( MobileRTCVideoUnitRenderInfo renderInfo) - Update preview video unit render information on the VideoView.
void updateShareVideoUnit ( MobileRTCRenderInfo renderInfo) - Update share video unit render information on the VideoView.

MobileRTCVideoUnitRenderInfo

int aspect_mode - Video unit aspect mode defined in the MobileRTCVideoUnitAspectMode class - default is original.
int background_color - Video unit background color, - default is black.
boolean is_border_visible - Show video border on video unit, - default is false.
boolean is_show_audio_off - Show user’s audio status on video unit, - default is false.
boolean is_username_visible - Show user's name on video unit, - default is false.

We will cover the detail of the above methods in the later sections.