Вызов MediaCapture.InitializeAsync из фоновой задачи UWP

Я пытаюсь сделать снимок во время BackgroundTask в приложении UWP. Я прочитал в документацию, что InitializeAsync должен быть в потоке STA, но есть ли способ добиться этого от MTA? Я не знаю, что-то вроде диспетчеров или других обходных путей.

В моем реальном сценарии, когда я вызываю CapturePhotoToStreamAsync сразу после InitializeAsync, возникает следующее исключение:

System.Runtime.InteropServices.COMException (0xC00D3E82): источник мультимедиа не может перейти из состояния остановки в состояние паузы.

Самое смешное, что это работает, если мое приложение не приостановлено.


person P. Ted    schedule 31.01.2016    source источник


Ответы (1)


Я не думаю, что вы заставите его работать в BackgroundTask - как говорит MSDN:

InitializeAsync следует вызывать из основного потока пользовательского интерфейса вашего приложения. Дополнительные сведения см. в разделе Рекомендации по включению конфиденциальных устройств.

person Romasz    schedule 01.02.2016