javascript - webRTC 视频聊天中的噪音/回声

标签 javascript audio echo webrtc

我已经使用 webRTC 和 tomcat 7 创建了一个应用程序。我能够连接两个客户端进行视频聊天。一个客户端在索尼笔记本电脑中,另一个在 HP 台式电脑(带有罗技网络摄像头)中。视频工作正常,但音频产生过多回声。 我多次谷歌,但没有找到任何解决方案。

是否可以使用 getUserMedia() 或 PeerConnection() API 在 java 脚本级别解决此回声问题?

我检查过我的浏览器版本都是 chrome 28+。

请帮帮我。

最佳答案

五月 this comment帮你。软件推荐似乎是唯一的“简单”解决方案。或如解释的 Windows >= 7 设置 here .

更新:

在远程媒体流开始流动之前,必须将默认音量设置为“0”;使用“setTimeout”等待至少“1”秒,然后将音量设置回“1”。

实际上,噪声是在“onaddstream”事件触发时发生的“巨大音频”带宽之外产生的。

如果您通过“chrome://webrtc-internals”检查“audioInputLevel”,您会看到它的值类似于“25000” "一旦 "onaddstream"事件触发;然而,几毫秒后,“audioInputLevel”下降到 1 和 150 之间并保持在较低水平。

更新于 2016 年 1 月 12 日

此文档可能会有所帮助:http://www.slideshare.net/MuazKhan/echo-in-webrtc-why

您甚至可以将 VoiceActivityDetection:false 设置为 SDP 约束以最小化对等级回声。

关于javascript - webRTC 视频聊天中的噪音/回声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18144692/

相关文章:

javascript - 如何在javascript中检查日期不应该是当前日期的过去日期?

座位图插件上的 Javascript 和 jQuery 冲突

reactjs - React-Native 音频波形编辑器

audio - WAV文件的长度限制为35分钟?

mysql - 如何使批处理文件将 sql 查询写入包含 < 的文件而不转储结果

linux - 为什么在 shell 中使用 "echo"时我的部分字符串会消失?

linux - Linux 上的 OpenVPN : passing username and password in command line

javascript - Angular - 将范围值保存到变量,但在范围更新时不更新它

javascript - ServiceWorker 向 FetchEvent.respondWith() 传递了一个 promise ,该 promise 以非响应值 ‘undefined’ 解析。浏览器同步

javascript - 使用 HTML5 音频元素使用 AngularJS 创建新指令