Electron判断是内置摄像头还是接摄像头

前言

Electron 中使用摄像头时,经常需要区分「内置摄像头」和「外接摄像头」。但是 navigator.mediaDevices.enumerateDevices() 只提供 labeldeviceId 等,不直接标明内置/外接。所以需要原生模块来判断是内置还是外接摄像头

WindowsMac的实现思路不一样。

后面有代码。

正文

Windows

Windows系统中可以使用设备安装日期做判断:内置摄像头多为随系统或整机出厂时安装(安装日期较早),外接摄像头多为用户后来插上(安装日期较晚)。

Windows中会得到类似的数据

Mac

Mac系统中可以使用系统给出的 deviceType 直接区分内置(BuiltIn)与外置(External)。

比如:AVCaptureDeviceTypeBuiltInWideAngleCamera(内置广角摄像头)和
AVCaptureDeviceTypeExternal(外置设备)

具体可以查看官方的类型文档:developer.apple.com/documentati...

结尾

引入原生模块,然后在Electron中根据不同的平台,使用不同的字段来区分「内置摄像头」和「外接摄像头」。

原生模块的实现源码地址:github.com/lzt-T/camer...

感兴趣的可以去试试

相关推荐
用户新3 小时前
V8引擎 精品漫游指南--Ignition篇(下 一) 动态执行前的事情
前端·javascript
@PHARAOH5 小时前
WHAT - GitLens vs Fork
前端
yqcoder5 小时前
前端性能优化:如何减少重绘与重排?
前端·性能优化
洋子6 小时前
Yank Note 系列 13 - 让 AI Agent 进入笔记工作流
前端·人工智能
wenzhangli78 小时前
Ooder A2UI 核心架构深度解析:WEB 拦截层的设计与实现
前端·架构
前端百草阁8 小时前
【前端性能优化全链路指南】从开发编写到构建运行的多维度实践
前端·性能优化
女生也可以敲代码9 小时前
AI时代下的50道前端开发面试题:从基础到大模型应用
前端·面试
ZhengEnCi9 小时前
M5-markconv自定义CSS样式指南 📝
前端·css·python
IT_陈寒9 小时前
SpringBoot自动配置的坑差点让我加班到天亮
前端·人工智能·后端
xingpanvip9 小时前
星盘接口开发文档:星相日历接口指南
android·开发语言·前端·css·php·lua