首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用getusermedia从多个后置摄像头中检测主/长焦摄像头

如何使用getusermedia从多个后置摄像头中检测主/长焦摄像头
EN

Stack Overflow用户
提问于 2019-06-26 16:24:54
回答 2查看 1.8K关注 0票数 6

我们希望使用后置相机进行扫描,并选择正确的后置相机-主相机,而不是广角相机。

较新的移动设备(例如三星galaxy s10)有几个前置和后置摄像头。当调用enumerateDevices()时,我们会得到一个正面和背面的相机列表。我们要从后置相机列表中选择主相机。我们可以使用约束来选择后置相机(面向“环境”),但我们不知道如何区分每个设备的相机是主相机还是广角相机。

代码语言:javascript
运行
复制
navigator.mediaDevices.enumerateDevices().then(function (devices) {
        for(var i = 0; i < devices.length; i ++){
            var device = devices[i];
            if (device.kind === 'videoinput') {
                //any useful device info here?
            }
        }
    });
EN

回答 2

Stack Overflow用户

发布于 2019-06-27 04:42:57

device对象通常有描述它们的device.label文本。但是,此文本是特定于设备的。

如果您将https://webrtc.github.io/samples/src/content/devices/input-output/加载到浏览器中,它将为您提供可用媒体源(摄像机、麦克风)的下拉列表。标签标识了每台摄像机。它们在不同设备之间略有不同。

在iPhones上,它是“前置摄像头”和“后置摄像头”。

这是该页面的二维码。

票数 0
EN

Stack Overflow用户

发布于 2019-09-21 03:36:11

这取决于你所说的“主”后置相机是什么意思。我们的用例需要一个支持自动对焦的后置摄像头(并不是所有的都支持)。查看可以查询here的约束,并正确调用navigator.mediaDevices.getUserMedia()。

例如:

代码语言:javascript
运行
复制
cam = await navigator.mediaDevices.getUserMedia({video: {facingMode: {exact: "environment"}, focusMode: {ideal: "continuous"}}}});

你提到了长焦,所以也许你想要的是变焦级别。这也是一种选择,但我自己还没有玩过那么多。

对约束API的支持因设备而异,并且非常挑剔。我建议建立后备选项,针对特定的操作系统版本/设备进行自定义查询,并做大量的实验,以确保你得到的相机将尽可能多地为你工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56768386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档