WebRTC中获取当前采集设备的deviceId

在做webRTC项目离不开切换摄像头,但是怎么拿到当前采集的设备id就成了问题,查阅资料后发现官方其实有提供相关方法,简单记录下;

通用玩法获取采集设备id
javascript 复制代码
// 请求访问用户媒体设备
navigator.mediaDevices.getUserMedia({ video: true, audio: true })
  .then((stream) => {
    // 获取视频轨道
    let videoTrack = stream.getVideoTracks()[0];
    if (videoTrack) {
      console.log('视频设备ID:', videoTrack.getSettings().deviceId);

      // 获取音频轨道
      let audioTrack = stream.getAudioTracks()[0];
      if (audioTrack) {
        console.log('麦克风设备ID:', audioTrack.getSettings().deviceId);
      }
    } else {
      console.log('未找到可用的视频设备');
    }
  })
  .catch((error) => {
    console.error('获取媒体流失败', error);
  });
相关推荐
mONESY1 小时前
React + TypeScript 入门到进阶:从 Props 类型约束到状态管理与副作用最佳实践
javascript
码哥DFS2 小时前
算法练习day1-备战2027届秋招
前端·javascript·数据结构·算法
张元清2 小时前
React useInfiniteScroll Hook:无限滚动轻松实现(2026)
javascript·react.js
别怪我很水2 小时前
Vue element admin 浏览器本地存储 localStorage、useStorage
前端·javascript·vue.js
晓得迷路了3 小时前
栗子前端技术周刊第 140 期 - pnpm、Node 新 API 文档网站、Oxlint...
前端·javascript·node.js
烬羽3 小时前
一个队列,怎么让滑动窗口从 O(nk) 变 O(n)?单调队列彻底搞懂
javascript·数据结构·算法
猫猫不是喵喵.13 小时前
Vue3 Props 属性
前端·javascript·vue.js
jarvisuni17 小时前
DeepSeekFlash前端依旧拉垮,而且变慢了很多!
前端·javascript·算法
破z晓19 小时前
javascript 导出excel表
开发语言·javascript·excel
小罗水20 小时前
第17章 后台管理端与演示支持
javascript·vue.js·ecmascript