Use this file to discover all available pages before exploring further.
The Streampixel SDK Example is a React application that demonstrates a complete SDK integration. This page walks through its structure and key patterns.
const SHOW_DEV_TOOLS = true; // Set to false to hide the Developer Tools panel
Set SHOW_DEV_TOOLS to false before deploying to production. The Developer Tools panel exposes console commands, JSON messaging, and mic/camera controls that are intended for development only.
The LOADING_CONFIG object is the easiest way to customize the loading experience. Change text, colors, and status messages in one place without modifying any event handler logic.
The example centralizes all loading screen text and colors in a single configuration object:
const LOADING_CONFIG = { backgroundColor: '#18181A', accentColor: '#4e9cff', logoUrl: null, // Path to a logo image title: 'Connecting to Stream', subtitle: 'Please wait while we set up your experience...', disconnectedSubtitle: 'The stream session has ended.', showSpinner: true, queueMessage: (position) => `You are in queue at position ${position}`, statusMessages: { initializing: 'Initializing...', connecting: 'Connecting to server...', webRtcConnecting: 'Establishing WebRTC connection...', sdpNegotiation: 'Negotiating stream parameters...', webRtcConnected: 'WebRTC connected, loading stream...', streamLoading: 'Stream is loading...', playingStream: 'Starting video playback...', inQueue: 'Waiting in queue...', failed: 'Connection failed. Please try again.', disconnected: 'Disconnected from stream.', reconnecting: 'Reconnecting to stream...', retrying: 'Retrying connection...', reconnected: 'Reconnected! Loading stream...', reconnectFailed: 'Unable to reconnect. Please refresh the page.', }, reconnectingTitle: 'Reconnecting', reconnectingSubtitle: 'Please wait while we restore your session...', reconnectedTitle: 'Reconnected', reconnectFailedTitle: 'Reconnection Failed', reconnectFailedSubtitle: 'We were unable to restore your session.',};
Modify this object to customize the loading experience without touching event handlers.