我使用 webRTC 和 tomcat 7 创建了一个应用程序。我可以连接两个客户端进行视频聊天。一个客户端在索尼笔记本电脑中,另一个在 HP 台式电脑中(带有罗技网络摄像头)。视频工作正常,但音频产生过多回声。我有多次谷歌,但我没有找到任何解决方案。
可以使用 getUserMedia() 或 PeerConnection() API 在 java 脚本级别解决此回声问题吗?
我检查了我的浏览器版本都是 chrome 28+。
请帮帮我。
我使用 webRTC 和 tomcat 7 创建了一个应用程序。我可以连接两个客户端进行视频聊天。一个客户端在索尼笔记本电脑中,另一个在 HP 台式电脑中(带有罗技网络摄像头)。视频工作正常,但音频产生过多回声。我有多次谷歌,但我没有找到任何解决方案。
可以使用 getUserMedia() 或 PeerConnection() API 在 java 脚本级别解决此回声问题吗?
我检查了我的浏览器版本都是 chrome 28+。
请帮帮我。
愿此评论对您有所帮助。软件推荐似乎是唯一“简单”的解决方案。或Windows >= 7的设置,如此处所述。
更新:
默认音量必须设置为“ 0 ”,直到远程媒体流开始流动;使用“setTimeout”至少等待“ 1 ”秒,然后将音量设置回“ 1 ”。
实际上,一旦“onaddstream”事件触发,噪声就会出现在“巨大的音频”带宽之外。
如果您通过“ chrome://webrtc-internals ”检查“ audioInputLevel ” ,一旦“ onaddstream ”事件触发,您将看到它的值类似于“ 25000 ”;但是在几毫秒后,“ audioInputLevel ”在1 到 150之间下降并保持在较低水平。
该文档可能会有所帮助:http ://www.slideshare.net/MuazKhan/echo-in-webrtc-why
您甚至可以设置VoiceActivityDetection:false
为 SDP 约束以最小化对等级回声。
在用于流式传输的视频标签中添加属性 muted="muted" 将解决此问题。
避免本地流噪音的解决方案是,只需转到元素所在的 html 文件并添加 muted="muted"。这将避免本地流的噪音,直到远程流启动
您应该将muted="muted"
属性添加到要video
向其流式传输本地视频的元素。在这种情况下,您将听到远程对等视频的声音,而不是您的本地视频。