如何使用后置摄像头代替前置摄像头?
Posted
技术标签:
【中文标题】如何使用后置摄像头代替前置摄像头?【英文标题】: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);
【问题讨论】:
【参考方案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 都包含名称,并通过名称进行匹配。您也可以使用分辨率限制,但这并不能保证它是后置摄像头。以上是关于如何使用后置摄像头代替前置摄像头?的主要内容,如果未能解决你的问题,请参考以下文章
android Camera 如何判断当前使用的摄像头是前置还是后置