Reputation: 1026
I migrating from Twilio Video to Zoom Video for Web using this guide.
Everything goes well so far, I can connect to the same meeting from two accounts, they can hear each other, mute/unmute works fine, I can turn on video and see myself, second user get events that I turned on my video (both "peer-video-state-change" and "user-updated" with changed user.bVideoOn
property), and... nothing is shown for him - I mean my participant doesn't see me on his computer, he can only hear me. In the container where should be my video on his computer <video-player-container></video-player-container>
- something is renders there (looks like a canvas), but it has size 0x0 pixels. I tried manually to increase width & height - just got a black rectangle, no video there.
I don't know if that's because of canvas? Then how do I switch it to use instead? Because my own video (where I see myself) is eventually got rendered with inside .
Is that because I'm using it in React Native for Web? But everything else works fine (including Twilio Video video conferences).
One more thing I noticed: when I start my video, I see an error: The play() request was interrupted by a new load request. https://goo. gl/LdLk22
, though I can close the popup with this error message and I see that my video is displayed fine despite the error message. Can it be the reason?
I've searched and found a lot of issues when users cannot see themselves, but I have opposite issue.
Any ideas/suggestions are welcome, not sure where to debug next.
Environment: MacBook Pro, chip Apple M1 Pro, macOS Sonoma 14.4.1, node v21.7.1 (also tried with v20), Google Chrome 123.0.6312.107, react-native: 0.70.8, react-native-web: 0.18.12
Upvotes: 0
Views: 208
Reputation: 134
Zoom Developer here, try setting a width, height, and aspect ratio on your video-player-container and video-player.
<video-player-container></video-player-container>
/* adjust the CSS to your liking */
video-player-container {
width: 100%;
height: auto;
aspect-ratio: 16/9;
}
video-player {
width: 50%;
height: auto;
aspect-ratio: 16/9;
}
Upvotes: 0
Reputation: 1026
Ok, finally I found the solution.
Instead of following their guide and use zoomSession.attachVideo
method, instead of that you have to create your own element and use zoomSession.renderVideo
instead.
I saw this solution here - looks like it was an issue for React, and they fixed it... maybe they fixed only for renderVideo
method and not for attachVideo
? Don't know, but anyway great that now there is solution which works!
Upvotes: 0