Javascript: Get the browser's selected microphone name
我正在尝试构建一个函数来通过Javascript获取浏览器的选定麦克风名称。 就像我们的系统中有多个麦克风,而浏览器已选择一个麦克风一样,我需要知道他的名字才能在其他功能中使用它。
我尝试了getUserMedia方法,但是我不知道如何使用此方法获取麦克风名称。 而且,正如我在某些文章中所读到的,与Google chrome存在一些不兼容之处。
还有其他方法可以获取此信息吗?
-
navigator.mediaDevices.enumerateDevices()
mediaDevice.label
1 2 3 4 5 6 7 | navigator.mediaDevices.enumerateDevices() .then(function(devices) { devices.forEach(function(device) { console.log(device.kind +":" + device.label + " id =" + device.deviceId); }); }) |
受Chrome 45,Firefox 39支持
- MediaStreamTrack.getSources()
Deprecated
1 | MediaStreamTrack.label |
1 2 3 4 5 6 | MediaStreamTrack.getSources(function(sourceInfos) { for (var i = 0; i != sourceInfos.length; ++i) { var sourceInfo = sourceInfos[i]; console.log(sourceInfo.id, sourceInfo.label); } }); |
Deprecated in Chrome 45, removed in Chrome 47.
必须在" enumerateDevices"或" getSources"方法之前调用getUserMedia
- https://developer.mozilla.org/zh-CN/docs/Web/API/MediaStreamTrack
- https://developer.mozilla.org/zh-CN/docs/Web/API/MediaDevices/enumerateDevices