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);
  });
相关推荐
swipe4 小时前
JavaScript 对象与属性描述符:从原理到实战
前端·javascript·面试
&活在当下&4 小时前
Vue3 h函数用法详解
前端·javascript·vue.js
小贵子的博客4 小时前
(vue3错误处理)has naming conflicts with other components, ignored.
前端·javascript·vue.js
西西学代码4 小时前
Flutter---路由与导航
服务器·前端·javascript
EasyDSS4 小时前
音视频技术迭代下EasyDSS直播点播视频会议能力的发展方向与价值升级
音视频·webrtc·语音识别·点播技术·流媒体直播
跟着珅聪学java6 小时前
electron 安装教程
javascript·arcgis·electron
花哥码天下6 小时前
安装/卸载claude code和codex
开发语言·javascript·ecmascript
跟着珅聪学java6 小时前
Electron 读取 JSON 配置文件教程
前端·javascript·vue.js
Joy T6 小时前
vite is not recognized :一次典型的 Electron/Vite 打包处置手册
javascript·git·electron
yuhaiqiang6 小时前
太牛了🐂,再也没有被AI 骗过,自从用了这个外挂 !必须装上
javascript·人工智能·后端