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);
        }
Exemplo n.º 4
0
        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;
            }
        }