How can I hide gray rectangle inside video


Description
How can I hide gray rectangle inside video

Screenshots

@hemeandrajain1991,

Welcome to the Zoom Developer Forum - happy to help ! Can you share if you have implemented the default meeting UI or custom meeting UI ?

I implemented using CustomUi

Code:

ZoomSDK zoomSDK = ZoomSDK.getInstance();
MeetingService meetingService = zoomSDK.getMeetingService();
MeetingSettingsHelper meetingSettingsHelper = zoomSDK.getMeetingSettingsHelper();
meetingSettingsHelper.setHideNoVideoUsersEnabled(true);
meetingSettingsHelper.setSwitchVideoLayoutAccordingToUserCountEnabled(true);
meetingSettingsHelper.setSwitchVideoLayoutUserCountThreshold(2);
JoinMeetingOptions options = new JoinMeetingOptions();
options.no_driving_mode = true;
options.no_bottom_toolbar = true;
options.no_chat_msg_toast = true;
options.no_dial_in_via_phone = true;
options.no_dial_out_to_phone = true;
options.custom_meeting_id = "Event Name";
//options.meeting_views_options = MeetingViewsOptions.NO_BUTTON_PARTICIPANTS;
options.meeting_views_options = MeetingViewsOptions.NO_TEXT_MEETING_ID + MeetingViewsOptions.NO_TEXT_PASSWORD + MeetingViewsOptions.NO_BUTTON_PARTICIPANTS;
options.no_share = true;
options.no_invite = true;

JoinMeetingParams params = new JoinMeetingParams();
options.no_titlebar=true;

params.displayName = "ZBO...."+username+""; // TODO: Enter your name
params.meetingNo = mId;
params.password = meetingPassword;
meetingSettingsHelper.setHideNoVideoUsersEnabled(true);
//meetingSettingsHelper.setTurnOffMyVideoWhenJoinMeeting(true);
meetingService.joinMeetingWithParams(context, params, options);


public class MyMeetingActivity extends MeetingActivity {
// Using above activity
}

Fragment UI:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/black"
    android:orientation="horizontal">
<!--    <View-->
<!--        android:layout_toEndOf="@id/ll_MeetingOptions"-->
<!--        android:id="@+id/disable_view_2"-->
<!--        android:layout_marginTop="22dp"-->
<!--        android:layout_width="200dp"-->
<!--        android:layout_height="500dp"/>-->

    <include
        android:id="@+id/meetingContent"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginStart="40dp"
        android:layout_marginEnd="@dimen/zm_dialog_margin_16dp"
        layout="@layout/zm_conf_main_screen" />


        <LinearLayout
            android:id="@+id/ll_MeetingOptions"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="5dp"
            android:layout_marginTop="22dp"
            android:orientation="vertical" >

            <ImageView
                android:id="@+id/ivLeaveZoomMeeting"
                android:layout_width="35dp"
                android:layout_height="35dp"
                android:scaleType="fitCenter"
                android:src="@drawable/ic_end"
                android:contentDescription="@string/leave" />

            <ImageView
                android:id="@+id/ivMeetingNoAudio"
                android:layout_width="36dp"
                android:layout_height="36dp"
                android:src="@drawable/ic_audio"
                android:layout_marginTop="15dp"
                android:scaleType="fitXY"
                android:contentDescription="@string/audio" />

            <ImageView
                android:id="@+id/ivMeetingSwitchGallery"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:src="@drawable/ic_gallery_icon"
                android:layout_marginTop="15dp"
                android:scaleType="fitXY"
                android:contentDescription="@string/gallery" />

            <ImageView
                android:id="@+id/ivMeetingPlayCurrent"
                android:layout_width="24dp"
                android:layout_height="24dp"
                android:visibility="gone"
                android:src="@drawable/ic_play"
                android:layout_marginTop="15dp"
                app:tint="@color/sky_blue"
                android:contentDescription="@string/play" />

        </LinearLayout>

    <View
        android:layout_toEndOf="@id/ll_MeetingOptions"
        android:id="@+id/disable_view"
        android:background="@color/transparent"
        android:layout_marginTop="22dp"
        android:layout_width="100dp"
        android:layout_height="150dp"/>
 
</RelativeLayout>

@donte.zoom please look above and try to resolve issue asap.

@hemeandrajain1991 ,

Yes, it is my understanding this is possible to do with a custom UI! You would need to obtain the userId, and then remove them from the MobileRTCVideoViewManager associated with the MobileRTCVideoView you would not like their video to be displayed in via removeAttendeeVideoUnit​

Customized Meeting UI

(MobileRTCVideoView)mGallerySenceView.findViewById(R.id.galleryVideoView);

@donte.zoom From where I can get mGallerySenceView in MyMeetingActivity? It would be nice if you can help with this or please share sample example project for configuring MobileRTCVideoView.

@donte.zoom @zoom_dev @zoom.admin @zoomdevuk @jackie.chen @vic.yang @boonjun.tan Anyone can solve my query? I am waiting from long time.

@hemeandrajain1991

The mGallerySenseView is the layout that the MobileRTCVideoView is at. In our Sample App, we first get the LayoutInflater then inflate the layout named senseView. Then get the VideoView from SenseView.
I attached the Sample App’s code and the “layout_meeting_content_normal” in our sample App for reference:

Note, in Android Studio on a Windows, macOS or Linux based machine use shortcut Ctrl + Shift + F to search any string in the whole project. It’s easy to remember considering Ctrl + F is used to search in the current file. So just press the Shift to search for Framelayout and or mNormalSenceView for the exact location.

1 Like

Hi @hemeandrajain1991,

I believe this can only be done in Custom Meeting UI mode according to what @donte.zoom has shared earlier and you can add any customizable view based on your requirements.

I also strongly suggest taking a look at our sample app that is bundled together with our SDK library within the zip file you downloaded from our Marketplace website to have a better understanding of it. You might also want to pay close attention to the MyMeetingActivity.java and my_meeting_layout.xml files to see how we build the custom UI out within our sample app. Do take note that after you launch the sample app, you have to first go into “Settings” and enable “Customized UI” in order to see the custom meeting UI.

Thank you.

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.