> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # Participant > Represents a participant in a call. `Participant` represents a remote member on an active [`WebRTCCall`](/docs/browser-sdk/v4/reference/webrtc-call). Instances are created by the call when members join and removed when they leave — applications obtain them through [`call.participants$`](/docs/browser-sdk/v4/reference/webrtc-call/participants\$), not by construction. Each participant exposes every per-member piece of state the SDK tracks: mute state (audio/video), microphone processing flags (auto-gain, noise suppression, echo cancellation), display name, hand-raise, talking detection, sensitivity/volume levels, and current layout position. State is exposed in two complementary forms — a snapshot getter (e.g. [`audioMuted`](/docs/browser-sdk/v4/reference/participant/audio-muted\$#audiomuted)) for one-shot reads and an observable (`audioMuted$`) for reactive UI binding. Control methods (`muteAudio`, `setMeta`, `toggleLowbitrate`, etc.) issue server-side requests scoped to this member. Their effect depends on the caller's capabilities — inspect the local [`SelfCapabilities`](/docs/browser-sdk/v4/reference/self-capabilities) before exposing controls in your UI. For the local participant — which adds device selection, screen sharing, and local media stream control — use [`SelfParticipant`](/docs/browser-sdk/v4/reference/self-participant). ## **Extends** * `Destroyable` ## **Extended by** * [`SelfParticipant`](/docs/browser-sdk/v4/reference/self-participant) ## **Implements** * [`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant) ## **Constructors** ### Constructor ```ts new Participant(id, executeMethod, deviceController): Participant ``` #### Parameters **`id`** `string` — required Unique identifier for this entity. --- **`executeMethod`** `ExecuteMethod` — required Function used to send `execute` RPC calls on this entity. See [`ExecuteMethod`](/docs/browser-sdk/v4/reference/type-aliases/execute-method). --- **`deviceController`** `DeviceController` — required Device controller responsible for media-device enumeration and selection. See [`DeviceController`](/docs/browser-sdk/v4/reference/interfaces/device-controller). --- #### Returns `Participant` ## **Properties** **`id`** `string` — required Unique member ID of this participant. --- ## **Accessors** #### [addressId\$](/docs/browser-sdk/v4/reference/participant/address-id\$) Observable of the participant's address ID. #### [audioMuted\$](/docs/browser-sdk/v4/reference/participant/audio-muted\$) Observable indicating whether the participant's audio is muted. #### [autoGain\$](/docs/browser-sdk/v4/reference/participant/auto-gain\$) Observable indicating whether auto-gain control is enabled. #### [callId](/docs/browser-sdk/v4/reference/participant/call-id) Call ID for this participant's leg, or `undefined` if not available. #### [deaf\$](/docs/browser-sdk/v4/reference/participant/deaf\$) Observable indicating whether the participant is deafened. #### [denoise\$](/docs/browser-sdk/v4/reference/participant/denoise\$) Observable indicating whether noise reduction is active. #### [destroyed\$](/docs/browser-sdk/v4/reference/participant/destroyed\$) Observable that emits when the instance is destroyed #### [echoCancellation\$](/docs/browser-sdk/v4/reference/participant/echo-cancellation\$) Observable indicating whether echo cancellation is enabled. #### [handraised\$](/docs/browser-sdk/v4/reference/participant/handraised\$) Observable indicating whether the participant has raised their hand. #### [inputSensitivity\$](/docs/browser-sdk/v4/reference/participant/input-sensitivity\$) Observable of the **conference-only** microphone energy/gate sensitivity level for this member. #### [inputVolume\$](/docs/browser-sdk/v4/reference/participant/input-volume\$) Observable of the participant's **server-side** microphone input volume as reported by the mix engine. #### [isAudience](/docs/browser-sdk/v4/reference/participant/is-audience) Whether the participant is an audience member (view-only). #### [isTalking\$](/docs/browser-sdk/v4/reference/participant/is-talking\$) Observable indicating whether the participant is currently speaking. #### [lowbitrate\$](/docs/browser-sdk/v4/reference/participant/lowbitrate\$) Observable indicating whether low-bitrate mode is active. #### [meta\$](/docs/browser-sdk/v4/reference/participant/meta\$) Observable of custom metadata for this participant. #### [name\$](/docs/browser-sdk/v4/reference/participant/name\$) Observable of the participant's display name. #### [nodeId\$](/docs/browser-sdk/v4/reference/participant/node-id\$) Observable of the server node ID for this participant. #### [noiseSuppression\$](/docs/browser-sdk/v4/reference/participant/noise-suppression\$) Observable indicating whether noise suppression is enabled. #### [outputVolume\$](/docs/browser-sdk/v4/reference/participant/output-volume\$) Observable of the participant's **server-side** speaker output volume as reported by the mix engine (FreeSWITCH channel write volume). #### [position\$](/docs/browser-sdk/v4/reference/participant/position\$) Observable of the participant's layout position. #### [target](/docs/browser-sdk/v4/reference/participant/target) The member's own RPC target triple. Throws `ParticipantNotReadyError` until the member's call context has been received. #### [type\$](/docs/browser-sdk/v4/reference/participant/type\$) Observable of the participant type (e.g. `'member'`, `'screen'`). #### [userId\$](/docs/browser-sdk/v4/reference/participant/user-id\$) Observable of the participant's user ID. #### [videoMuted\$](/docs/browser-sdk/v4/reference/participant/video-muted\$) Observable indicating whether the participant's video is muted. #### [visible\$](/docs/browser-sdk/v4/reference/participant/visible\$) Observable indicating whether the participant is visible in the layout. ## **Methods** #### [destroy](/docs/browser-sdk/v4/reference/participant/destroy) Destroys the participant, releasing all subscriptions and references. #### [end](/docs/browser-sdk/v4/reference/participant/end) Ends the call for this participant. #### [mute](/docs/browser-sdk/v4/reference/participant/mute) Mutes the participant's audio. #### [muteVideo](/docs/browser-sdk/v4/reference/participant/mute-video) Mutes the participant's video. #### [remove](/docs/browser-sdk/v4/reference/participant/remove) Removes this participant from the call. #### [setAudioInputSensitivity](/docs/browser-sdk/v4/reference/participant/set-audio-input-sensitivity) Adjusts the **conference-only** microphone energy gate / sensitivity level for this member. #### [setAudioInputVolume](/docs/browser-sdk/v4/reference/participant/set-audio-input-volume) Sets the **server-side** microphone volume on this participant's bridged call leg. #### [setAudioOutputVolume](/docs/browser-sdk/v4/reference/participant/set-audio-output-volume) Sets the **server-side** speaker volume on this participant's bridged call leg (FreeSWITCH channel write volume) — what this participant hears from the mix before it reaches their client. #### [setMeta](/docs/browser-sdk/v4/reference/participant/set-meta) Replaces custom metadata for this participant. #### [setPosition](/docs/browser-sdk/v4/reference/participant/set-position) Sets the participant's position in the video layout. #### [toggleAudioInputAutoGain](/docs/browser-sdk/v4/reference/participant/toggle-audio-input-auto-gain) Toggles automatic gain control on the audio input. #### [toggleDeaf](/docs/browser-sdk/v4/reference/participant/toggle-deaf) Toggles the deafened state (mutes/unmutes incoming audio). #### [toggleEchoCancellation](/docs/browser-sdk/v4/reference/participant/toggle-echo-cancellation) Toggles echo cancellation on the audio input. #### [toggleHandraise](/docs/browser-sdk/v4/reference/participant/toggle-handraise) Toggles the hand-raised state. #### [toggleLowbitrate](/docs/browser-sdk/v4/reference/participant/toggle-lowbitrate) Toggles the participant's low-bitrate mode. #### [toggleMute](/docs/browser-sdk/v4/reference/participant/toggle-mute) Toggles the participant's audio mute state. #### [toggleMuteVideo](/docs/browser-sdk/v4/reference/participant/toggle-mute-video) Toggles the participant's video mute state. #### [toggleNoiseSuppression](/docs/browser-sdk/v4/reference/participant/toggle-noise-suppression) Toggles noise suppression on the audio input. #### [unmute](/docs/browser-sdk/v4/reference/participant/unmute) Unmutes the participant's audio. #### [unmuteVideo](/docs/browser-sdk/v4/reference/participant/unmute-video) Unmutes the participant's video. #### [updateMeta](/docs/browser-sdk/v4/reference/participant/update-meta) Merges values into custom metadata (unlike setMeta which replaces). > Represents a participant in a call. ## Docs - [addressId$](https://signalwire.com/docs/browser-sdk/reference/participant/address-id$.md): Observable of the participant's address ID. - [audioMuted$](https://signalwire.com/docs/browser-sdk/reference/participant/audio-muted$.md): Observable indicating whether the participant's audio is muted. - [autoGain$](https://signalwire.com/docs/browser-sdk/reference/participant/auto-gain$.md): Observable indicating whether auto-gain control is enabled. - [callId](https://signalwire.com/docs/browser-sdk/reference/participant/call-id.md): Call ID for this participant's leg, or undefined if not available. - [deaf$](https://signalwire.com/docs/browser-sdk/reference/participant/deaf$.md): Observable indicating whether the participant is deafened. - [denoise$](https://signalwire.com/docs/browser-sdk/reference/participant/denoise$.md): Observable indicating whether noise reduction is active. - [destroy](https://signalwire.com/docs/browser-sdk/reference/participant/destroy.md): Destroys the participant, releasing all subscriptions and references. - [destroyed$](https://signalwire.com/docs/browser-sdk/reference/participant/destroyed$.md): Observable that emits when the instance is destroyed - [echoCancellation$](https://signalwire.com/docs/browser-sdk/reference/participant/echo-cancellation$.md): Observable indicating whether echo cancellation is enabled. - [end](https://signalwire.com/docs/browser-sdk/reference/participant/end.md): Ends the call for this participant. - [handraised$](https://signalwire.com/docs/browser-sdk/reference/participant/handraised$.md): Observable indicating whether the participant has raised their hand. - [inputSensitivity$](https://signalwire.com/docs/browser-sdk/reference/participant/input-sensitivity$.md): Observable of the conference-only microphone energy/gate sensitivity level for this member. - [inputVolume$](https://signalwire.com/docs/browser-sdk/reference/participant/input-volume$.md): Observable of the participant's server-side microphone input volume as reported by the mix engine. - [isAudience](https://signalwire.com/docs/browser-sdk/reference/participant/is-audience.md): Whether the participant is an audience member (view-only). - [isTalking$](https://signalwire.com/docs/browser-sdk/reference/participant/is-talking$.md): Observable indicating whether the participant is currently speaking. - [lowbitrate$](https://signalwire.com/docs/browser-sdk/reference/participant/lowbitrate$.md): Observable indicating whether low-bitrate mode is active. - [meta$](https://signalwire.com/docs/browser-sdk/reference/participant/meta$.md): Observable of custom metadata for this participant. - [mute](https://signalwire.com/docs/browser-sdk/reference/participant/mute.md): Mutes the participant's audio. - [muteVideo](https://signalwire.com/docs/browser-sdk/reference/participant/mute-video.md): Mutes the participant's video. - [name$](https://signalwire.com/docs/browser-sdk/reference/participant/name$.md): Observable of the participant's display name. - [nodeId$](https://signalwire.com/docs/browser-sdk/reference/participant/node-id$.md): Observable of the server node ID for this participant. - [noiseSuppression$](https://signalwire.com/docs/browser-sdk/reference/participant/noise-suppression$.md): Observable indicating whether noise suppression is enabled. - [outputVolume$](https://signalwire.com/docs/browser-sdk/reference/participant/output-volume$.md): Observable of the participant's server-side speaker output volume as reported by the mix engine (FreeSWITCH channel write volume). - [position$](https://signalwire.com/docs/browser-sdk/reference/participant/position$.md): Observable of the participant's layout position. - [remove](https://signalwire.com/docs/browser-sdk/reference/participant/remove.md): Removes this participant from the call. - [setAudioInputSensitivity](https://signalwire.com/docs/browser-sdk/reference/participant/set-audio-input-sensitivity.md): Adjusts the conference-only microphone energy gate / sensitivity level for this member. - [setAudioInputVolume](https://signalwire.com/docs/browser-sdk/reference/participant/set-audio-input-volume.md): Sets the server-side microphone volume on this participant's bridged call leg. - [setAudioOutputVolume](https://signalwire.com/docs/browser-sdk/reference/participant/set-audio-output-volume.md): Sets the server-side speaker volume on this participant's bridged call leg (FreeSWITCH channel write volume) — what this participant hears from the mix before it reaches their client. - [setMeta](https://signalwire.com/docs/browser-sdk/reference/participant/set-meta.md): Replaces custom metadata for this participant. - [setPosition](https://signalwire.com/docs/browser-sdk/reference/participant/set-position.md): Sets the participant's position in the video layout. - [target](https://signalwire.com/docs/browser-sdk/reference/participant/target.md): The member's own RPC target triple. - [toggleAudioInputAutoGain](https://signalwire.com/docs/browser-sdk/reference/participant/toggle-audio-input-auto-gain.md): Toggles automatic gain control on the audio input. - [toggleDeaf](https://signalwire.com/docs/browser-sdk/reference/participant/toggle-deaf.md): Toggles the deafened state (mutes/unmutes incoming audio). - [toggleEchoCancellation](https://signalwire.com/docs/browser-sdk/reference/participant/toggle-echo-cancellation.md): Toggles echo cancellation on the audio input. - [toggleHandraise](https://signalwire.com/docs/browser-sdk/reference/participant/toggle-handraise.md): Toggles the hand-raised state. - [toggleLowbitrate](https://signalwire.com/docs/browser-sdk/reference/participant/toggle-lowbitrate.md): Toggles the low-bitrate mode for this participant's outbound media. - [toggleMute](https://signalwire.com/docs/browser-sdk/reference/participant/toggle-mute.md): Toggles the participant's audio mute state. - [toggleMuteVideo](https://signalwire.com/docs/browser-sdk/reference/participant/toggle-mute-video.md): Toggles the participant's video mute state. - [toggleNoiseSuppression](https://signalwire.com/docs/browser-sdk/reference/participant/toggle-noise-suppression.md): Toggles noise suppression on the audio input. - [type$](https://signalwire.com/docs/browser-sdk/reference/participant/type$.md): Observable of the participant type (e.g. - [unmute](https://signalwire.com/docs/browser-sdk/reference/participant/unmute.md): Unmutes the participant's audio. - [unmuteVideo](https://signalwire.com/docs/browser-sdk/reference/participant/unmute-video.md): Unmutes the participant's video. - [updateMeta](https://signalwire.com/docs/browser-sdk/reference/participant/update-meta.md): Merges values into custom metadata (unlike setMeta which replaces). - [userId$](https://signalwire.com/docs/browser-sdk/reference/participant/user-id$.md): Observable of the participant's user ID. - [videoMuted$](https://signalwire.com/docs/browser-sdk/reference/participant/video-muted$.md): Observable indicating whether the participant's video is muted. - [visible$](https://signalwire.com/docs/browser-sdk/reference/participant/visible$.md): Observable indicating whether the participant is visible in the layout.