如何获取(内置)麦克风的硬件信息
How to get hardware information of (in-build) microphone?
是否可以读取(内置)麦克风的硬件信息(至少名称),而用户正在我的网站上录制音频文件?
是可能的JavaScript或有其他方法来解决这个问题?我搜索了网页,但只能找到用JavaScript记录的脚本。
新版本:适用于Firefox, MS Edge和Chrome 45,带有实验标志。
使用标准的navigator.mediaDevices.enumerateDevices()
,您可以获得可用资源的列表。每个源都有一个kind
属性,以及一个label
属性。
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>" };
<div id="div"></div>
文档,相关的
-
navigator.mediaDevices
on MDN - https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices - "媒体捕获和流"规范- http://w3c.github.io/mediacapture-main/getusermedia.html#mediadevices
- Sam Dutton选择输入源的演示- https://webrtc.github.io/samples/src/content/devices/input-output/
最后一个演示可以在普通Chrome中工作,这要归功于adapter.js polyfill。
过时的API
这个答案使用了一个非标准的API,浏览器支持有限。它可以在当前的Chrome中工作,但不会在其他浏览器的未来版本中采用,并且可能会在Chrome中消失。有关具有更广泛支持的解决方案,请参见:https://stackoverflow.com/a/31758598/610573
使用MediaStreamTrack.getSources()
,您可以获得可用源代码的列表。每个源都有一个kind
属性,以及一个label
。
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
}
});
文档,相关的
-
MediaStreamTrack
on MDN - https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack - "捕捉音频&HTML5视频"在HTML5Rocks.com - http://www.html5rocks.com/en/tutorials/getusermedia/intro/
- Sam Dutton选择输入源的演示- https://simpl.info/getusermedia/sources/
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 定义完全独立的样式信息
- 使用html2canvas获取基本信息
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 从信息框调用弹出图像库
- 如何在不传递此信息的情况下查找被调用的元素
- 将谷歌自动完成地址信息放在页面上,而不是表格中
- 如何通过解析类信息来使用jQuery创建类
- 包含数据库中相关信息的开放模态
- 单击按钮即可在浏览器的新选项卡中打开 Sapui5 详细信息页面
- 如何调整信息窗口的大小并点击按钮?+更改信息窗口的内容
- ng在更新$scope后重复不更新信息
- 谷歌地图点击潜水触发信息窗口
- 根据CHECKBOX输入值动态更新DIV信息
- 如何使用ember.js在操作中传递当前上下文中目标旁边的信息
- Jquery on单击“显示信息”
- 通过硬件信息创建电子原子应用程序
- 如何使用我的网站收集系统硬件信息?
- 使用javascript获取硬件信息
- 如何获取(内置)麦克风的硬件信息