void SetActivity() { CallPageActivity = this.Context as Activity; CallView = CallPageActivity.LayoutInflater.Inflate(Resource.Layout.activity_call, this, false); FullScreenRenderer = CallView.FindViewById <SurfaceViewRenderer>(Resource.Id.fullscreen_video_view); PipScreenRenderer = CallView.FindViewById <SurfaceViewRenderer>(Resource.Id.pip_video_view); CallFragment = CreateCallFragment(CallPageActivity.Intent); LocalVideoRenderer = new PlatformVideoRenderer(); RemoteVideoRenderer = new PlatformVideoRenderer(); PipScreenRenderer.Click += PipScreenRenderer_Click; PipScreenRenderer.SetScalingType(RendererCommon.ScalingType.ScaleAspectFit); PipScreenRenderer.SetZOrderMediaOverlay(true); PipScreenRenderer.SetEnableHardwareScaler(true); FullScreenRenderer.Click += FullScreenRenderer_Click; FullScreenRenderer.SetScalingType(RendererCommon.ScalingType.ScaleAspectFill); FullScreenRenderer.SetEnableHardwareScaler(false); SetSwappedFeeds(true); var fragmentTransaction = MainActivity.Instance.SupportFragmentManager.BeginTransaction(); fragmentTransaction.Add(Resource.Id.call_fragment_container, CallFragment); fragmentTransaction.Commit(); CallController = CreateController(); Connect(CallController, CallPageActivity.Intent); }
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 PlatformVideoRenderer(); remoteVideoRenderer = new PlatformVideoRenderer(); localVideoRenderer.Renderer = videoCallView.LocalVideoRender; remoteVideoRenderer.Renderer = videoCallView.RemoteVideoRender; if (NativeView != null) { } }