Description
Using the Zoom Web SDK embedded component and React JS when we load the meeting it shows a blank screen. I can see the events such as user join, the user left, and so on, but the screen stays blank. If I reload the page the meeting shows as expected. So the meeting gets loaded by navigating in the UI, so we come to this route which then loads the Zoom Embedded component.
Browser Console Error
Which Web Meeting SDK version?
“@zoomus/websdk”: “^2.12.2”,
Meeting SDK Code Snippets
const ZoomMeeting = function ({
signature,
sdkKey,
meetingNumber,
tk,
zak,
userName,
password,
userEmail,
onUserJoined,
onUserLeft,
onConnectionChange,
}: ZoomMeetingProps) {
const client = ZoomMtgEmbedded.createClient();
const handleUserAdded = useCallback(
(data: any) => {
onUserJoined && onUserJoined(data);
},
[onUserJoined],
);
const handleUserRemoved = useCallback(
(data: any) => {
if (data?.[0]?.action) {
onUserLeft && onUserLeft(data[0].userId, data[0].displayName);
}
// handle user removed event
},
[onUserLeft],
);
const handleConnectionChange = useCallback(
(data: any) => {
onConnectionChange && onConnectionChange(data);
},
[onConnectionChange],
);
const initializeMeeting = useCallback(
function () {
const zoomAppRoot = document.getElementById('zoomMeetingRoot') || undefined;
if (!client || !zoomAppRoot || typeof signature !== 'string' || !signature.length) return;
client?.init({
debug: true,
zoomAppRoot,
language: 'en-US',
customize: {
video: {
popper: { disableDraggable: true },
isResizable: true,
viewSizes: {
// TODO: 4:3 aspect ratio, 640×480, 800×600, 960×720, 1024×768, 1280×960, 1400×1050, 1440×1080, 1600×1200, 1856×1392, 1920×1440, and 2048×1536
default: {
height: 600,
width: 800,
},
ribbon: {
height: 768,
width: 1024,
},
},
defaultViewType: 'gallery' as SuspensionViewType.Gallery,
},
meetingInfo: [
'topic',
'host',
'mn',
'pwd',
'telPwd',
'invite',
'participant',
'dc',
'enctype',
],
},
});
client?.on('user-added', handleUserAdded);
client?.on('user-removed', handleUserRemoved);
client?.on('connection-change', handleConnectionChange);
client?.join({
signature,
meetingNumber: `${meetingNumber}`,
sdkKey,
password,
userName,
userEmail,
tk,
zak,
});
},
[
client,
handleConnectionChange,
handleUserAdded,
handleUserRemoved,
meetingNumber,
password,
sdkKey,
signature,
tk,
userEmail,
userName,
zak,
],
);
useEffect(() => {
initializeMeeting();
}, [initializeMeeting]);
return <div className='meeting__page-content meeting-screen-loading' id='zoomMeetingRoot'></div>;
};
export default ZoomMeeting;
To Reproduce(If applicable)
Steps to reproduce the behavior:
- Create a meeting
- Try to join the meeting.
Troubleshooting Routes
Official example for Web SDK and React Js integration, forum topics and other.
Device (please complete the following information):
- Macbook Pro (intel chip)
- macOS Ventura 13.12
- Chrome
- Version 112.0.5615.137 (Official Build) (x86_64)