从 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(WindowsRuntimeComponent) 托管为 Windows 服务?