public static TwilioVideoHelper GetOrCreate(Context context) { if (Instance == null) { Instance = new TwilioVideoHelper(); } if (Instance.CurrentVideoTrack == null) { Instance.CreateLocalMedia(context); } return(Instance); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // SetContentView(Resource.Layout.VideoCall); Window.AddFlags(WindowManagerFlags.KeepScreenOn); //_btnEndCall = FindViewById<AppCompatImageView>(Resource.btnEndCall); //_cbMute = FindViewById<AppCompatCheckBox>(Resource.cbMute); //_btnFlip = FindViewById<AppCompatCheckBox>(Resource.VideoCall.btnFlip); //_lblUserName = FindViewById<TextView>(Resource.VideoCall.lblUserName); //_lblStatus = FindViewById<TextView>(Resource.VideoCall.lblDuration); //_primaryVideo = FindViewById<TwilioVideo.VideoView>(Resource.VideoCall.primaryVideo); //_spinner = FindViewById<View>(Resource.VideoCall.pgLoading); //_thumbnailVideo = FindViewById<TwilioVideo.VideoView>(Resource.VideoCall.thumbnailVideo); //_root = FindViewById<ViewGroup>(Resource.VideoCall.root); //_thumbnailContainer = FindViewById<ViewGroup>(Resource.VideoCall.thumbnailContainer); _primaryVideo.Visibility = ViewStates.Invisible; _thumbnailVideo.Visibility = ViewStates.Invisible; _btnFlip.Click += OnFlipButtonClick; _btnEndCall.Click += OnCancelButtonClick; bool twoOrMoreCameras = Cameras.Count() > 1; _btnFlip.Enabled = twoOrMoreCameras; _btnFlip.Visibility = twoOrMoreCameras ? ViewStates.Visible : ViewStates.Gone; VolumeControlStream = Stream.VoiceCall; bool granted = ContextCompat.CheckSelfPermission(ApplicationContext, Manifest.Permission.Camera) == Permission.Granted && ContextCompat.CheckSelfPermission(ApplicationContext, Manifest.Permission.RecordAudio) == Permission.Granted; CheckVideoCallPermissions(granted); TwilioVideo = TwilioVideoHelper.GetOrCreate(ApplicationContext); UpdateState(); ConnectToRoom(); }
protected override void OnRestart() { base.OnRestart(); TwilioVideo = TwilioVideoHelper.GetOrCreate(ApplicationContext); UpdateState(); }
protected override void OnDestroy() { TwilioVideo.Unbind(this); TwilioVideo = null; base.OnDestroy(); }