WebRTC - 在网络应用程序中选择主摄像头(当设备有多个后置摄像头时)

问题描述 投票:0回答:2

尝试创建一个网络应用程序,从浏览器的后置摄像头捕获图像,并努力在多摄像头设备中找到主摄像头。

我们面临的问题是,每个制造商都有不同的命名约定,并且列表中相机的顺序并不表明哪一个相机是主相机(没有任何特殊功能的相机,例如广角,或长焦、潜望镜……)其中分辨率最高。

使用本网站时:https://webrtc.github.io/samples/src/content/devices/input-output/ 例如,对于我的设备,可以通过选择相机 2 2 或相机 2 0 来定位主相机:

有没有办法使用javascript来定位主摄像头?或者至少以编程方式获取相机特性以选择正确的相机?

javascript android typescript webrtc getusermedia
2个回答
0
投票

FWIW Android 文档中有一条小评论:

“主要摄像头设备(摄像头中的第一个后置/前置摄像头 ID列表)”

我在这里找到了


-1
投票

我不确定 WebRTC API 是否有关于哪一个是“主”摄像头的任何信息,但您可以在调用

constraints
时使用
getUserMedia
来指定后置摄像头(背向用户的摄像头)。这应该会为您获取它首先找到的后置摄像头,在可用的
mediaDevices
中,在大多数情况下是“主”摄像头。

指定

facingMode
environment
以选择后置摄像头。
facingMode
值的更多信息在这里

var constraints = {
  facingMode: { exact: "environment" }
  // add any other constraint you want here
};

navigator.mediaDevices.getUserMedia(constraints)
.then(function(stream) {
  /* use the stream */
})
.catch(function(err) {
  /* handle the error */
});
© www.soinside.com 2019 - 2024. All rights reserved.