Hi Ron, I use the mics built into the Logitech C930e. Here is the code I currently use (BandwidthHandler.setOpusAttributes seems to be the key to getting stereo working):
<script src="/dev/RTCMultiConnection.js"></script>
<script src="/dev/WebSocketConnection.js"></script>
<script src="/dev/CodecsHandler.js"></script>
<script src="/dev/getStats.js"></script>
<script src="/dev/CodecsHandler.js"></script>
<script>
var connection = new RTCMultiConnection();
connection.setCustomSocketHandler(WebSocketConnection);
connection.channel = "LocalRoomTest2";
// if you want audio+video conferencing
connection.session = {
audio: true,
video: true,
data: true
};
connection.DetectRTC.load(function() {
// you can access all microphones using "DetectRTC.audioInputDevices"
connection.DetectRTC.audioInputDevices.forEach(function(device) {
var option = document.createElement('option');
console.log("audio: " + device.id + " " + device.label); });
connection.DetectRTC.videoInputDevices.forEach(function(device) {
console.log("video: " + device.id + " " + device.label); });
});
connection.mediaConstraints = {
"data": true,
"audio": {
mandatory: {
echoCancellation: false, // disabling audio processing
googAutoGainControl: false,
googNoiseSuppression: false,
googHighpassFilter: false,
googTypingNoiseDetection: false,
},
optional: []
},
"video": {
mandatory: {
"minWidth": "1280",
"minHeight": "720",
"minFrameRate": "30",
"maxWidth": "1280",
"maxHeight": "720",
"maxFrameRate": "30"
},
}
};
var BandwidthHandler = connection.BandwidthHandler;
connection.bandwidth = {
audio: 128,
video: 2000
};
connection.processSdp = function(sdp) {
sdp = BandwidthHandler.setApplicationSpecificBandwidth(sdp, connection.bandwidth, !!connection.session.screen);
sdp = BandwidthHandler.setVideoBitrates(sdp, {
min: connection.bandwidth.video,
max: connection.bandwidth.video
});
sdp = CodecsHandler.preferCodec(sdp, "h264");
sdp = BandwidthHandler.setOpusAttributes(sdp, {
'stereo': 1,
//'sprop-stereo': 1,
'maxaveragebitrate': connection.bandwidth.audio * 1000 * 8,
'maxplaybackrate': connection.bandwidth.audio * 1000 * 8,
//'cbr': 1,
//'useinbandfec': 1,
// 'usedtx': 1,
'maxptime': 3
});
return sdp;
};
connection.leaveOnPageUnload = true;
connection.autoCloseEntireSession = true;
connection.onmessage = function(e) {
console.log(e);
};
connection.getExternalIceServers =false;
connection.userid = 'user1';
connection.open('special2');
</script>