实时检测麦克风是否正常工作
首次使用需要授权浏览器访问麦克风的权限,音频数据只在浏览器本地实时分析用于显示音量条,不会被录制保存或者上传到任何服务器。
麦克风测试工具用来快速确认电脑或手机上的麦克风有没有被浏览器识别、能不能收到声音。点击开始后,对着麦克风说话,页面上会出现一根随声音变化的实时音量条;有声音输入时还会给出文字提示。它只做「有没有声音」这一项检查:不能录音回放(所以无法让你听到自己的声音效果),不能选择具体是哪一个麦克风,不测量精确的分贝值,也不检测回声或底噪。
代码用浏览器的音频分析接口,每一帧读取 128 个频段的强度值(每个值 0 到 255),取平均后除以 128 再乘以 100,并限制在 0 到 100 之间,这就是音量条的百分比。当这个百分比大于 5 时,工具就认为「检测到声音」。因为它是各频段强度的平均,而不是校准过的分贝读数,所以数值只能用来比较「有没有、大概强不强」,不同设备之间的数字没有可比性。一个使用场景:开视频会议之前,你想确认耳机上的麦克风没有被静音。点击开始后正常说一句话,音量条有明显起伏,就说明系统和浏览器都能收到这支麦克风的声音。
先看地址栏附近是否已经有被拦截的麦克风图标;如果网站之前被设为「禁止」,需要到浏览器的网站设置里改成允许,再刷新页面重试。另外请确认页面是通过 HTTPS 打开的。
不一定。常见原因有:系统默认输入设备选错了、耳机麦克风被硬件开关静音、系统层面对浏览器关闭了麦克风权限、别的会议软件占用了麦克风。可以先在系统的声音设置里看输入电平是否有反应,再回来测试。
音量条只表示当前接收到的声音强度,不代表音质。离麦克风太近、增益太大都可能让它很高但声音失真。这个工具不判断好坏,只用来确认有信号。
不会录音。代码只是实时读取分析数据来绘制音量条,没有任何保存或发送声音的逻辑,详见下面的说明。
声音只在你的浏览器里实时分析。代码使用浏览器的音频分析接口读取强度数据来更新音量条,没有创建录音、没有保存音频,也没有任何把声音发往服务器的请求。点击「停止测试」或离开页面时,代码会停止麦克风的所有音轨并关闭音频环境,浏览器地址栏的麦克风使用提示也应随之消失。