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 VideoRendererProxy(); RemoteVideoRenderer = new VideoRendererProxy(); 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 VideoRendererProxy(); remoteVideoRenderer = new VideoRendererProxy(); localVideoRenderer.Renderer = videoCallView.LocalVideoRender; remoteVideoRenderer.Renderer = videoCallView.RemoteVideoRender; if (NativeView != null) { } }
public override void ViewDidLoad() { base.ViewDidLoad(); _localRenderer = new VideoRendererProxy(); _remoteRenderer = new VideoRendererProxy(); _localRenderer.Renderer = _videoCallView.LocalVideoRender; _remoteRenderer.Renderer = _videoCallView.RemoteVideoRender; }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); RequestWindowFeature(WindowFeatures.NoTitle); Window.AddFlags(WindowManagerFlags.Fullscreen | WindowManagerFlags.KeepScreenOn | WindowManagerFlags.ShowWhenLocked | WindowManagerFlags.TurnScreenOn); Window.DecorView.SystemUiVisibility = GetSystemUiVisibility(); SetContentView(Resource.Layout.activity_call); _fullscreenRenderer = FindViewById <SurfaceViewRenderer>(Resource.Id.fullscreen_video_view); _pipRenderer = FindViewById <SurfaceViewRenderer>(Resource.Id.pip_video_view); _callFragment = CreateCallFragment(Intent); _localRenderer = new VideoRendererProxy(); _remoteRenderer = new VideoRendererProxy(); _pipRenderer.Click += (sender, args) => SetSwappedFeeds(!_isSwappedFeed); _pipRenderer.SetScalingType(RendererCommon.ScalingType.ScaleAspectFit); _pipRenderer.SetZOrderMediaOverlay(true); _pipRenderer.SetEnableHardwareScaler(true); _fullscreenRenderer.Click += (sender, args) => ToggleCallControlFragmentVisibility(); _fullscreenRenderer.SetScalingType(RendererCommon.ScalingType.ScaleAspectFill); _fullscreenRenderer.SetEnableHardwareScaler(false); SetSwappedFeeds(true); var ft = SupportFragmentManager.BeginTransaction(); ft.Add(Resource.Id.call_fragment_container, _callFragment); ft.Commit(); _client = CreateEngine(); Connect(_client, Intent); }