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

Javascript: Get the browser's selected microphone name

本文关键字:麦克风 获取 浏览器 Javascript      更新时间:2024-07-01

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

我尝试了getUserMedia方法,但我不知道如何使用此方法获取麦克风名称。而且,正如我在一些文章中所读到的,谷歌chrome存在一些不兼容之处。

有其他方法可以获得这些信息吗?

  • navigator.mediaDevices.enumerateDevice()

    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'或'getSources'方法之前调用


  • https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack
  • https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices