当前位置: 首页 > article >正文

js获取硬件设备

在Javascript中通过MediaDevices 的方法enumerateDevices() 请求一个可用的媒体输入和输出设备的列表,例如麦克风,摄像机,耳机设备等。返回的 Promise 完成时,会带有一个描述设备的 MediaDeviceInfo 的数组。通常你可以使用 navigator.mediaDevices 来获取 MediaDevices ,例如:

//获取摄像头设备的方法
const videoRef = ref();
let cameraDevices = [];

async function getCameraId() {
  try {
    //全部设备
    const devices = await navigator.mediaDevices.enumerateDevices();
    // 摄像头设备
    cameraDevices = devices.filter(device => device.kind === 'videoinput');
    console.log('======>>>', devices);
  } catch (error) {
    console.error('获取设备失败:', error);
  }
}
getCameraId();

拿到摄像头设备后调用摄像头:

// 拿到摄像头id后,调用摄像头
try {
  const deviceId = cameraDevices[0]?.deviceId
  let constraints = {
    deviceId
  };
  stream = await navigator.mediaDevices.getUserMedia({ audio: false, video: constraints });
  videoRef.value.srcObject = stream;
  videoRef.value.play();
} catch (error) {
  ElMessage.error('摄像头获取失败,请检查摄像头权限是否正常');
}
  
  
<video ref="videoRef" autoplay></video>

这种api在MDN上写的都比较清楚,推荐大家使用MDN查找。


http://www.kler.cn/a/349671.html

相关文章:

  • Leetcode 45. 跳跃游戏 II
  • 2025 春节联欢晚会魔术揭秘
  • 【MySQL】悲观锁和乐观锁的原理和应用场景
  • mybatis(134/134)完结
  • gitee——报错修改本地密码
  • [MySQL]事务的理论、属性与常见操作
  • 前端数据拷贝(浅拷贝、深拷贝)
  • Ubuntu里彻底卸载UHD
  • PHP WebSocket
  • nginx代理内网服务器8080端口
  • 【jQuery】jQuery基本操作(样式操作 内容操作 节点操作 属性操作 节点遍历)
  • 作为企业的管理者,应该怎样面对信息安全等级测评这项国家政策?
  • 从纸质到云端:3C产品说明书的电子化进程与影响
  • (Java企业 / 公司项目)阿里云aliyun-对象存储OSS详细从开通到配置(微服务架构选用)
  • 通过华为鲲鹏认证发行上市的集成平台产品推荐
  • 2.2机器学习--逻辑回归(分类)
  • 鸿蒙--设置项布局
  • .net core 实现异步的方式有哪些?
  • Python 中 NameError 全局名称未定义
  • RHCE的学习(1)
  • 10.12Python数学基础-矩阵(上)
  • PLC数据如何高效传输到MongoDB?
  • lspci | grep VGA
  • Flink作业骨架结构
  • 统计好三元组(c语言)
  • Web集群服务-代理和负载均衡