Ограничения getUserMedia не соответствуют возможностям

#javascript #mediastream

#javascript #mediastream

Вопрос:

У меня есть веб-камера с разрешением сенсора 1280×720 (HP Webcam 2300). При запуске кода:

     var video = document.createElement('video')
    navigator.mediaDevices.getUserMedia({video: {width:1280}})
    .then(stream=>{
        const track = stream.getVideoTracks()[0];
        console.log(
            track.getCapabilities(),
            track.getSettings(),
            track.getConstraints()); 
    });
  

Из getCapabilities я получаю width {max: 1280, min: 1} , который соответствует возможностям веб-камеры, указанным на оборудовании.

getConstraints имеет ширину, установленную на 1280 как идеальную ширину, как и ожидалось.

Но из getSettings я получаю значение ширины 320 , и попытка превысить это значение, установив минимальную ширину, приводит к OverconstrainedError .

В чем причина этого несоответствия?

Наблюдается в Google Chrome 72.0.

Комментарии:

1. Вы выяснили причину?

2. Да, это ошибка в Chrome , когда несколько дорожек используются одновременно с разными ограничениями. Смотрите комментарий 11 по ссылке для объяснения и возможного обхода для этого конкретного случая. В противном случае проверьте, используют ли какие-либо другие вкладки camera