Window Filtering (screen share) in the SDK

Description
The full Zoom client has some window filtering advanced settings while performing screen share. I would like to do the same in an app using the Zoom SDK.

Specifically, the Zoom client hides any Zoom client windows while doing desktop share. If a Zoom window is on a desktop that is being shared, it will not be visible to viewers by default. When sharing using a custom app and the Zoom SDK, the client windows will be visible.

See: https://support.zoom.us/hc/en-us/articles/4412661227789-Managing-advanced-screen-sharing-settings

  • Capture with window filtering : This method will share your screen without showing windows from the Zoom desktop client.

image

I am using the startMonitorShare API in the SDK

Which macOS Meeting SDK version?
v5.9.0.3495

To Reproduce(If applicable)

Share desktop using startMonitorShare API:

ZoomSDKASController *asController = [meetingService getASController];
[asController startMonitorShare:monitorID.unsignedIntValue];

Desktop will be visible in share content for viewers

Windows from the SDK host app will also be visible.

Screenshots

This is from the Zoom client (NOT SDK)

View from share-er

View from viewer (note: Zoom client windows are not visible)

Device (please complete the following information):

  • Device: Apple MacBook Pro (13-inch, M1)
  • OS: macOS 12.0.1

Hi @KieranAC, thanks for the post.

The setting you are referring to can be changed in the SDK through the setShowZoomWindowWhenShare method.

Thanks!

Hi @jon.lieblich thanks for the reply

I am trying the following:

[[[[ZoomSDK sharedSDK] getSettingService] getShareScreenSetting] setShowZoomWindowWhenShare:NO];

[asController startMonitorShare:monitorID.unsignedIntValue];

I see that the method ‘setShowZoomWindowWhenShare’ returns ’ ZoomSDKError_WrongUsage

We are using a custom UI app. Do these APIs work in this case?

Hi @KieranAC,

Since this setting maps to a Zoom account setting, one possible cause of this is that you are using the setting without being logged into a Zoom account. Can you please confirm whether or not this is the case?

Thanks!

@jon.lieblich Our app only uses ZAK token for login, and you must be logged in to join a meeting.

I have tried this API in a meeting that I am the host of, as well as a meeting that I am not the host of.

I have also tried toggling the relevant setting in my Zoom user account.

image

In all cases, I still receive a WrongUsage error.

Additionally: We suspect this behaviour may have changed or broken in a recent SDK update. We remember that we were not able to see our own app while screen sharing and this was actually a problem for us, but it wasn’t a huge priority at the time to investigate. At some point we updated the SDK and this behaviour changed, since we can now see our own app window and have the opposite problem of not being able to hide it. Is it possible this broke at some point in the last ~6 months?

Hi @KieranAC,

Thanks for the confirmation. I was able to reproduce the behavior you are describing. We’ll need to look into this and get back to you with more information.

Thanks!