I am working on webRTC i am doing live stream between two android devices on local network it is working pretty fine for me except the sound quality issue there is noise and
What's happening is that you are playing your own local audio back to yourself. This creates a feedback loop between your microphone and speakers. That's why it kinda sounds better when you have the hands-free device. You can remove the local audio by modifying the stream of getUserMedia():
var constraints = {video: true, audio: true};
getUserMedia(constraints, function(stream){
var videoOnly = new MediaStream(stream.getVideoTracks());
}, errorHandler);