Вызов navigator.mediaDevices.enumerateDevices в браузере возвращает MediaDeviceInfo
для каждого мультимедийного устройства, присутствующего на клиенте. Это включает deviceId
, groupId
, kind
и label
.
Фильтрация по kind === 'videoinput'
Я могу получить список доступных видеокамер.
Однако label
для устройств на разных клиентах, кажется, сильно различаются. Например, камера на MacBook Pro может иметь метку «FaceTime HD Camera (05a c: 8514)», в то время как метка на основной камере Pixel 3 - «camera2 0, лицом назад».
Существует ли список меток, возвращаемых общим клиентом (мобильные устройства, ноутбуки или USB-камеры), чтобы я мог проанализировать их в своем коде и представить конечному пользователю непротиворечивое имя?