当用户在我的网站上录制音频文件时,是否可以读取(内置)麦克风的硬件信息(至少是名称)?
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
在 MDN 上 -https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices
- “媒体捕获和流”规范 -http://w3c.github.io/mediacapture-main/getusermedia.html#mediadevices http://w3c.github.io/mediacapture-main/getusermedia.html#mediadevices
- Sam Dutton 选择输入源的演示 -https://webrtc.github.io/samples/src/content/devices/input-output/ https://webrtc.github.io/samples/src/content/devices/input-output/
最后一个演示可以在常规 Chrome 中运行,这要归功于适配器.js https://github.com/webrtc/adapter填充。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)