Use the custom UI

View as Markdown

Enable the custom meeting UI

To use the custom meeting UI, enable the feature before starting or joining a meeting.

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

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);

Create a custom meeting UI

Our customizable view is called MobileRTCVideoView. Implement the MobileRTCVideoView function in the code layout. The Meeting SDK interface uses 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"/>

Note:

Do not include MobileRTCVideoView in a layout that will be inflated outside of a meeting. It is only meant to be used while in a meeting, so inflating it when not in a meeting may cause undesirable behavior.

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();

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


MobileRTC video view manager interfaces

Modifier and TypeMethod and Description
booleanaddActiveVideoUnit (MobileRTCVideoUnitRenderInfo renderInfo) - Add a active video unit in the VideoView.
booleanaddAttendeeVideoUnit (long user ID, MobileRTCVideoUnitRenderInfo renderInfo) - Add a attendee video unit on the VideoView.
booleanaddPreviewVideoUnit (MobileRTCVideoUnitRenderInfo renderInfo) - Add preview video unit in the VideoView.
booleanaddShareVideoUnit (long user ID, MobileRTCRenderInfo renderInfo) - Add a share video unit in the VideoView.
voiddestroy () - Call this API to release resource, the VideoView will unable to add video unit.
voidremoveActiveVideoUnit () - Remove active video unit in the VideoView.
voidremoveAllAttendeeVideoUnit () - Remove all attendee video unit in the VideoView.
voidremoveAllVideoUnits () - Remove all video units in the VideoView.
voidremoveAttendeeVideoUnit (long user ID) - Remove a attendee video unit in the VideoView by user's ID.
voidremovePreviewVideoUnit () - Remove preview video unit in the VideoView.
voidremoveShareVideoUnit () - Remove share video unit in the VideoView.
voidupdateActiveVideoUnit ( MobileRTCVideoUnitRenderInfo renderInfo) - Update active video unit render information on the VideoView.
voidupdateAttendeeVideoUnit (long user ID, MobileRTCVideoUnitRenderInfo renderInfo) - Update a attendee video unit render information on the VideoView by user's ID.
voidupdatePreviewVideoUnit ( MobileRTCVideoUnitRenderInfo renderInfo) - Update preview video unit render information on the VideoView.
voidupdateShareVideoUnit ( MobileRTCRenderInfo renderInfo) - Update share video unit render information on the VideoView.

MobileRTCVideoUnitRenderInfo

intaspect_mode - Video unit aspect mode defined in the MobileRTCVideoUnitAspectMode class. Default is original.
intbackground_color - Video unit background color. Default is black.
booleanis_border_visible - Show video border on video unit. Default is false.
booleanis_show_audio_off - Show user's audio status on video unit. Default is false.
booleanis_username_visible - Show user's name on video unit. Default is false.

We will cover details of those methods in later sections.