public static Webrtc.MediaConstraints ToNative(this MediaTrackConstraints constraints) { var mandatoryDictionary = new Dictionary <string, string>(); var optionalDictionary = new Dictionary <string, string>(); mandatoryDictionary.Add("googEchoCancellation", constraints.EchoCancellation.ToBool() ? "true" : "false"); mandatoryDictionary.Add("googAutoGainControl", constraints.AutoGainControl.ToBool() ? "true" : "false"); mandatoryDictionary.Add("googHighpassFilter", "false"); mandatoryDictionary.Add("googNoiseSuppression", constraints.NoiseSuppression.ToBool() ? "true" : "false"); var mandatory = mandatoryDictionary.Select( pair => new Webrtc.MediaConstraints.KeyValuePair(pair.Key, pair.Value)).ToList(); var optional = optionalDictionary.Select (pair => new Webrtc.MediaConstraints.KeyValuePair(pair.Key, pair.Value)).ToList(); var nativeConstrains = new Webrtc.MediaConstraints { Mandatory = mandatory, Optional = optional }; return(nativeConstrains); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Java.Lang.Thread.DefaultUncaughtExceptionHandler = new UnhandledExceptionHandler(this); Window.AddFlags(WindowManagerFlags.Fullscreen); Window.AddFlags(WindowManagerFlags.KeepScreenOn); Point displaySize = new Point(); WindowManager.DefaultDisplay.GetSize(displaySize); vsv = new VideoStreamsView(this, displaySize); SetContentView(vsv); abortUnless(PeerConnectionFactory.InitializeAndroidGlobals(this), "Failed to initializeAndroidGlobals"); AudioManager audioManager = ((AudioManager)GetSystemService(AudioService)); // TODO(fischman): figure out how to do this Right(tm) and remove the // suppression. bool isWiredHeadsetOn = audioManager.WiredHeadsetOn; audioManager.Mode = isWiredHeadsetOn ? Mode.InCall : Mode.InCommunication; audioManager.SpeakerphoneOn = !isWiredHeadsetOn; sdpMediaConstraints = new MediaConstraints(); sdpMediaConstraints.Mandatory.Add(new MediaConstraints.KeyValuePair("OfferToReceiveAudio", "true")); sdpMediaConstraints.Mandatory.Add(new MediaConstraints.KeyValuePair("OfferToReceiveVideo", "true")); Intent intent = Intent; if ("Android.intent.action.VIEW".Equals(intent.Action)) { connectToRoom(intent.Data.ToString()); return; } showGetRoomUI(); }