通过使用以下内容,我们可以提示用户选择具有音频和视频源约束的首选媒体输入设备(目前仅对Chrome支持感兴趣).
navigator.mediaDevices.getUserMedia({audio: true})
.then((stream) => {
console.log(stream);
});
任何人都知道是否有一个公开的API来检测用户选择的输入设备当前是否静音?输入设备可以是板载麦克风,外部麦克风或软件定义的麦克风,在系统中显示为硬件设备.
最佳答案
您可以通过迭代MediaStream
.getAudioTracks()
方法返回的数组,或通过从数组中选择索引的MediaStreamTrack来检查每个MediaStreamTrack的属性.muted布尔值.
navigator.mediaDevices.getUserMedia({audio: true})
.then(stream => {
console.log("MediaStreamTrack muted:",stream.getAudioTracks()[0].muted);
})
.catch(err => console.log(err));
您还可以使用静音和取消静音MediaStreamTrack事件.