Javascript:获取浏览器选择的麦克风名称

Javascript: Get the browser's selected microphone name

我正在尝试构建一个函数以通过 Javascript 获取浏览器选择的麦克风名称。就像我们在系统中有多个麦克风并且浏览器选择了一个,我需要知道他的名字才能在其他功能中使用它。

我尝试了 getUserMedia 方法,但我不知道如何用它获取麦克风名称。而且,正如我在一些文章中读到的那样,google chrome.

存在一些不兼容性

还有其他方法可以获取此信息吗?

  • navigator.mediaDevices.enumerateDevices()

    mediaDevice.label


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

MediaStreamTrack.label

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.


getUserMedia 必须在 'enumerateDevices' 或 'getSources' 方法

之前调用