【问题标题】:How to use back camera instead of the front camera?如何使用后置摄像头代替前置摄像头?
【发布时间】:2016-03-06 19:33:16
【问题描述】:

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

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);
}

【问题讨论】:

    标签: javascript android ios camera


    【解决方案1】:

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

    var constraints = { 
      audio: true,
      video: {
        facingMode: 'environment'
    };
    

    或使用exact:

    facingMode: { exact: 'environment' }
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我用托盘改变我的鳕鱼我从这个链接中阅读了所有的代码,但是每个人都认为我做错了什么
      • 当我打开一个后置摄像头而不是前置摄像头的页面时,如何开始?请帮助我
      • 您的机会只是知道标识后置摄像头的名称或名称的一部分,因为获取用户媒体功能的每个 MediaTrack 都包含名称,并通过名称进行匹配。您也可以使用分辨率限制,但这并不能保证它是后置摄像头。
      猜你喜欢
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多