2012-02-02 11 views
5

Mi piacerebbe utilizzare varie API elencate in questa pagina "Unsupported APIs for Background Agents", dal mio AudioPlayerAgent. Quella pagina menziona specificamente ScheduledTaskAgents:API non supportate per AudioPlayerAgent

C'è un insieme di API che non può essere utilizzato in codice eseguito da un'operazione pianificata . Questo include il codice contenuto nelle classi che implementano ScheduledTaskAgent come codice in tutte le librerie chiamate da un ScheduledTaskAgent . Alcune di queste API vengono rilevate dagli strumenti di sviluppo e generano un errore in fase di esecuzione o di compilazione. Le altre API sono limitate dal processo di invio delle applicazioni di Windows Phone Marketplace .

Questo significa che AudioPlayerAgentspossono utilizzare le API elencati in quella pagina? Entrambi ereditano Microsoft.Phone.BackgroundAgent, ma solo uno è esplicitamente menzionato in quella pagina e non sono sicuro che uno AudioPlayerAgent sia considerato un Scheduled Task. Qualcuno può confermare in un modo o nell'altro?

risposta

1

Penso che per "API non supportate dagli agenti in background" si applichi anche all'audio in background, con l'ovvia eccezione di BackgroundAudioPlayer. Ho eseguito il backup cercando di aggiungere una delle API non supportate all'agente e di eseguire il test kit del marketplace dell'SDK sul mio progetto di test (ho provato Microsoft.Devices.VibrateController).

Questo ha causato l'errore atteso:

risultati Dettagli

[ERRORE]: API non supportata non può essere utilizzato da un agente di sfondo. Assembly AudioPlaybackAgent1.dll stava tentando di utilizzare Microsoft.Devices.VibrateController :: get_Default.

[ERRORE]: l'API non supportata non può essere utilizzata da un agente in background. Assembly AudioPlaybackAgent1.dll stava tentando di utilizzare Microsoft.Devices.VibrateController :: Start.

[ERRORE]: l'API non supportata non può essere utilizzata da un agente in background. Assembly AudioPlaybackAgent1.dll stava cercando di utilizzare Microsoft.Devices.VibrateController.

Ti consiglierei di controllare le tue API in contro a questo strumento e vedere quale risultato ottieni.

Queste restrizioni API ha senso per me, come si può pensare di AudioPlayerAgent come un agente pianificato che viene eseguito solo quando c'è l'input dell'utente (ad esempio, l'utente preme play, pausa, saltare) o quando un evento audio rilevante accade (ad esempio, pista termina, la nuova traccia è pronta, la riproduzione inizia). L'utilizzo della CPU, i tempi di esecuzione e i vincoli di memoria simili esistono sugli agenti audio in background come fanno sugli agenti programmati.

+0

Grazie, sembra che la pagina MSDN copra anche 'AudioPlayerAgents'. – keyboardP

Problemi correlati