Невозможно установить формат кадра Vuforia в развернутой версии - PullRequest
1 голос
/ 26 сентября 2019

Я разрабатываю AR-приложение, используя Vuforia для целевой модели и Zxing для сканирования QR-кода.
Я настроил проект так, как это описано на странице Vuforia.Пока я в Playmode, все работает нормально, но как только я его собрал, он не может установить формат кадра, несмотря на отсутствие ошибок компиляции при сборке.

Я использую:

  • Unity 2018.4.8f1
  • Vuforia 8.3.8
  • .Net 4.7

Я пробовал разные форматы фреймов, дал единство прав администратора, включил антивирусный сканер

        private IEnumerator camInitializing()
        {
            //Wait for vuforia to initialize
            yield return new WaitForSeconds(4);
            if (CameraDevice.Instance == null)
            {
                Debug.LogError("No Instance of Camera could be found");
            }
            Debug.LogError( CameraDevice.Instance.IsActive());

            availableFormat = PIXEL_FORMAT.RGBA8888;
            if (!CameraDevice.Instance.SetFrameFormat(PIXEL_FORMAT.RGBA8888,true))
            {
                availableFormat = PIXEL_FORMAT.RGB888;
                if (!CameraDevice.Instance.SetFrameFormat(PIXEL_FORMAT.RGB888,true))
                {
                    availableFormat = PIXEL_FORMAT.RGB565;
                    if (!CameraDevice.Instance.SetFrameFormat(PIXEL_FORMAT.RGB565, true))
                    {
                        availableFormat = PIXEL_FORMAT.GRAYSCALE;
                        if (!CameraDevice.Instance.SetFrameFormat(PIXEL_FORMAT.GRAYSCALE, true))
                        {
                            availableFormat = PIXEL_FORMAT.UNKNOWN_FORMAT;
                            Debug.LogError("Couldnt Initiate Camera Format");
                        }
                    }
                }
            }

            var isAutoFocus = CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
            if (!isAutoFocus)
            {
                CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_NORMAL);
            }

            Debug.Log("QR Scanner ready");

            _isInitialized = true;
            DecoderThread = new Thread(decode);
            DecoderThread.Name = "T0, _decoder";
            DecoderThread.Start();
            pauseThread = true;

        }

Программа должна запуститься через несколько секунд и инициализировать формат фреймов, чтобы я мог вызвать getCamerImage, чтобы получитьИзображение для декодирования.Невозможно установить FrameFormat, который приводит к ошибке в GetCameraImage.При создании решения в Visual Studio можно найти следующие две ошибки:

Исключение, выданное в 0x773DFD82 (KernelBase.dll) в zXingVuforiaTest.exe: Ошибка начала WinRT - 0x80040111: 'Windows.UI.WindowManagement.DisplayRegion.onecoreuap \ drivers \ mobilepc \ Датчики \ Convergence \ api \ winrt \ public \ internal \ viewpositiontrackerinternal.h (94) \ Windows.Devices.Sensors.dll! 1FE833ED: (вызывающий абонент: 1FE8240F) Исключение (11) tid (17f0) 80040111 ClassFactorykann angeforderte Klasse nicht liefern Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: wil :: ResultException в ячейке памяти 0x0C53CA78.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: [rethrow] в расположении памяти 0x00000000.onecoreuap \ drivers \ mobilepc \ Sensor \ Convergence \ api \ winrt \ public \ internal \ sensor.cpp (179) \ Windows.Devices.Sensors.dll! 1FE7F4AC: (вызывающий абонент: 1FE7B61C) Исключение (12) tid (17f0) 80070490 ЭлементNicht Gefunden.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: wil :: ResultException в ячейке памяти 0x0C53CCC0.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: [rethrow] в расположении памяти 0x00000000.onecoreuap \ drivers \ mobilepc \ Датчики \ Convergence \ api \ winrt \ public \ internal \ sensorserver.cpp (46) \ Windows.Devices.Sensors.dll! 1FE78581: (вызывающий абонент: 1FE7593F) ReturnHr (7) tid (17f0) 80070490 ЭлементNicht Gefunden.Нить 0x48a8 вышла с кодом 0 (0x0).Исключение, выданное в 0x773DFD82 (KernelBase.dll) в zXingVuforiaTest.exe: ошибка источника WinRT - 0x80040111: «Windows.UI.WindowManagement.DisplayRegion».onecoreuap \ drivers \ mobilepc \ Датчики \ Convergence \ api \ winrt \ public \ internal \ viewpositiontrackerinternal.h (94) \ Windows.Devices.Sensors.dll! 1FE833ED: (вызывающий абонент: 1FE8240F) Исключение (13) tid (17f0) 80040111 ClassFactorykann angeforderte Klasse nicht liefern Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: wil :: ResultException в ячейке памяти 0x0C53CA48.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: [rethrow] в расположении памяти 0x00000000.onecoreuap \ drivers \ mobilepc \ Датчики \ Convergence \ api \ winrt \ public \ internal \ sensor.cpp (179) \ Windows.Devices.Sensors.dll! 1FE7F4AC: (вызывающий абонент: 1FE7B61C) Исключение (14) tid (17f0) 80070490 ЭлементNicht Gefunden.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: wil :: ResultException в расположении памяти 0x0C53CC90.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: [rethrow] в расположении памяти 0x00000000.onecoreuap \ drivers \ mobilepc \ Датчики \ Convergence \ api \ winrt \ public \ internal \ sensorserver.cpp (46) \ Windows.Devices.Sensors.dll! 1FE78581: (абонент: 1FE7593F) ReturnHr (8) tid (17f0) 80070490 ЭлементNicht Gefunden.Исключение, выданное в 0x773DFD82 (KernelBase.dll) в zXingVuforiaTest.exe: ошибка источника WinRT - 0x80040111: «Windows.UI.WindowManagement.DisplayRegion».onecoreuap \ водители \ MobilePC \ Датчики \ схождение \ апи \ WinRT \ Public \ внутренний \ viewpositiontrackerinternal.h (94) \ Windows.Devices.Sensors.dll 1FE833ED!:(вызывающий абонент: 1FE8240F) Исключение (15) tid (17f0) 80040111 ClassFactory kann angeforderte Klasse nicht liefern Исключение, выброшенное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: wil :: ResultException в расположении памяти 0x0C53CAB8.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: [rethrow] в расположении памяти 0x00000000.onecoreuap \ drivers \ mobilepc \ Sensor \ Convergence \ api \ winrt \ public \ internal \ sensor.cpp (179) \ Windows.Devices.Sensors.dll! 1FE7F4AC: (вызывающий абонент: 1FE7B61C) Исключение (16) tid (17f0) 80070490 ЭлементNicht Gefunden.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: wil :: ResultException в расположении памяти 0x0C53CD00.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: [rethrow] в расположении памяти 0x00000000.onecoreuap \ drivers \ mobilepc \ Датчики \ Convergence \ api \ winrt \ public \ internal \ sensorserver.cpp (46) \ Windows.Devices.Sensors.dll! 1FE78581: (вызывающий абонент: 1FE7593F) ReturnHr (9) tid (17f0) 80070490 ЭлементNicht Gefunden.Не удалось установить формат фрейма

, и в некоторых собственных кодах Vuforia: int32_t returnValue = il2cppPInvokeFunc(____licenseKey0_marshaled он останавливает отладку, потому что в некоторых доступах отказано

...