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

# getDevices

> getDevices function in the WebRTC namespace.

### getDevices

* `Const` **getDevices**(`name?`, `fullList?`): `Promise<MediaDeviceInfo[]>` — See [MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/mediadeviceinfo) for more details.

Enumerates the media input and output devices available on this machine. If `name` is provided, only the devices of the specified kind are returned. Possible values for `name` are `"camera"`, `"microphone"`, and `"speaker"`, which respectively correspond to [getCameraDevices](/docs/browser-sdk/v3/js/reference/webrtc/get-camera-devices), [getMicrophoneDevices](/docs/browser-sdk/v3/js/reference/webrtc/get-microphone-devices), and [getSpeakerDevices](/docs/browser-sdk/v3/js/reference/webrtc/get-speaker-devices).

#### Parameters

**`name`** `DevicePermissionName` — default: undefined

Filter for this device category.

---

**`fullList`** `boolean` — default: false

Set to `true` to retrieve the raw list as returned by the browser, which might include multiple, duplicate `deviceId`s for the same group.

---

#### Returns

`Promise<MediaDeviceInfo[]>`

#### Example

```javascript
await SignalWire.WebRTC.getDevices("camera", true);
// [
//   {
//     "deviceId": "3c4f97...",
//     "kind": "videoinput",
//     "label": "HD Camera",
//     "groupId": "828fec..."
//   }
// ]
```