После сбоя камеры сканирования Qr-кода Windows phone

#c# #windows-phone-8.1 #zxing #windows-10-universal #windows-10-mobile

#c# #windows-phone-8.1 #zxing #windows-10-универсальный #windows-10-mobile

Вопрос:

У меня есть приложение с qr-ридером. Он был разработан для WindowsPhone 8.1 (WinRT), позже обновлен до универсального Windows Phone. На WP 8.1 он работает правильно. Проблема с Windows 10 mobile. Сценарий: пользователь переходит на страницу сканера, сканирует, декодирует qr (с использованием Zxing decode), отправляет информацию на сервер и после успешного сканирования возвращается к последнему просмотру. Иногда, когда пользователь снова переходит к просмотру сканера, предварительный просмотр полностью серый, и выдается исключение: не удалось найти текст, связанный с этим кодом ошибки -System.Исключение. Это произошло при этом методе:

   private async void InitializeQrCode()
    {
        if (_mediaCapture == null)
        {
            _mediaCapture = new MediaCapture();
            var deviceInformation = await GetCameraDeviceInfoAsync(Windows.Devices.Enumeration.Panel.Back);
            var settings = InitCaptureSettings(deviceInformation);


            try
            {
                await _mediaCapture.InitializeAsync(settings);
            }
            catch (Exception ex)
            {
                StopAndDisposeCamera();
                scanButton.IsEnabled = false;
                MessageDialog msgbox = new MessageDialog("error");
                await msgbox.ShowAsync();
                Xamarin.Insights.Report(ex);
            }

            if (_mediaCapture != null)
            {
                _mediaCapture.SetPreviewRotation(VideoRotation.Clockwise90Degrees);
                _mediaCapture.SetRecordRotation(VideoRotation.Clockwise90Degrees);
                var torch = _mediaCapture.VideoDeviceController.TorchControl;
                if (torch.Supported) torch.Enabled = true;
                SetFocus();
            }
        }
  

точно на:

  await _mediaCapture.InitializeAsync(settings); 
  

После этого камера не работает. Когда я запускаю приложение камеры по умолчанию, оно отображает черный экран с информацией о том, что я должен перезагрузить устройство и код ошибки: 0xe80110001. После перезагрузки все в порядке, при этом возникает следующее исключение…
Приложение было протестировано на lumia 523, который был обновлен с wp 8.1 до wp 10.
Вот код всей страницы: http://pastebin.com/2aNX9T5m
Есть идеи, что не так? Это проблема с Windows 10 Mobile?
Заранее спасибо за любую помощь. 🙂

Комментарии:

1. создаете ли вы какие-либо журналы любого рода, которые вы можете прочитать?

2. Нет. Но в Xamarin insights у меня было немного больше информации, например, — System. Не удалось найти текст, связанный с этим кодом ошибки. Не удалось найти текст, связанный с этим кодом ошибки. Необработанная System.Runtime. Сервисы компилятора. TaskAwaiter. ThrowForNonSuccess (задача задачи) System.Runtime. Сервисы компилятора. TaskAwaiter. Обработкаnonsuccessanddebuggernotification(задача задачи) System.Runtime. Сервисы компилятора. TaskAwaiter. GetResult() Тест. Страницы. Сканер. <InitializeQrCode>d__15.MoveNext()

3. Вы использовали это [ZXing.Net.Mobile] ( github.com/Redth/ZXing.Net.Mobile ) библиотека или этот пакет? У вас был другой windows 10 mobile для тестирования? Не могли бы вы протестировать его на другом телефоне? Я видел, как вы загружали Scanner класс, вам удобно загружать весь проект воспроизведения? Вы можете свернуть свой проект, чтобы просто воспроизвести эту проблему.

4. У меня есть только эта lumia, но я получил информацию от пользователя (win10 mobile) о сбое приложения, когда пользователь сканировал qr-код. Я воспроизвел эту ошибку, вставил строку с ошибками в блок try amp; catch. Я не могу использовать ZXing.Net.Mobile с MobileBarcodeScanner, потому что этот проект был создан в Windows RT. Поэтому я должен «сделать снимок» и декодировать его (используя Zxing decode img). Я постараюсь подготовить образец с помощью этой части сканера.

5. Наконец, я перестраиваю свою страницу сканера, используя эту библиотеку github.com/mmaitre314/VideoEffect . Теперь его работа намного лучше.