> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# CallSelfParticipant

> Self participant interface with control methods Extends CallParticipant with methods for controlling the local participant

Self participant interface with control methods
Extends CallParticipant with methods for controlling the local participant

## **Extends**

* [`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant)

## **Properties**

Current screen-share status for this participant. See [`ScreenShareStatus`](/docs/browser-sdk/v4/reference/type-aliases/screen-share-status).

Observable of current screen-share status for this participant. See [`ScreenShareStatus`](/docs/browser-sdk/v4/reference/type-aliases/screen-share-status).

Whether studio-audio processing is enabled for this participant.

Observable of whether studio-audio processing is enabled for this participant.

User-address ID, if this participant is a known user.

Observable of user-address ID, if this participant is a known user.

Whether this participant's audio is muted.

Observable of whether this participant's audio is muted.

Whether automatic gain control is enabled on this participant's microphone.

Observable of whether automatic gain control is enabled on this participant's microphone.

Whether this participant is deafened (does not receive other participants' audio).

Observable of whether this participant is deafened (does not receive other participants' audio).

Whether noise suppression is enabled on this participant's microphone.

Observable of whether noise suppression is enabled on this participant's microphone.

Whether echo cancellation is enabled on this participant's microphone.

Observable of whether echo cancellation is enabled on this participant's microphone.

Whether this participant has their hand raised.

Observable of whether this participant has their hand raised.

Unique participant ID, assigned by the media server.

Microphone input sensitivity, or `undefined` if not adjustable.

Observable of microphone input sensitivity, or `undefined` if not adjustable.

Microphone input volume, or `undefined` if not adjustable.

Observable of microphone input volume, or `undefined` if not adjustable.

Whether this participant is an audience member rather than an active participant.

Whether the media server currently detects voice activity from this participant.

Observable of whether the media server currently detects voice activity from this participant.

Whether low-bitrate mode is enabled for this participant.

Observable of whether low-bitrate mode is enabled for this participant.

Arbitrary metadata bag for the local participant, if any.

Observable of the call-level metadata bag.

Display name of this participant.

Observable of display name of this participant.

ID of the media node hosting this participant.

Observable of the media node ID currently hosting the call.

Whether noise suppression is enabled on this participant's microphone.

Observable of whether noise suppression is enabled on this participant's microphone.

Speaker output volume for this participant, or `undefined` if not adjustable.

Observable of speaker output volume for this participant, or `undefined` if not adjustable.

Current layout position of this participant, or `undefined` if not yet placed. See [`LayoutLayer`](/docs/browser-sdk/v4/reference/interfaces/layout-layer).

Observable of current layout position of this participant, or `undefined` if not yet placed. See [`LayoutLayer`](/docs/browser-sdk/v4/reference/interfaces/layout-layer).

User ID associated with this participant, if known.

Observable of user ID associated with this participant, if known.

Participant type (e.g. `member`, `audience`).

Observable of participant type (e.g. `member`, `audience`).

Whether this participant's video is muted.

Observable of whether this participant's video is muted.

Whether this participant is currently visible in the layout.

Observable of whether this participant is currently visible in the layout.

## **Methods**

### addAdditionalDevice()

```ts
addAdditionalDevice(options): Promise<void>
```

#### Parameters

Per-operation options (media options, device-select options, or capture override depending on context). See [`MediaOptions`](/docs/browser-sdk/v4/reference/interfaces/media-options).

#### Returns

`Promise<void>`

***

### addAudioInputDevice()

```ts
addAudioInputDevice(options?): Promise<void>
```

#### Parameters

Per-operation options (media options, device-select options, or capture override depending on context). See [`MediaTrackConstraints`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints) and [`MediaStream`](https://developer.mozilla.org/en-US/docs/Web/API/MediaStream).

#### Returns

`Promise<void>`

***

### addInputDevices()

```ts
addInputDevices(options?): Promise<void>
```

#### Parameters

Per-operation options (media options, device-select options, or capture override depending on context). See [`MediaOptions`](/docs/browser-sdk/v4/reference/interfaces/media-options).

#### Returns

`Promise<void>`

***

### addVideoInputDevice()

```ts
addVideoInputDevice(options?): Promise<void>
```

#### Parameters

Per-operation options (media options, device-select options, or capture override depending on context). See [`MediaTrackConstraints`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints) and [`MediaStream`](https://developer.mozilla.org/en-US/docs/Web/API/MediaStream).

#### Returns

`Promise<void>`

***

### disableStudioAudio()

```ts
disableStudioAudio(): Promise<void>
```

#### Returns

`Promise<void>`

***

### enableStudioAudio()

```ts
enableStudioAudio(): Promise<void>
```

#### Returns

`Promise<void>`

***

### end()

```ts
end(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`end`](/docs/browser-sdk/v4/reference/interfaces/call-participant#end)

***

### mute()

```ts
mute(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`mute`](/docs/browser-sdk/v4/reference/interfaces/call-participant#mute)

***

### muteVideo()

```ts
muteVideo(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`muteVideo`](/docs/browser-sdk/v4/reference/interfaces/call-participant#mutevideo)

***

### remove()

```ts
remove(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`remove`](/docs/browser-sdk/v4/reference/interfaces/call-participant#remove)

***

### removeAdditionalDevice()

```ts
removeAdditionalDevice(id): Promise<void>
```

#### Parameters

Unique participant ID, assigned by the media server.

#### Returns

`Promise<void>`

***

### selectAudioInputDevice()

```ts
selectAudioInputDevice(device, options?): void
```

#### Parameters

Media device to use for this participant. See [`MediaDeviceInfo`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo).

Per-operation options (media options, device-select options, or capture override depending on context). See [`SelectDeviceOptions`](/docs/browser-sdk/v4/reference/interfaces/select-device-options).

#### Returns

`void`

***

### selectAudioOutputDevice()

```ts
selectAudioOutputDevice(device, options?): void
```

#### Parameters

Media device to use for this participant. See [`MediaDeviceInfo`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo).

Per-operation options (media options, device-select options, or capture override depending on context). See [`SelectDeviceOptions`](/docs/browser-sdk/v4/reference/interfaces/select-device-options).

#### Returns

`void`

***

### selectVideoInputDevice()

```ts
selectVideoInputDevice(device, options?): void
```

#### Parameters

Media device to use for this participant. See [`MediaDeviceInfo`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo).

Per-operation options (media options, device-select options, or capture override depending on context). See [`SelectDeviceOptions`](/docs/browser-sdk/v4/reference/interfaces/select-device-options).

#### Returns

`void`

***

### setAudioInputDeviceConstraints()

```ts
setAudioInputDeviceConstraints(constraints): Promise<void>
```

#### Parameters

Media-track constraints applied to this participant's input. See [`MediaTrackConstraints`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints).

#### Returns

`Promise<void>`

***

### setAudioInputSensitivity()

```ts
setAudioInputSensitivity(value): Promise<void>
```

#### Parameters

New value for the property being set.

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`setAudioInputSensitivity`](/docs/browser-sdk/v4/reference/interfaces/call-participant#setaudioinputsensitivity)

***

### setAudioInputVolume()

```ts
setAudioInputVolume(value): Promise<void>
```

#### Parameters

New value for the property being set.

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`setAudioInputVolume`](/docs/browser-sdk/v4/reference/interfaces/call-participant#setaudioinputvolume)

***

### setAudioOutputVolume()

```ts
setAudioOutputVolume(value): Promise<void>
```

#### Parameters

New value for the property being set.

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`setAudioOutputVolume`](/docs/browser-sdk/v4/reference/interfaces/call-participant#setaudiooutputvolume)

***

### setInputDevicesConstraints()

```ts
setInputDevicesConstraints(constraints): Promise<void>
```

#### Parameters

Media-track constraints applied to this participant's input. See [`MediaTrackConstraints`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints).

#### Returns

`Promise<void>`

***

### setMeta()

```ts
setMeta(meta): Promise<void>
```

#### Parameters

Arbitrary metadata bag for the local participant, if any.

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`setMeta`](/docs/browser-sdk/v4/reference/interfaces/call-participant#setmeta)

***

### setPosition()

```ts
setPosition(value): Promise<void>
```

#### Parameters

New value for the property being set. See [`VideoPosition`](/docs/browser-sdk/v4/reference/type-aliases/video-position).

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`setPosition`](/docs/browser-sdk/v4/reference/interfaces/call-participant#setposition)

***

### setVideoInputDeviceConstraints()

```ts
setVideoInputDeviceConstraints(constraints): Promise<void>
```

#### Parameters

Media-track constraints applied to this participant's input. See [`MediaTrackConstraints`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints).

#### Returns

`Promise<void>`

***

### startScreenShare()

```ts
startScreenShare(): Promise<void>
```

#### Returns

`Promise<void>`

***

### stopScreenShare()

```ts
stopScreenShare(): Promise<void>
```

#### Returns

`Promise<void>`

***

### toggleAudioInputAutoGain()

```ts
toggleAudioInputAutoGain(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`toggleAudioInputAutoGain`](/docs/browser-sdk/v4/reference/interfaces/call-participant#toggleaudioinputautogain)

***

### toggleDeaf()

```ts
toggleDeaf(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`toggleDeaf`](/docs/browser-sdk/v4/reference/interfaces/call-participant#toggledeaf)

***

### toggleEchoCancellation()

```ts
toggleEchoCancellation(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`toggleEchoCancellation`](/docs/browser-sdk/v4/reference/interfaces/call-participant#toggleechocancellation)

***

### toggleHandraise()

```ts
toggleHandraise(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`toggleHandraise`](/docs/browser-sdk/v4/reference/interfaces/call-participant#togglehandraise)

***

### toggleLowbitrate()

```ts
toggleLowbitrate(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`toggleLowbitrate`](/docs/browser-sdk/v4/reference/interfaces/call-participant#togglelowbitrate)

***

### toggleMute()

```ts
toggleMute(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`toggleMute`](/docs/browser-sdk/v4/reference/interfaces/call-participant#togglemute)

***

### toggleMuteVideo()

```ts
toggleMuteVideo(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`toggleMuteVideo`](/docs/browser-sdk/v4/reference/interfaces/call-participant#togglemutevideo)

***

### toggleNoiseSuppression()

```ts
toggleNoiseSuppression(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`toggleNoiseSuppression`](/docs/browser-sdk/v4/reference/interfaces/call-participant#togglenoisesuppression)

***

### unmute()

```ts
unmute(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`unmute`](/docs/browser-sdk/v4/reference/interfaces/call-participant#unmute)

***

### unmuteVideo()

```ts
unmuteVideo(): Promise<void>
```

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`unmuteVideo`](/docs/browser-sdk/v4/reference/interfaces/call-participant#unmutevideo)

***

### updateMeta()

```ts
updateMeta(meta): Promise<void>
```

#### Parameters

Arbitrary metadata bag for the local participant, if any.

#### Returns

`Promise<void>`

#### Inherited from

[`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant).[`updateMeta`](/docs/browser-sdk/v4/reference/interfaces/call-participant#updatemeta)