如何使用后置摄像头代替前置摄像头?

d00*_*n12 4 javascript camera android ios

我有一个二维码扫描摄像头,但是当我用手机打开我的网站时,我的网站上的面部摄像头会打开。我想使用后置摄像头。

function setwebcam()
{

 var constraints = { audio: true, video: true };




document.getElementById("result").innerHTML="- scanning -";
if(stype==1)
{
    setTimeout(captureToCanvas, 500);    
    return;
}
var n=navigator;
document.getElementById("outdiv").innerHTML = vidhtml;
v=document.getElementById("v");

if(n.getUserMedia)
    n.getUserMedia(constraints, success, error);
else
if(n.webkitGetUserMedia)
{
    webkit=true;
    n.webkitGetUserMedia(constraints, success, error);
}
else
if(n.mozGetUserMedia)
{
    moz=true;
    n.mozGetUserMedia(constraints, success, error);
}
Run Code Online (Sandbox Code Playgroud)

小智 5

如果要强制设备使用前置摄像头,可以在约束中添加facesMode

var constraints = { 
  audio: true,
  video: {
    facingMode: 'environment'
};
Run Code Online (Sandbox Code Playgroud)

或使用exact

facingMode: { exact: 'environment' }
Run Code Online (Sandbox Code Playgroud)


edi*_*n-m 1

您可以用来MediaStreamTrack.getSources(callback)获取所有媒体源及其 ID。使用其他属性,您可以过滤以检查它是音频视频还是按名称过滤。一旦您知道要显示的媒体源的 ID,请使用它将其附加到视频标签。

这是一个很好的例子:
https://simpl.info/getusermedia/sources/
https://github.com/samdutton/simpl/blob/master/getusermedia/sources/js/main.js