Неподдерживаемые API для AudioPlayerAgent

Я хотел бы использовать различные API, перечисленные в этом "Неподдерживаемые API для фоновых агентов" из моего AudioPlayerAgent. На этой странице конкретно упоминается ScheduledTaskAgents:

Существует набор API, которые нельзя использовать в коде, выполняемом запланированной задачей. Сюда входит код, содержащийся в классах, которые реализуют ScheduledTaskAgent как код в любых библиотеках, которые вызываются из ScheduledTaskAgent. Некоторые из этих API обнаруживаются инструментами разработки и вызывают ошибку во время выполнения или компиляции. Другие API ограничены процессом отправки приложений в Windows Phone Marketplace.

Означает ли это, что AudioPlayerAgents может использовать API, перечисленные на этой странице? Оба наследуют Microsoft.Phone.BackgroundAgent, но только один явно упоминается на этой странице, и я не уверен, считается ли AudioPlayerAgent Scheduled Task. Кто-нибудь может подтвердить так или иначе?


person keyboardP    schedule 02.02.2012    source источник


Ответы (1)


Я думаю, что «Неподдерживаемые API-интерфейсы фоновых агентов» относятся и к фоновому звуку, за очевидным исключением BackgroundAudioPlayer. Я подкрепил это, попытавшись добавить один из неподдерживаемых API в агент и запустив тестовый комплект SDK Marketplace для своего тестового проекта (я пробовал 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 как о запланированном агенте, который запускается только тогда, когда есть пользовательский ввод (например, пользователь нажимает кнопку воспроизведения, паузы, пропуска) или когда происходит соответствующее аудио событие (например, дорожка заканчивается, новая дорожка готово, начинается воспроизведение). Для агентов фонового звука существуют такие же ограничения по использованию ЦП, времени выполнения и памяти, как и для запланированных агентов.

person Paul Annetts    schedule 02.02.2012
comment
Спасибо, похоже, что эта страница MSDN также охватывает AudioPlayerAgents. - person keyboardP; 02.02.2012