protected override void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e); if (e.OldElement != null || Element == null) { return; } var callPage = (CallPage)e.NewElement; RoomId = callPage.RoomId; IsInitator = callPage.IsInitator; videoCallView = new VideoCallView(CGRect.Empty, !isSimulator); videoCallView.Delegate = this; localVideoRenderer = new VideoRendererProxy(); remoteVideoRenderer = new VideoRendererProxy(); localVideoRenderer.Renderer = videoCallView.LocalVideoRender; remoteVideoRenderer.Renderer = videoCallView.RemoteVideoRender; if (NativeView != null) { } }
public void DidChangeRoute(VideoCallView view) { var @override = AVAudioSessionPortOverride.None; if (portOverride == AVAudioSessionPortOverride.None) { @override = AVAudioSessionPortOverride.Speaker; } RTCDispatcher.DispatchAsyncOnType(RTCDispatcherQueueType.AudioSession, () => { var session = RTCAudioSession.SharedInstance; session.LockForConfiguration(); session.OverrideOutputAudioPort(@override, out NSError error); if (error == null) { portOverride = @override; } else { Console.WriteLine("Error overriding output port:{0}", error.LocalizedDescription); } session.UnlockForConfiguration(); }); }
public void DidSwitchCamera(VideoCallView view) { if (fileCapturerController != null) { fileCapturerController.Toggle(); return; } SwitchCamera(); }
public void DidHangUp(VideoCallView view) { Disconnect(); }
public void DidEnableStats(VideoCallView view) { }