> This page is for Browser SDK, version v3.
> For other versions, use one of these documentation indexes:
> - v4 (default): https://signalwire.com/docs/browser-sdk/v4/llms.txt
> - v3: https://signalwire.com/docs/browser-sdk/v3/llms.txt
> - v2: https://signalwire.com/docs/browser-sdk/v2/llms.txt

> 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.

# RoomSessionDevice

A RoomSessionDevice represents a device (such as a microphone or a camera) that is at some point in its lifetime part of a [RoomSession](/docs/browser-sdk/v3/js/reference/video/room-session). You can obtain a RoomSessionDevice from the [RoomSession](/docs/browser-sdk/v3/js/reference/video/room-session) methods [addCamera](/docs/browser-sdk/v3/js/reference/video/room-session/add-camera), [addMicrophone](/docs/browser-sdk/v3/js/reference/video/room-session/add-microphone), and [addDevice](/docs/browser-sdk/v3/js/reference/video/room-session/add-device).

## Properties

**`active`** `boolean`

Whether the connection is currently active.

---

**`cameraId`** `string | null`

The id of the video device, or null if not available.

---

**`cameraLabel`** `string | null`

The label of the video device, or null if not available.

---

**`localAudioTrack`** `MediaStreamTrack | null`

Provides access to the local audio [MediaStreamTrack](https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack).

---

**`localStream`** `MediaStream | undefined`

Provides access to the local [MediaStream](https://developer.mozilla.org/en-US/docs/Web/API/MediaStream).

---

**`localVideoTrack`** `MediaStreamTrack | null`

Provides access to the local video [MediaStreamTrack](https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack).

---

**`memberId`** `string`

The id of the current member within the room.

---

**`microphoneId`** `string | null`

The id of the audio input device, or null if not available.

---

**`microphoneLabel`** `string | null`

The label of the audio input device, or null if not available.

---

**`remoteStream`** `MediaStream | undefined`

Provides access to the remote [MediaStream](https://developer.mozilla.org/en-US/docs/Web/API/MediaStream).

---

**`roomId`** `string`

The unique identifier for the room.

---

**`roomSessionId`** `string`

The unique identifier for the room session.

---

## Methods

#### [join](/docs/browser-sdk/v3/js/reference/video/room-session-device/join)

Join the room session

#### [leave](/docs/browser-sdk/v3/js/reference/video/room-session-device/leave)

Leave the room session

#### [audioMute](/docs/browser-sdk/v3/js/reference/video/room-session-device/audio-mute)

Mute the microphone

#### [audioUnmute](/docs/browser-sdk/v3/js/reference/video/room-session-device/audio-unmute)

Unmute the microphone

#### [videoMute](/docs/browser-sdk/v3/js/reference/video/room-session-device/video-mute)

Mute the video

#### [videoUnmute](/docs/browser-sdk/v3/js/reference/video/room-session-device/video-unmute)

Unmute the video

#### [updateCamera](/docs/browser-sdk/v3/js/reference/video/room-session-device/update-camera)

Switch to a different camera

#### [updateMicrophone](/docs/browser-sdk/v3/js/reference/video/room-session-device/update-microphone)

Switch to a different microphone

#### [setInputVolume](/docs/browser-sdk/v3/js/reference/video/room-session-device/set-input-volume)

Set the input volume level

#### [setInputSensitivity](/docs/browser-sdk/v3/js/reference/video/room-session-device/set-input-sensitivity)

Set the input sensitivity level

#### [\~\~setMicrophoneVolume\~\~](/docs/browser-sdk/v3/js/reference/video/room-session-device/set-microphone-volume)

*Set microphone volume (deprecated)*