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(); }
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; })); }