当前位置: 首页 > 知识库问答 >
问题:

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

翟弘
2023-03-14

我们希望使用后摄像头进行扫描,并选择正确的后摄像头-主摄像头,而不是宽镜头摄像头。

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

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

共有2个答案

柴兴贤
2023-03-14

这取决于你所说的“主”后摄像头。我们的用例需要一个支持自动对焦的后置摄像机(并非所有摄像机都支持)。查看您可以在此处查询的约束,并正确调用navigator。媒体设备。getUserMedia()。

例如:

cam = await navigator.mediaDevices.getUserMedia({video: {facingMode: {exact: "environment"}, focusMode: {ideal: "continuous"}}}});

你提到长焦,所以也许你在追求变焦级别。这也是一个选择,但我自己还没有玩那么多。

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

穆子琪
2023-03-14

设备对象通常具有设备。标签描述它们的文本。但是,本文是特定于设备的。

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

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

 类似资料:
  • 问题内容: 在iOS 10发布之前,我使用以下代码获取录像机的视频和音频捕获: 当iOS 10最终问世时,我在运行代码时收到以下警告。请注意,我的录像机仍可以正常运行约2周。 在iOS 10.0中不建议使用“ devices()”:请改用AVCaptureDeviceDiscoverySession。 今天早上运行代码时,录像机停止工作。xCode8没有给我任何错误,但是相机捕获的PreviewL

  • 我正在尝试使用GStreamer将RTMP/RTSP流连接到v4l2loopback虚拟设备。 工程1-RTMP至AutoVideoSink,sudo gst-launch-1.0 rtspsrc位置=rtsp://192.168.xxx.xxx/live/av0 ! decodebin!自动视频接收器sudo gst-launch-1.0 rtmpsrc位置=rtmp://192.168.xxx

  • 以下程序演示如何使用系统相机检测脸部并使用JavaFX窗口显示脸部。 参考以下示例代码 - 执行上面示例代码,得到以下结果 - 系统提示:头像太丑,无法显示…

  • 我有一个应用程序,它使用Camera2 API来预览相机。我想在手机的镜头之间进行选择。在我的代码中,我使用了以下代码: 当我使用我的galaxy s10时,它有2个前置摄像头(普通和宽)和3个后置摄像头,我只从经理那里得到4个ID: 为什么我没有3后置微距相机。 这些问题出现在我所有的手机上,手机背面有一个以上的摄像头 我怎样才能得到所有的后摄像头? TNX领先

  • 表情测试 图片转文字 相框 拍摄图片