Как я могу знать, что вход MediaDeviceInfo, возвращенный на navigator.mediaDevices.enumerateDevices (), на самом деле является внешним - PullRequest
0 голосов
/ 16 января 2020

Когда я запускаю navigator.mediaDevices.enumerateDevices() в chrome, и у меня нет подключенных устройств ввода, он возвращает только вывод аудиоустройстваInfo. Когда я делаю это в Firefox, он всегда возвращает несколько устройств ввода звука, которые являются системным звуком. Как я могу узнать, является ли это устройство ввода внешним?

Спасибо.

1 Ответ

0 голосов
/ 17 января 2020

Способ идентификации внешних устройств с помощью enumerateDevices() состоит в том, чтобы отфильтровать внутренние устройства по label. И то, что осталось, является внешним. Список устройств будет содержать устройство в следующем формате:

InputDeviceInfo
deviceId: "9d6e3ef425928764340c9927aca8ed229c0133f52b13e503c6d1726750fbdb02"
groupId: "2e16224d6094a619c3dcc965a83d5c64d7d9020ebe8fda00182bb482bb9cb84b"
kind: "audioinput"
label: "MacBook Pro Microphone (Built-in)"

Встроенный означает, что это внутреннее устройство. Для получения дополнительной информации смотрите здесь .

...