使用 mediaDevices.getUserMedia 访问笔记本电脑上的前置摄像头

Using mediaDevices.getUserMedia to access front facing camera on a laptop

我正在为我们的组织开发一个内部网络应用程序。该应用程序将主要(如果不是唯一)在 desktop/laptop 台机器上使用。

我需要让用户能够拍摄自己的照片。我关注了 example posted by David Walsh here.

如果用户的计算机上只有一个摄像头,则此方法可以正常工作。但是,在同时具有前置和后置摄像头的机器上(如 Surface Pro 4),此代码默认为后置摄像头。我尝试像这样调整代码:

navigator.mediaDevices.getUserMedia({video: {facingMode: "user"}, audio: false}).then(...)

但是,这没有任何区别。我猜这主要是为移动设备设计的。

有没有办法强制摄像头在前面(如果可用),或者更好的是,使用户能够在具有前置和后置摄像头的笔记本电脑设备上切换摄像头?

facingMode 约束是根据规范的正确答案,并且适用于 Firefox。 Chrome 只是还没有实现。但是,您可以使用 adapter.js polyfill 来获取它。

试试看 here