When sharing my screen, I cannot see it in my MobileRTCShareView

Description
I am trying to implement the Screen Share functionality where a meeting participant can share and also view the content shared by another user. So far, I managed to implement the functionality where a user can view the content shared by another user; it is working perfectly. However, if the current user is sharing their screen, they cannot see the content that they are sharing inside the MobileRTCShareView. The other participants can see their screen but the user that is sharing cannot see his own shared content on his app.

Which Client Android SDK version?
v5.4.3.613

To Reproduce
Steps to reproduce the behavior:

  1. Click on “Share Screen” button
  2. Call mZoomSDK.inMeetingService.inMeetingShareController.startShareScreenSession(data) where “data” is the Intent data received in onActivityResult
  3. onShareActiveUser(userId: Long) is triggered
  4. Call mZoomSDK.inMeetingService.inMeetingShareController.startShareScreenContent()
  5. Set MobileRTCShareView visibility to VISIBLE
  6. Call mZoomSDK.inMeetingService.inMeetingShareController.startShareViewSession()
  7. Call mZoomSDK.inMeetingService.inMeetingShareController.startShareViewContent(shareView) where “shareView” is the MobileRTCShareView previously used.
  8. The MobileRTCShareView is just white and it is not displaying the shared content.

Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone:

  • Device: Galaxy Tab 6
  • OS: Android 11

Hi @rares.vultur, thanks for using our SDK.

The user who is sharing their screen can not view the share feed, as that would result in infinite nesting due to the shared content being visible within the shared screen. Additionally, the MobileRTCShareView is only meant to be used to share a specific view within your app via startShareContentView. To display the shared content, you would still use a MobileRTCVideoView element.

Thanks!

Thank you @jon.lieblich ! It makes sense haha. I still have one question. I know that in order to start share screening via zoom sdk I need to start a MediaProjection using createScreenCaptureIntent() method. However, when I want to stop the share screening, it is not enough just to call mZoomSDK.inMeetingService.inMeetingShareController.stopShareView() as I need to also stop the MediaProjection. Do you know how I can do that?

I tried keeping the MediaProjection object that was created in onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) when we started it in the first place and then just call the mediaProjection?.stop() method but when I do so, when I try to start a shareview session via zoom SDK, I get the error that I cannot start a new media projection when one is already running. Can you please tell me how I can stop both the zoom sdk screen sharing AND the native Android Media Projection at the same time?

Nevermind, I found the solution. The issue was that when I was ending the share screen, I was only calling mZoomSDK.inMeetingService.inMeetingShareController.stopShareView() which stopped sending the shared content to the other users. But It kept recording the screen. To stop that, you also have to call mZoomSDK.inMeetingService.inMeetingShareController.stopShareScreen() which stops the screen broadcasting.

Hi @rares.vultur,

Glad to hear you were able to resolve this issue on your own! For future reference, the stopShareView method is to be used when sharing a specific view, whereas stopShareScreen is for when you are sharing the whole screen (via MediaProjection as you noted). :slightly_smiling_face:

Thanks!

1 Like

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