WebRTC samplesSelect sources & outputs

Get available audio, video sources and audio output devices* from mediaDevices.enumerateDevices() then set the source for getUserMedia() using a deviceId constraint.

*Enable experimental support in Chrome 45.0.2441.x or later by selecting Enable experimental Web Platform features in chrome://flags or by using command line flag "--enable-blink-features=EnumerateDevices,AudioOutputDevices". Use the setSinkID() method on the video element and provide a audio or video element and a sinkId (deviceId for where deviceInfo.kind === 'audiooutput') as arguments. Also the web page must be served over HTTPS.

Note: If you hear a reverb sound your microphone is picking up the output of your speakers/headset, lower the volume and/or move the microphone further away from your speakers/headset.

View source on GitHub