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);
  });
相关推荐
摘星编程5 分钟前
React Native for OpenHarmony 实战:VirtualizedList 虚拟化列表
javascript·react native·react.js
摘星编程36 分钟前
React Native for OpenHarmony 实战:RefreshControl 下拉刷新组件
javascript·react native·react.js
鸣弦artha2 小时前
Flutter框架跨平台鸿蒙开发——Extension扩展方法
android·javascript·flutter
筱歌儿4 小时前
TinyMCE-----word表格图片进阶版
开发语言·javascript·word
Ama_tor5 小时前
obsidian进阶の插件系列|Templater从小白到菜鸟
javascript·markdown·插件·obsidian
wuhen_n5 小时前
初识TypeScript
javascript·typescript
w***76555 小时前
JS vs jQuery:核心差异解析
开发语言·javascript·jquery
踢球的打工仔5 小时前
typescript-类
前端·javascript·typescript
大阳光男孩6 小时前
ElementUI表格懒加载子级更新数据刷新不生效问题
前端·javascript·elementui
wy3136228216 小时前
C#——意框架(结构说明)
前端·javascript·c#