Reactjs 如何在web应用程序中连接手机中的外部USB摄像头?
我正在尝试将外置微型USB摄像头连接到手机上的web应用程序 我已经可以将其连接到笔记本电脑和其他计算机上,但无法在手机浏览器(如Chrome浏览器)中连接外部USB摄像头 我已经构建了一个reactjs web应用程序,它在我获得许可后检索设备中的媒体设备Reactjs 如何在web应用程序中连接手机中的外部USB摄像头?,reactjs,google-chrome,camera,usb,Reactjs,Google Chrome,Camera,Usb,我正在尝试将外置微型USB摄像头连接到手机上的web应用程序 我已经可以将其连接到笔记本电脑和其他计算机上,但无法在手机浏览器(如Chrome浏览器)中连接外部USB摄像头 我已经构建了一个reactjs web应用程序,它在我获得许可后检索设备中的媒体设备 navigator.mediaDevices.getUserMedia() 我使用上述代码从设备获取检索所有媒体设备的权限 navigator.mediaDevices .enumerateDevices() .
navigator.mediaDevices.getUserMedia()
我使用上述代码从设备获取检索所有媒体设备的权限
navigator.mediaDevices
.enumerateDevices()
.then(devices => {})
我使用上述代码获取所有媒体设备。
然后将它们连接到名为react webcam的软件包上。
其中,我链接了要连接到react网络摄像头组件的媒体设备的设备id
现在,这在计算机上可以很好地工作,但在电话上却不行。
在手机中,它仅检索设备内部的媒体设备,而不检索外部USB摄像头
因此,我编写了代码,以便获得插入设备的USB权限。(我使用OTG插入相机)。
但一旦我获得USB权限,我就有了供应商id和产品id。但它不会连接到web应用程序中的react网络摄像头组件。由于react网络摄像头组件接收设备id,但不接收供应商id和产品id,我在手机的Chrome浏览器中获得USB权限后才获取产品id和供应商id
navigator.usb.requestDevice({ filters: [] })
.then(selectedDevice => {
selectedDevice.open()
}).then(data=>{
navigator.mediaDevices
.enumerateDevices()
.then(devices => {})
})
在上面的代码中,当我在手机中获得USB权限时,我检索媒体设备,但我仍然没有在媒体设备列表中获得外部USB摄像头。我只能检索内部媒体设备。
如果我可以在媒体设备列表中列出外部usb摄像头,我可以将其连接到react网络摄像头组件并获得预览
const videoConstraints1 = {
width: { min: 1920 },
height: { min: 1920 },
facingMode: "user",
deviceId: { exact: "xxxxxxxxxxxxxxxxxxxxxxxxxxx"}
};
上面是我可以传递给react网络摄像头组件的视频约束,我只能定义要连接的设备id,USB权限承诺仅检索供应商id和产品id
是否有方法将外部网络摄像头连接到网页,并在移动设备中获取预览
预期结果:
在enumerate devices(枚举设备)功能中获取外部媒体设备当授予chrome访问手机浏览器中外部USB摄像头的权限时,返回或检索设备id
实际结果:
enumerateDevices()函数不返回手机浏览器媒体列表中的外部usb摄像头,
即使授予USB权限,也无法从手机浏览器内部的外部USB摄像头获取预览
有没有办法在手机中连接外置usb摄像头,并在网络应用中预览摄像头
多谢各位