我目前在webrtc项目中工作,在不使用耳机或外部麦克风时遇到音频回声问题,有什么解决方法或修复方法吗
发布于 2016-06-10 05:02:36
目前在webrtc中没有最好的回声消除解决方案,所以我找到的最好的解决方案是使用AEC软件,或者内置回声消除软件
发布于 2016-05-23 14:26:01
默认情况下,回声消除在WebRTC中处于打开状态。您可以将其关闭以听取差异:
navigator.mediaDevices.getUserMedia({ audio: { echoCancellation: false } })
.then(stream => audio.srcObject = stream)
.catch(e => log(e));
var log = msg => div.innerHTML += msg + "<br>";
<audio id="audio" controls autoplay></audio><br>
<div id="div"></div>
<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
回声消除技术可以存在于许多级别-浏览器中的软件、操作系统中,有时甚至在硬件麦克风中-有时这些技术可能会相互干扰。
由于不了解您的系统,我建议您检查系统的声音设置,以确保您没有在太多级别上进行有用的处理。
例如,在OSX上,在声音设置下有一个使用环境降噪功能,当我关闭WebRTC的时,这个功能在我的上运行得更好。你只需要一个厨师同时尝试回声消除。
如果你正在为其他客户的网站工作,那么在软件方面你能做的事情不多,我希望大多数系统都能正常工作,即使不是很完美,也会很好,尽管耳机总是更好。
发布于 2020-05-09 17:11:03
即使使用视频echoCancellation约束,我也遇到了同样的问题
最后,我可以删除回声/噪波,将属性muted="true"
添加到本地视频元素中,并将音量设置为0 document.getElementById("localVideo").volume = 0
这不会阻止你的localStream有声音,但它会消除你在本地的噪音。
https://stackoverflow.com/questions/37390574
复制相似问题