Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio 如何避免webrtc javascript中的回声和噪声_Audio_Video_Chat_Webrtc - Fatal编程技术网

Audio 如何避免webrtc javascript中的回声和噪声

Audio 如何避免webrtc javascript中的回声和噪声,audio,video,chat,webrtc,Audio,Video,Chat,Webrtc,我正在尝试实现一个基于webrtc的聊天室。我在笔记本电脑上遇到了以下问题。无需连接到任何其他对等方,只需使用getUserMedia(),即可获得本地视频流 当我解除静音时,回声发生了 然后我戴上耳机,发现有持续的噪音。我能清楚地听到我的声音 我试着把音量调低,但没用 提前感谢。如果DOM中有local元素,请确保该元素处于静音状态: <video id="vid1" autoplay="true" muted="muted"></video> 有关更多详细信息,

我正在尝试实现一个基于webrtc的聊天室。我在笔记本电脑上遇到了以下问题。无需连接到任何其他对等方,只需使用getUserMedia(),即可获得本地视频流

当我解除静音时,回声发生了

然后我戴上耳机,发现有持续的噪音。我能清楚地听到我的声音

我试着把音量调低,但没用


提前感谢。

如果DOM中有local
元素,请确保该元素处于静音状态:

<video id="vid1" autoplay="true" muted="muted"></video>


有关更多详细信息,请参阅讨论webrtc邮件列表上的。

要解决与噪音相关的问题,您应该为localstream设置autoplay=false。

执行以下操作:

1) 在localVideo中,执行以下操作:

localVideo.volume=0

localVideo.mute=0

2) 对remoteVideo也执行同样的操作:

remoteVideo.volume=0


remoteVideo.mute=0

如果将其静音,它将不会捕获任何声音,是吗?即使本地播放元素已静音,流仍将捕获声音。禁用DOM中的元素只会禁用本地播放。要使传出的音频流本身静音,您需要执行localMediaStream.getAudioStreams()[0]。enabled=false或localMediaStream.getVideoStreams()[0]。enabled=false以保持声音,但禁用视频流。这假设您已将媒体流保存在onaddstream()回调中的某个位置。是否有办法在不丢失声音的情况下删除回声?@DNM,使用此静音不会丢失声音。谢谢。。这个答案救了我。你能详细说明你的答案吗?再添加一点关于你提供的解决方案的描述?autoplay=false只是不允许自动播放视频。这与音频没有任何关系。如果@tom vLine的答案解决了您的问题,请将其标记为答案
静音
属性没有帮助,可能是因为我使用的Angular 4。但是这非常有效
document.getElementById('yourVideo')。volume=0