在做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);
});