如何在javascript for webrtc中避免回声和噪音

Zhe*_*ang 16 audio video chat webrtc

我正在尝试实现一个基于webrtc的聊天室.我在笔记本电脑中遇到了以下问题.如果没有连接到任何其他对等体,只需使用getUserMedia(),我就可以获得本地视频流.

当我取消静音时,回声发生了.

然后我戴上耳机,发现有继续的噪音.我可以清楚地听到我的声音.

我试图调低音量,但它不起作用.

提前致谢.

tom*_*tom 40

如果在DOM中有本地 <video>元素,请确保将其静音:

<video id="vid1" autoplay="true" muted="muted"></video>
Run Code Online (Sandbox Code Playgroud)

有关详细信息和WebRTC示例,请参阅discuss-webrtc邮件列表中的这篇文章.

  • 即使本地播放元素被静音,流仍将捕获声音.将DOM中的元素静音只会使本地播放静音.要使传出音频流本身静音,您需要执行localMediaStream.getAudioStreams()[0] .enabled = false或localMediaStream.getVideoStreams()[0] .enabled = false以保持声音继续但禁用视频流.这假设您在onaddstream()回调中的某处保存了媒体流. (5认同)

Aru*_*ITH 6

执行以下操作:

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

localVideo.volume = 0;

localVideo.静音 = 0;

2)对remoteVideo也做同样的事情:

远程视频.音量 = 0;

远程视频.静音 = 0;

  • `muted` 属性没有帮助,可能是因为我使用的是 Angular 4。但这完美地工作`document.getElementById('yourVideo').volume = 0` (4认同)