private async Task StartPreViewAsync() { try { captureManager = new MediaCapture(); await captureManager.InitializeAsync(); displayRequest.RequestActive(); DisplayInformation.AutoRotationPreferences = DisplayOrientations.Landscape; } catch (UnauthorizedAccessException) { MyMessageDialogHelper.ShowWebcamErrorMessageAsync(); return; } try { myCaptureElement.Source = captureManager; await captureManager.StartPreviewAsync(); _isPreviewing = true; } catch (System.IO.FileLoadException) { captureManager.CaptureDeviceExclusiveControlStatusChanged += _mediaCapture_CaptureDeviceExclusiveControlStatusChanged; } }
private async void _mediaCapture_CaptureDeviceExclusiveControlStatusChanged(MediaCapture sender, MediaCaptureDeviceExclusiveControlStatusChangedEventArgs args) { if (args.Status == MediaCaptureDeviceExclusiveControlStatus.SharedReadOnlyAvailable) { MyMessageDialogHelper.ShowWebcamErrorMessageAsync("摄像头初始化失败,摄像头正在被其他应用使用"); } else if (args.Status == MediaCaptureDeviceExclusiveControlStatus.ExclusiveControlAvailable && !_isPreviewing) { await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() => { await StartPreViewAsync(); }); } }
private void Btn_AddDevice_Tapped(object sender, TappedRoutedEventArgs e) { Device NewDevice = new Device { Name = "MyDevice", ImagePath = "ms-appx:///Assets/Device/Plug_130.png", Pin = Device.PinsEnum.D0 }; if (LB_Rooms.SelectedIndex > -1) { MainPage.MyHome.Rooms[LB_Rooms.SelectedIndex].AddDevice(NewDevice); } else { MyMessageDialogHelper.ShowNormalErrorMessageAsync("请选择一个房间!"); } // Only update device listboc UpdateListBox(2); }
private async void Page_Loaded(object sender, RoutedEventArgs e) { WeatherpagePrograssRing.IsActive = true; WeatherpagePrograssRing.Visibility = Visibility.Visible; TempHighFontIcon.Visibility = Visibility.Collapsed; TempLowFontIcon.Visibility = Visibility.Collapsed; AqiTblock.Visibility = Visibility.Collapsed; if (MyNetHelper.IsNetAdapterWork() != true) { var dialog = new MessageDialog("请检查网络适配器是否打开且正常工作", "网络适配器错误"); await dialog.ShowAsync(); } else if (MyNetHelper.IsNetConnected() != true) { var dialog = new MessageDialog("请联系当地网络运营服务商", "网络连接错误"); await dialog.ShowAsync(); } else { if (geoposition == null) { try { geoposition = await MyGeopositionHelper.GetGeopositionasync(); if (geoposition != null) { IsUnauthorizedAccess = false;// } } catch (System.UnauthorizedAccessException) { MyMessageDialogHelper.ShowUnauthorizedAccessMessageAsync(); } if (IsUnauthorizedAccess == false && Pageloadnum != 0) //如果不是第一次访问 { if (LastHourOfTime - System.DateTime.Now.Date.Hour > 2) //时间距离上次访问是否大于2小时 { rootObject = await MyWeatherHelper.GetWeatherRootObjectAsync(APIkey, geoposition.Coordinate.Point.Position.Latitude, geoposition.Coordinate.Point.Position.Longitude); Pageloadnum++; LastHourOfTime = System.DateTime.Now.Date.Hour; } } else { rootObject = await MyWeatherHelper.GetWeatherRootObjectAsync(APIkey, 39.088, 117.696184); Pageloadnum++; } } if (rootObject.msg != "ok") { MyMessageDialogHelper.ShowApiErrorMessageAsync(rootObject.status, rootObject.msg); } else { todayWeather.CityName = rootObject.result.city; //天津 todayWeather.Temp = rootObject.result.temp + "°"; //23 todayWeather.TempHigh = rootObject.result.temphigh + "°"; //30 todayWeather.TempLow = rootObject.result.templow + "°"; //10 todayWeather.WeatherDescription = rootObject.result.weather; //小雨 todayWeather.LastUpdateTime = rootObject.result.updatetime; //2018-04-12 todayWeather.AirQualityIndex = rootObject.result.aqi.aqi; //83 todayWeather.AqiLevel = "级别:" + rootObject.result.aqi.quality; //良 //todayWeather.Icon = $"ms-appx:///Assets/weathercn02/{rootObject.result.img}.png"; //0.png todayWeather.Icon = string.Format($"ms-appx:///Assets/weathercn02/{rootObject.result.img}.png"); todayWeather.AqiColor = rootObject.result.aqi.aqiinfo.color; //#FF7E00 todayWeather.Humidity = "湿度:" + rootObject.result.humidity + "%"; //83 DaliyWeatherListView.ItemsSource = DaliyWeather.GetWeathers(rootObject); } WeatherpagePrograssRing.IsActive = false; WeatherpagePrograssRing.Visibility = Visibility.Collapsed; TempHighFontIcon.Visibility = Visibility.Visible; TempLowFontIcon.Visibility = Visibility.Visible; AqiTblock.Visibility = Visibility.Visible; } }