我正在使用getUserMedia()
进行音频录制,它工作正常,但有一个问题。
我想在开始录音之前显示一条消息,说明是否有任何麦克风与系统连接。
为此,我使用了以下代码并将其运行到chrome中,但它无法正常工作。
if(navigator.getUserMedia || navigator.webkitGetUserMedia)
{
alert("Microphone is connected with your system");
} else {
alert("Microphone is not connected with your system");
}
当麦克风未连接时,上面的代码也会给出消息“麦克风已与您的系统连接”。
所以请建议我一个更好的方法来检测麦克风使用JavaScript在任何浏览器。
4条答案
按热度按时间7ajki6be1#
测试这些函数是否存在并不检测硬件麦克风是否存在。它只检测浏览器是否有这样做的API。
通过测试的浏览器不需要在麦克风插孔中插入物理麦克风。它只是一个较新的浏览器。未通过测试的浏览器可能有麦克风,但是不包含API的旧浏览器。
此外,至少getUserMedia函数是异步的,因此任何依赖于使用音频或视频的代码都必须放在回调函数中,而不是放在主脚本中。
有关如何编写跨浏览器音频/视频输入代码的示例,请参见https://developer.mozilla.org/en-US/docs/Web/API/Navigator.getUserMedia。
vyu0f0g12#
大概是这样的:
dzjeubhm3#
试试这个
如果麦克风没有被检测到或被拔出,则意味着catch语句将被执行。您可以在这里显示错误消息。
rryofs0p4#
您可以使用此链接
我用了这个方法
developer.mozilla.org