Skip to content

Interface: DeviceList ​

Device enumeration and selection.

Two details that are not obvious and cost every application that meets them:

  • enumerateDevices() before a permission grant returns entries with empty labels and empty deviceIds. A picker built from that list shows three blank rows, so list() says whether labels are available and the host can ask for permission first rather than rendering nothing.
  • deviceId: { exact } is what actually pins a device. Plain deviceId: id is a hint, and a browser is free to ignore it — which it does, usually on the machine of the one person who reported the bug.

Properties ​

PropertyTypeDescription
audioInputMediaDeviceInfo[]-
audioOutputMediaDeviceInfo[]-
labelsAvailablebooleanFalse before any permission has been granted, when every label is empty.
videoInputMediaDeviceInfo[]-

Talkline documentation