Here’s a complete bug report formatted for Zoom developers:
Description
ZoomView component renders but displays blank/black screens instead of showing video content. The Zoom session joins successfully, users are detected and populated in the users array, but the ZoomView components show no video output despite successful session establishment.
Errors
No explicit error messages in logs. ZoomView components render as empty/black screens. Session joins successfully, event listeners trigger correctly, and user objects are populated, but video content is not displayed.
Which React Native Video SDK version?
@zoom/react-native-videosdk: ^2.2.5
Video SDK Code Snippets
Session Join Configuration:
await zoom.joinSession({
sessionName: sessionName,
userName: userName,
token: token,
audioOptions: {
connect: true,
mute: true,
autoAdjustSpeakerVolume: false,
},
videoOptions: { localVideoOn: true },
sessionIdleTimeoutMins: 40,
})
ZoomView Rendering:
{users.map((user) => {
console.log("user", user);
return (
<View style={{ flex: 1, backgroundColor: "red" }} key={user.userId}>
<ZoomView
userId={user.userId}
sharing
videoAspect={VideoAspect.Original}
preview
key={user.userId}
videoResolution={VideoResolution.Resolution720P}
hasMultiCamera={true}
/>
</View>
);
})}
Event Listeners Setup:
const sessionJoin = zoom.addListener(EventType.onSessionJoin, async () => {
const mySelf = new ZoomVideoSdkUser(await zoom.session.getMySelf());
const remoteUsers = await zoom.session.getRemoteUsers();
setUsersInSession([mySelf, ...remoteUsers]);
setIsInSession(true);
});
const userJoin = zoom.addListener(EventType.onUserJoin, async (event) => {
const { remoteUsers } = event;
const mySelf = await zoom.session.getMySelf();
const remote = remoteUsers.map(
(user: ZoomVideoSdkUserType) => new ZoomVideoSdkUser(user)
);
setUsersInSession([mySelf, ...remote]);
});
ZoomVideoSdkProvider Configuration:
<ZoomVideoSdkProvider
config={{
domain: "zoom.us",
enableLog: true,
}}
>
To Reproduce
- Initialize React Native app with ZoomVideoSdkProvider
- Navigate to zoom screen component with video_identifier parameter
- Call API to get session configuration (sessionName, userName, videoSDKJWT)
- Tap “Join Session” button to trigger
joinSession()
- Session joins successfully (onSessionJoin event fires)
- Users array populates with mySelf and remote users
- Component re-renders with ZoomView components
- ZoomView components render as blank/black screens with no video content
Screenshots
- Session joins successfully (console logs show successful join)
- Users array contains expected user objects with valid userIds
- ZoomView components render but display blank/black screens
- Background color “red” is visible, confirming View container renders correctly
Troubleshooting Routes
- Verified session joins successfully via event listeners
- Confirmed users array populates with valid ZoomVideoSdkUser objects
- Checked that
videoOptions: { localVideoOn: true }
is set - Enabled debug logging with
enableLog: true
- Tested with different
videoAspect
andvideoResolution
settings - Verified userId values match the actual user IDs from session
- Confirmed camera permissions are granted to the application
Smartphone (please complete the following information):
- Device: [iPhone/Android device model]
- OS: [iOS/Android version]
- React Native: 0.71.2
Additional Context
- Using React Native 0.71.2 with multiple video SDK integrations
- App has custom SafeAreaProvider configuration with zero insets
- ZoomVideoSdkProvider is properly wrapped around navigation container
- Session management works correctly (users join/leave events fire properly)
- Audio/video status change events are being received
- The issue appears to be specifically with video rendering in ZoomView component
Potential Configuration Issues:
- Multiple conflicting props on ZoomView (both
sharing
andpreview
) - Duplicate
key
prop on ZoomView component - Parent View styling potentially interfering with video display
- SafeAreaProvider custom insets configuration:
{ top: 0, left: 0, right: 0, bottom: 0 }
Expected Behavior:
ZoomView components should display video content from session participants when session is active and users are present.
Actual Behavior:
ZoomView components render as blank/black screens despite successful session join and user detection.
This report provides comprehensive details about my specific implementation and the issue you’re experiencing with ZoomView not displaying video content.