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);
  });
相关推荐
漂流瓶jz8 小时前
Webpack中各种devtool配置的含义与SourceMap生成逻辑
前端·javascript·webpack
这是个栗子8 小时前
【问题解决】用pnpm创建的 Vue3项目找不到 .eslintrc.js文件 及 后续的eslint配置的解决办法
javascript·vue.js·pnpm·eslint
zy happy9 小时前
RuoyiApp 在vuex,state存储nickname vue2
前端·javascript·小程序·uni-app·vue·ruoyi
Nan_Shu_61410 小时前
学习:JavaScript(5)
开发语言·javascript·学习
533_10 小时前
[vue3] h函数,阻止事件冒泡
javascript·vue.js·elementui
通往曙光的路上10 小时前
day22_用户授权 头像上传
javascript·vue.js·ecmascript
meichaoWen10 小时前
【Vue】Vue框架的基础知识强化
前端·javascript·vue.js
西西学代码10 小时前
Flutter---DragTarget(颜色拖拽选择器)
前端·javascript·flutter
阿蓝灬10 小时前
React中的stopPropagation和preventDefault
前端·javascript·react.js
天天向上102410 小时前
vue3 抽取el-dialog子组件
前端·javascript·vue.js