Javascript 如何检测麦克风类型

Javascript 如何检测麦克风类型,javascript,webrtc,getusermedia,Javascript,Webrtc,Getusermedia,我使用webRTC(getUserMedia)录制声音并将其上传到后端服务器。除了我无法确定麦克风类型(是内置麦克风、usb麦克风、耳机麦克风还是其他类型的麦克风)外,所有话筒都工作正常 有人知道如何检测类型吗?您可以使用列出用户的相机和麦克风,并尝试从标签推断类型(遗憾的是没有麦克风类型字段) 以下代码适用于Firefox 39和Chrome 45*: var流; navigator.mediaDevices.getUserMedia({audio:true}) 。然后(s=>(stream

我使用webRTC(getUserMedia)录制声音并将其上传到后端服务器。除了我无法确定麦克风类型(是内置麦克风、usb麦克风、耳机麦克风还是其他类型的麦克风)外,所有话筒都工作正常

有人知道如何检测类型吗?

您可以使用列出用户的相机和麦克风,并尝试从标签推断类型(遗憾的是没有麦克风类型字段)

以下代码适用于Firefox 39和Chrome 45*:

var流;
navigator.mediaDevices.getUserMedia({audio:true})
。然后(s=>(stream=s),e=>console.log(e.message))
。然后(()=>navigator.mediaDevices.enumerateDevices())
。然后(设备=>{
stream&&stream.stop();
console.log(devices.length+“devices.”);
devices.forEach(d=>console.log(d.kind+“:”+d.label));
})
.catch(e=>console.log(e));
var控制台={log:msg=>div.innerHTML+=msg+“
”}
你的结局是什么?我怀疑WebRTC api中是否存在类似的内容。我想,您可以在chrome中使用
MediaStreamTrack.getSources(回调)
,检查一下。@mido22这已经过时了。请看。它现在被称为
navigator.mediaDevices.enumerateDevices()
,对于还没有它的浏览器,它可以作为polyfill提供。嗯,我在Chrome 46中运行代码片段时遇到了问题。不知道发生了什么变化。对我有用。