Beispiel #1
0
 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();
 }