【问题标题】:HTML5 audio how to prevent browser microphones pick up all soundsHTML5音频如何防止浏览器麦克风拾取所有声音
【发布时间】:2016-05-11 12:45:04
【问题描述】:

在我的 HTML5 音频示例 asp.net/vb.net 项目中,使用 Matt Diamond 的 recorder.js,当我授予任何浏览器访问我的麦克风时,我可以听到耳机扬声器中我周围的所有噪音(例如,某人在我旁边打字、说话的人等)。我正在使用罗技 USB 耳机,但不确定具体型号,因为它们是通过工作提供的。

有谁知道这是否是与浏览器相关的麦克风问题(或者可能是我使用的耳机引起的)?我正在尝试寻找不同的耳机进行测试,但工作通常会为每个人购买相同的型号。

我已经尝试了一些其他网站,它们提供了用于录制和播放的演示,一旦我授予麦克风访问权限,我仍然可以听到我周围的一切(尽管有些演示似乎在不拾取背景噪音方面做得更好)。

我对音频的了解非常有限,因为我从未在标准化、设置增益等级别使用过音频。任何资源或建议将不胜感激!

如果有帮助的话,我可以从我的示例项目中包含一份 aspx 和 vb.net 页面的副本。谢谢!

【问题讨论】:

  • 它与浏览器或代码或任何东西无关——它只是声音,它就在你身边——如果你想录制音频,你需要隔离。
  • 您可以降低麦克风音量并提高系统音频设置(录音设备)。这样只有响亮或接近麦克风的声音才会在录音中。
  • Ceylan,我们目前使用 Nanogong 小程序,它在完全相同的条件/场景下不会拾取背景噪音。 NPAPI 已被淘汰除 Firefox(将于今年年底发生)之外的所有浏览器。鉴于 Nanogong 的录音很好,这就是为什么我想知道 HTML5 音频的声音问题是否与浏览器有关。 :)
  • 安德烈,谢谢你的建议,我一定会看看你提供的链接!

标签: javascript asp.net vb.net html audio


【解决方案1】:

好吧,这个问题原来是我的错,因为取消注释导致音频直接反馈的 Javascript 行。猜猜这是学习新事物的一部分。 :)

这是我在 Matt Diamond 的示例中使用的函数,其中注释掉了我必须在某些时候错误地取消注释的行...

            function startUserMedia(stream) {
            var input = audio_context.createMediaStreamSource(stream);
            console.log('Media stream created.');

            // Uncomment if you want the audio to feedback directly
           // input.connect(audio_context.destination);

            try {
                recorder = new Recorder(input);

            } catch (e) {
                alert('Error: Unable to record. Please check your sound settings, and allow the browser access to your microphone when prompted.');
                console.log('Error: Recorder object could not be created. Msg: ' + e.toString());
            }
        }

感谢您提供的回复!我相信我会有更多的音频问题,哈哈。

【讨论】:

    猜你喜欢
    • 2016-08-08
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2013-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多