AudioPlayerAgent不支持的API
我想使用在"Unsupported APIs for Background Agents"页面上列出的各种API,从我的AudioPlayerAgent
中。该网页特别提到ScheduledTaskAgents
:AudioPlayerAgent不支持的API
有不能在由 计划任务执行的代码可以使用一组API。这包括在实现 ScheduledTaskAgent的类中包含的代码,作为从 ScheduledTaskAgent调用的任何库中的代码。其中一些API由开发工具 检测到,并会在运行或编译时引发错误。其他API是 受Windows Phone Marketplace应用程序提交 进程限制。
这是否意味着AudioPlayerAgents
可以使用该页面上列出的API的?两者都继承Microsoft.Phone.BackgroundAgent
,但在该页面上只明确提及一个,我不确定AudioPlayerAgent
是否被认为是Scheduled Task
。任何人都可以确认一种方式或其他?
我认为对于“来自后台代理的不支持的API”也适用于后台音频,除了BackgroundAudioPlayer
这个明显的例外。我通过尝试向代理添加一个不支持的API并针对我的测试项目运行SDK的Marketplace测试工具包(我试过Microsoft.Devices.VibrateController
)来支持这一点。
这引起了预期故障:
结果详细
[ERROR]:不支持的API不能由背景剂一起使用。 Assembly AudioPlaybackAgent1.dll试图使用Microsoft.Devices.VibrateController :: get_Default。
[错误]:不支持的API不能被后台代理使用。 Assembly AudioPlaybackAgent1.dll试图使用Microsoft.Devices.VibrateController :: Start。
[错误]:不支持的API不能被后台代理使用。 Assembly AudioPlaybackAgent1.dll试图使用Microsoft.Devices.VibrateController。
我建议你检查你的API对这个工具,看看你会得到什么结果。
这些API限制对我来说很有意义,因为您可以将AudioPlayerAgent
想象为仅在用户输入时(例如用户按下播放,暂停,跳过)或者发生相关音频事件时才运行的预定代理程序(例如,跟踪结束,新轨道准备就绪,播放开始)。背景音频代理上存在类似的CPU使用情况,运行时间和内存限制,因为它们在预定的代理上执行。
谢谢,它似乎是MSDN页面也涵盖'AudioPlayerAgents'。 – keyboardP 2012-02-02 19:52:50