2012-02-02 5 views
5

के लिए असमर्थित एपीआई मैं अपने AudioPlayerAgent के भीतर से "Unsupported APIs for Background Agents" पृष्ठ पर सूचीबद्ध विभिन्न एपीआई का उपयोग करना चाहता हूं। यही कारण है कि पेज विशेष रूप से उल्लेख है ScheduledTaskAgents:ऑडियोप्लेयरएजेंट

वहाँ है कि एक अनुसूचित टास्क द्वारा निष्पादित कोड में नहीं किया जा सकता एपीआई का एक सेट है। इसमें कक्षाओं में निहित कोड शामिल है जो अनुसूचित टास्कएजेंट को किसी भी पुस्तकालय में कोड के रूप में लागू करता है जिसे शेड्यूल्ड टास्कएजेंट से बुलाया जाता है। इनमें से कुछ एपीआई विकास उपकरण द्वारा खोजे जाते हैं और रन या संकलन समय पर एक त्रुटि उठाएंगे। अन्य एपीआई विंडोज फोन मार्केटप्लेस एप्लिकेशन सबमिशन प्रक्रिया द्वारा प्रतिबंधित हैं।

इसका मतलब यह है कि AudioPlayerAgents उस पृष्ठ पर सूचीबद्ध API का उपयोग कर सकते हैं? दोनों Microsoft.Phone.BackgroundAgent का उत्तराधिकारी है, लेकिन उस पृष्ठ पर केवल एक का स्पष्ट रूप से उल्लेख किया गया है और मुझे यकीन नहीं है कि AudioPlayerAgent को Scheduled Task माना जाता है। क्या कोई एक तरफ या दूसरे की पुष्टि कर सकता है?

उत्तर

1

मुझे लगता है कि "पृष्ठभूमि एजेंटों से असमर्थित एपीआई" के लिए भी BackgroundAudioPlayer के स्पष्ट अपवाद के साथ पृष्ठभूमि ऑडियो पर लागू होता है। मैंने एजेंट को असमर्थित एपीआई में से एक को जोड़ने और मेरी टेस्ट प्रोजेक्ट के खिलाफ एसडीके की मार्केटप्लेस टेस्ट किट चलाने की कोशिश करके इसका समर्थन किया (मैंने Microsoft.Devices.VibrateController की कोशिश की)।

परिणाम विवरण

[ERROR]:: असमर्थित एपीआई एक पृष्ठभूमि एजेंट द्वारा नहीं किया जा सकता

यह उम्मीद की विफलता का कारण बना। असेंबली AudioPlaybackAgent1.dll Microsoft.Devices.VibrateController :: get_Default का उपयोग करने का प्रयास कर रहा था।

[त्रुटि]: असमर्थित API का उपयोग पृष्ठभूमि एजेंट द्वारा नहीं किया जा सकता है। असेंबली AudioPlaybackAgent1.dll Microsoft.Devices.VibrateController :: प्रारंभ करने का प्रयास कर रहा था।

[त्रुटि]: असमर्थित API का उपयोग पृष्ठभूमि एजेंट द्वारा नहीं किया जा सकता है। असेंबली AudioPlaybackAgent1.dll Microsoft.Devices.VibrateController का उपयोग करने का प्रयास कर रहा था।

मैं आपको सलाह देता हूं कि आप इस उपकरण के विरुद्ध अपने एपीआई जांचें और देखें कि आपको क्या परिणाम मिलते हैं।

ये एपीआई प्रतिबंध मुझे समझ में आते हैं क्योंकि आप AudioPlayerAgent को एक निर्धारित एजेंट के रूप में सोच सकते हैं जो केवल उपयोगकर्ता इनपुट (जैसे उपयोगकर्ता प्रेस प्ले, रोकें, छोड़ें) या जब कोई प्रासंगिक ऑडियो ईवेंट होता है (उदाहरण के लिए ट्रैक समाप्त होता है, नया ट्रैक तैयार है, प्लेबैक शुरू होता है)। इसी तरह के सीपीयू उपयोग, रन टाइम और मेमोरी बाधाएं बैकग्राउंड ऑडियो एजेंटों पर मौजूद हैं क्योंकि वे अनुसूचित एजेंटों पर करते हैं।

+0

धन्यवाद, ऐसा लगता है कि एमएसडीएन पृष्ठ में 'ऑडियोप्लेयर एगेंट्स' भी शामिल है। – keyboardP