从 UWP BackgroundTask 调用 MediaCapture.InitializeAsync

Posted

技术标签:

【中文标题】从 UWP BackgroundTask 调用 MediaCapture.InitializeAsync【英文标题】:Call MediaCapture.InitializeAsync from UWP BackgroundTask 【发布时间】:2016-01-31 21:32:16 【问题描述】:

我试图在 UWP 应用程序的 BackgroundTask 期间拍照。 我在documentation 读到 InitializeAsync 应该在 STA 线程上,但是有什么方法可以从 MTA 中实现吗?我不知道,比如 Dispatchers 或其他解决方法。

在我的实际场景中,当我在 InitializeAsync 之后调用 CapturePhotoToStreamAsync 时,会出现以下异常:

System.Runtime.InteropServices.COMException (0xC00D3E82):媒体 源不能从停止状态进入暂停状态。

有趣的是,如果我的应用没有暂停,它就可以工作。

【问题讨论】:

【参考方案1】:

我认为你不会让它在 BackgroundTask 中工作 - as MSDN says:

应该从应用的主 UI 线程调用 InitializeAsync。有关详细信息,请参阅启用敏感设备的指南。

【讨论】:

以上是关于从 UWP BackgroundTask 调用 MediaCapture.InitializeAsync的主要内容,如果未能解决你的问题,请参考以下文章

应用更新上的 UWP BackgroundTask

我们能否将 UWP BackgroundTask(WindowsRuntimeComponent) 托管为 Windows 服务?

UWP -- Background Task 深入解析

UWP 从后台任务设置锁屏/壁纸

删除多个文件时的 UWP StorageLibraryContentChangedTrigger

Uwp 在用户登录时执行后台任务