首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取内置麦克风的硬件信息?

如何获取内置麦克风的硬件信息?
EN

Stack Overflow用户
提问于 2015-07-31 20:18:27
回答 2查看 1.4K关注 0票数 4

当用户在我的网站上录制音频文件时,能够读取(内置)麦克风的硬件信息(至少是名称)吗?

这在JavaScript中是可能的,还是有其他方法来解决这个问题?我搜索了网络,但只能找到用JavaScript录制的脚本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-01 05:29:27

更新版本的:在火狐,微软边缘,和Chrome 45的实验标志。

使用标准的navigator.mediaDevices.enumerateDevices(),您可以获得可用源的列表。每个源都有一个kind属性以及一个label

代码语言:javascript
运行
复制
var stream;
navigator.mediaDevices.getUserMedia({ audio:true })
.then(s => (stream = s), e => console.log(e.message))
.then(() => navigator.mediaDevices.enumerateDevices())
.then(devices => {
  stream && stream.stop();
  console.log(devices.length + " devices.");
  devices.forEach(d => console.log(d.kind + ": " + d.label));
})
.catch(e => console.log(e));

var console = { log: msg => div.innerHTML += msg + "<br>" };
代码语言:javascript
运行
复制
<div id="div"></div>

文档及相关的

最后一个演示是在普通Chrome中运行的,这要归功于adapter.js的填充。

票数 8
EN

Stack Overflow用户

发布于 2015-07-31 21:45:33

过时API

这个答案使用的API是非标准的,并且浏览器支持有限.在编写时,它在当前的Chrome中工作,但不会在其他浏览器的未来版本中采用,而且可能会在Chrome中消失。有关更广泛支持的解决方案,请参见:https://stackoverflow.com/a/31758598/610573

使用MediaStreamTrack.getSources(),您可以获得可用资源的列表。每个源都有一个kind属性以及一个label

代码语言:javascript
运行
复制
MediaStreamTrack.getSources(function(sourceInfos) {
    for (var i = 0; i != sourceInfos.length; ++i) {
        var thisSource = sourceInfos[i];
        console.log('stream type: '+thisSource.kind+', label: '+thisSource.label); 
        // example: stream type: audio, label: internal microphone
    }
});

文档及相关的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31754529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档