useLocalParticipant
function useLocalParticipant(_options?): {
isMicrophoneEnabled: boolean;
isScreenShareEnabled: boolean;
isCameraEnabled: boolean;
microphoneTrack: unknown;
cameraTrack: unknown;
lastMicrophoneError: Error | undefined;
lastCameraError: Error | undefined;
localParticipant: unknown;
};Defined in: packages/react/src/hooks/participant/useLocalParticipant.ts:40
The useLocalParticipant hook returns the local participant and the associated state around the participant.
Parameters
| Parameter | Type |
|---|---|
_options? | UseLocalParticipantOptions |
Returns
{
isMicrophoneEnabled: boolean;
isScreenShareEnabled: boolean;
isCameraEnabled: boolean;
microphoneTrack: unknown;
cameraTrack: unknown;
lastMicrophoneError: Error | undefined;
lastCameraError: Error | undefined;
localParticipant: unknown;
}isMicrophoneEnabled
isMicrophoneEnabled: boolean;isScreenShareEnabled
isScreenShareEnabled: boolean;isCameraEnabled
isCameraEnabled: boolean;microphoneTrack
microphoneTrack: unknown;cameraTrack
cameraTrack: unknown;lastMicrophoneError
lastMicrophoneError: Error | undefined;lastCameraError
lastCameraError: Error | undefined;localParticipant
localParticipant: unknown;Example
// Basic — read the local participant.
const { localParticipant } = useLocalParticipant();
// Advanced — wire local media state into controls.
function LocalControls() {
const { isMicrophoneEnabled, isCameraEnabled } = useLocalParticipant();
return (
<>
<button disabled={!isMicrophoneEnabled}>Mic on</button>
<button disabled={!isCameraEnabled}>Camera on</button>
</>
);
}
function RoomControls() {
return (
<VoiceRoom agent={agent}>
<LocalControls />
</VoiceRoom>
);
}