2013-08-23 53 views
11

Tôi đang cố gắng triển khai phòng trò chuyện dựa trên webrtc. Và tôi gặp phải các vấn đề sau trong máy tính xách tay. Nếu không kết nối với bất kỳ người ngang hàng nào khác, chỉ cần sử dụng getUserMedia(), tôi có thể nhận luồng video cục bộ.Cách tránh tiếng vọng và tiếng ồn trong javascript cho webrtc

Khi tôi bật tiếng, tiếng vang đã xảy ra.

Sau đó, tôi đeo tai nghe và thấy có tiếng ồn tiếp tục. Và tôi có thể nghe rõ giọng nói của tôi.

Tôi đã cố gắng giảm âm lượng, nhưng nó không hoạt động.

Xin cảm ơn trước.

+0

Nếu câu trả lời của @ tom-vLine đã giải quyết được vấn đề của bạn, vui lòng đánh dấu câu trả lời là câu trả lời – aclave1

Trả lời

29

Hãy chắc chắn rằng bạn đang tắt tiếng địa phương yếu tố <video> nếu bạn có nó trong DOM:

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

Xem this post trên thảo luận cho WebRT mailing list để biết thêm chi tiết và WebRTC samples.

+1

, hữu ích –

+1

Nếu bạn tắt tiếng, nó sẽ không ghi lại bất kỳ âm thanh nào? –

+2

Luồng vẫn sẽ ghi lại âm thanh ngay cả khi phần tử phát lại cục bộ bị tắt tiếng. Việc tắt phần tử trong DOM sẽ chỉ tắt tiếng phát lại cục bộ. Để tắt âm thanh luồng đi, bạn sẽ muốn thực hiện localMediaStream.getAudioStreams() [0] .enabled = false hoặc localMediaStream.getVideoStreams() [0] .enabled = false để giữ âm thanh tiếp tục nhưng tắt luồng video. Điều này giả định bạn đã lưu luồng phương tiện ở đâu đó trong hàm gọi lại onaddstream() của bạn. –

-2

Để giải quyết vấn đề liên quan đến tiếng ồn, bạn nên đặt autoplay = false cho localstream.

+2

Bạn có thể vui lòng giải thích thêm câu trả lời của mình bằng cách thêm một chút mô tả về giải pháp bạn cung cấp không? – abarisone

0

Do các nội dung sau:

1) Trong localVideo làm này:

localVideo.volume = 0;

localVideo.muted = 0;

2) Làm tương tự cho điều khiển từ xaVideo cũng:

remoteVideo.volume = 0;

remoteVideo.muted = 0;

Các vấn đề liên quan