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