In my Android app I would like to create a meeting with multiple participants. By default, all the participants would show up in a gridview. At any time during the meeting, a user can press a button in the app that would make their video take up the entire screen. When they are done talking, they press the button again to relinquish control and their video reverts to being one of the gridview videos. When anyone is talking in full screen mode with only them in the video, they see the gridview on their device but they never see themselves in the gridview. So if the meeting has 3 people, only two of the other participants ever show up on the user’s screen. However, I would still like to have a way to let a user decide if they really do want to see themselves and enable this. Some people would simply prefer not to see themselves talking. Also, it’s kind of unnecessary and by leaving themselves out, the screen has more room for the other participants.
I also need to record the entire meeting. The recording needs to be done from the device where the meeting is initially hosted. It needs to record the gridview. However, it needs to include the video of the host even when the host doesn’t want to see their own self in the meeting.
Going through the documentation, I could not see any clear indication about how a gridview is supported let alone whether I can accomplish all the above. The docs indicate that each user has a canvas and a VideoView is applied to the canvas. So for my use case, are we talking about multiple canvases all applied to a single VideoView? Or is this one canvas and one VideoView per user and my layout needs to add and remove each VideoView during the meeting whenever it switches from gridview to a single person view? Is it even possible to switch from a gridview to a single person during the meeting?