SensorStreamViewer, HoloLensForCV: «Не удалось инициализировать захват носителя: доступ запрещен». - PullRequest
0 голосов
/ 04 июля 2018

Я пытался получить поток датчика от HoloLens, поэтому я использовал HoloLensForCV. (https://github.com/Microsoft/HoloLensForCV)

Сначала я проверил, что SensorStreamViewer проект работает, но через несколько дней я обновил HoloLens, а затем он не работает. Я получаю ошибку Access is Denied

Захват камеры HoloLens

Захват камеры HoloLens для конфиденциальности

Возможность веб-камеры в режиме захвата VS

И, я полагаю, ошибка возникает в этой части (SensorStreamViewer.xaml.cpp).

// Initialize MediaCapture with the specified group.
// This must occur on the UI thread because some device families
// (such as Xbox) will prompt the user to grant consent for the
// app to access cameras.
// This can raise an exception if the source no longer exists,
// or if the source could not be initialized.
return create_task(m_mediaCapture->InitializeAsync(settings))
    .then([this](task<void> initializeMediaCaptureTask)
{
    try
    {
        // Get the result of the initialization. This call will throw if initialization failed
        // This pattern is docuemnted at https://msdn.microsoft.com/en-us/library/dd997692.aspx
        initializeMediaCaptureTask.get();
        m_logger->Log("MediaCapture is successfully initialized in shared mode.");
        return true;
    }
    catch (Exception^ exception)
    {
        m_logger->Log("Failed to initialize media capture: " + exception->Message);
        return false;
    }
});

Когда я запускаю другой проект, такой как 'ComputeOnDevice', я вижу окно с сообщением о предупреждении, запрашивающее доступ к камере. Однако, когда я запускаю «SensorStreamViewer», я не вижу никаких предупреждений о доступе к камере.

Я начал отладку и столкнулся с этим сообщением об ошибке.

Исключение, выданное в 0x772C3332 в SensorStreamViewer.exe: исключение Microsoft C ++: Platform :: AccessDeniedException ^ в ячейке памяти 0x0180E680. HRESULT: 0x80070005 Доступ запрещен. Информация WinRT: требуемая возможность устройства не была объявлена ​​в манифесте.

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 13 февраля 2019

В вашем файле Package.appxmanifest вам необходимо добавить следующую возможность.

<rescap:Capability Name="perceptionSensorsExperimental" />
...