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);
  });
相关推荐
武清伯MVP2 小时前
前端跨域方案大合集
前端·javascript
换个昵称都难3 小时前
webrtc RtpRtcp模块化测试-MockRtpRtcp
webrtc
星星在线3 小时前
我是怎么把页面图片流量砍掉一半的
前端·javascript
kyriewen4 小时前
TypeScript 高级类型:我用 infer 写了一个类型安全的 EventBus,终于搞懂了泛型约束
前端·javascript·typescript
林希_Rachel_傻希希6 小时前
1小时速通React之Hooks
前端·javascript·面试
石山代码6 小时前
JavaScript 进阶核心知识点
开发语言·javascript·ecmascript
m0_547486668 小时前
《HTML+CSS+JavaScript+Vue前端开发技术教程》全套PPT课件
javascript·css·html
FliPPeDround8 小时前
告别离线 Agent:deepseek-kit 内置 Web Search,零配置联网搜索
javascript·agent·deepseek
米丘8 小时前
SSE (server-sent events)
javascript·网络协议
桜吹雪8 小时前
所有智能体架构(3):Planning(计划任务)
javascript·人工智能·langchain