我有一个传感器分辨率为 1280x720 的网络摄像头(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 上观察到。