private async void SetQuality(PopupWindow window, EZConstants.EZVideoLevel level)
        {
            window.Dismiss();
            if (!ConnectionDetector.IsNetworkAvailable(this))
            {
                // 提示没有连接网络
                Utils.ShowToast(this, Resource.String.realplay_set_fail_network);
                return;
            }
            Android.Support.V7.App.AlertDialog.Builder builder = new Android.Support.V7.App.AlertDialog.Builder(this);
            builder.SetCancelable(false);
            builder.SetMessage(Resource.String.setting_video_level);
            Android.Support.V7.App.AlertDialog dialog = builder.Show();
            var result = await CameraHelpers.SetVideoLevel(camera.DeviceSerial, camera.CameraNo, level);

            dialog.Dismiss();

            if (result.Model)
            {
                camera.SetVideoLevel(videoLevel.Ordinal());
                if (level == EZConstants.EZVideoLevel.VideoLevelHd)
                {
                    btnVideoLevel.Text = GetString(Resource.String.quality_hd);
                }
                else if (level == EZConstants.EZVideoLevel.VideoLevelBalanced)
                {
                    btnVideoLevel.Text = GetString(Resource.String.quality_balanced);
                }
                else if (level == EZConstants.EZVideoLevel.VideoLevelFlunet)
                {
                    btnVideoLevel.Text = GetString(Resource.String.quality_flunet);
                }
                else
                {
                    btnVideoLevel.Text = GetString(Resource.String.quality_flunet);
                }
            }
            else if (result.HasError)
            {
                Toast.MakeText(this, result.Error.Description, ToastLength.Long).Show();
            }

            player.StopPlay();
            SystemClock.Sleep(500);
            player.StartPlay();
        }
Exemple #2
0
 internal static Task <Core.Common.Result <bool> > SetVideoLevel(string deviceSerial, int cameraNo, EZConstants.EZVideoLevel videoLevel)
 {
     return(Task.Run(() =>
     {
         var result = new Core.Common.Result <bool>();
         try
         {
             var state = EZOpenSDK.Instance.SetVideoLevel(deviceSerial, cameraNo, videoLevel.Ordinal());
             result.Model = state;
         }
         catch (Exception e)
         {
             System.Diagnostics.Debug.Fail(e.Message);
             result.HasError = true;
             result.Error = new Core.Common.Error()
             {
                 Description = e.Message, Exception = e
             };
         }
         return result;
     }));
 }