Docs
React SDK

useLocalMedia

Read camera, microphone and screen capture snapshots.

Import

React
import { useLocalMedia, MediaLoader } from '@relayrtc/react'

Requirements

Call this hook inside RelayProvider, in a React function component or custom hook. A joined room is needed for live data and actions.

Returns

FieldTypeMeaning
microphoneRoomInputSnapshot or nullMicrophone capture/publication state.
cameraRoomInputSnapshot or nullCamera capture/publication state.
screenRoomScreenSnapshot or nullDisplay capture/publication state.

Example

React
const { camera } = useLocalMedia()
 
return (
  <div>
    {camera?.pending && <MediaLoader label="Starting camera" />}
    <p>{camera?.enabled ? 'Camera enabled' : 'Camera off'}</p>
  </div>
)

Options and behavior

Input snapshots include source, enabled, pending, muted, deviceId, track and publication. Screen snapshots include active, pending, muted, videoTrack, audioTrack, videoPublication and audioPublication. Pending reports a capture, device change or cleanup operation in progress. This hook observes state; use local participant controls to change it.