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

时间:2016-04-14 11:35:36

标签: javascript google-chrome microphone getusermedia

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

我尝试了getUserMedia方法,但我无法弄清楚如何获取麦克风名称。而且,正如我在一些文章中读到的那样,与谷歌浏览器存在一些不兼容的问题。

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

1 个答案:

答案 0 :(得分:1)

  • <强> 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()
  

已过时

MediaStreamTrack.label
MediaStreamTrack.getSources(function(sourceInfos) {
  for (var i = 0; i != sourceInfos.length; ++i) {
    var sourceInfo = sourceInfos[i];
    console.log(sourceInfo.id, sourceInfo.label);
  }
});
  

在Chrome 45中已弃用,已在Chrome 47中删除。

getUserMedia必须在“enumerateDevices&#39;之前调用或者&#39; getSources&#39;方法