AudioPlayerAgent不支持的API

key*_*rdP 5 windows-phone-7 windows-phone windows-phone-7.1

我想在我的"我的"中使用这个"不支持的后台代理API"页面上列出的各种API AudioPlayerAgent.那页专门提到ScheduledTaskAgents:

有一组API无法在计划任务执行的代码中使用.这包括在实现ScheduledTaskAgent的类中包含的代码,作为从ScheduledTaskAgent调用的任何库中的代码.其中一些API由开发工具检测到,并会在运行或编译时引发错误.其他API受Windows Phone Marketplace应用程序提交过程的限制.

这是否意味着AudioPlayerAgents 可以使用该页面上列出的API?两者都继承Microsoft.Phone.BackgroundAgent,但在该页面上只明确提到了一个,我不确定是否AudioPlayerAgent认为是一个Scheduled Task.任何人都可以确认这种或那种方式吗?

Pau*_*tts 1

我认为“后台代理不支持的 API”也适用于后台音频,但BackgroundAudioPlayer. 我通过尝试将不受支持的 API 之一添加到代理并针对我的测试项目运行 SDK 的 Marketplace Test Kit(我尝试过Microsoft.Devices.VibrateController)来支持这一点。

这导致了预期的失败:

结果详情

[错误]:后台代理无法使用不受支持的 API。程序集 AudioPlaybackAgent1.dll 试图使用 Microsoft.Devices.VibrateController::get_Default。

[错误]:后台代理无法使用不受支持的 API。程序集 AudioPlaybackAgent1.dll 试图使用 Microsoft.Devices.VibrateController::Start。

[错误]:后台代理无法使用不受支持的 API。程序集 AudioPlaybackAgent1.dll 试图使用 Microsoft.Devices.VibrateController。

我建议您对照此工具检查您的 API,看看会得到什么结果。

这些 API 限制对我来说很有意义,因为您可以将其视为AudioPlayerAgent仅在有用户输入(例如用户按下播放、暂停、跳过)或相关音频事件发生时(例如曲目结束、新曲目开始)时运行的预定代理。准备就绪,开始播放)。后台音频代理上存在与计划代理上类似的 CPU 使用率、运行时间和内存限制。