विंडोज फोन 8 ऐप खेलना शुरू नहीं करता है। हम एमपी 3 फ़ाइलों को चलाने के लिए AudioStreamingAgent/Mp3MediaStreamSource का उपयोग कर रहे हैं जिन्हें स्थानीय रूप से कैश किया जा सकता है या वेब से लोड किया जा सकता है।BackgroundAudioPlayer
फ़ाइल डाउनलोड होने पर हम अभी भी ऑडियोस्ट्रीमिंगएजेंट/एमपीएम मीडियास्ट्रीमसोर्स का उपयोग कर रहे हैं यह सुनिश्चित करने के लिए कि हम चालू होने के दौरान अगली फाइल को सटीक करने में सक्षम होंगे। हां, हम कैश की गई फ़ाइलों के लिए केवल WP8 अंतर्निर्मित प्लेयर का उपयोग कर सकते हैं, लेकिन हम इस मामले में अगली फ़ाइल को सटीक नहीं कर पाएंगे।
समस्या: कई ट्रैक के बाद, पृष्ठभूमिऑडियो प्लेयर अब और खेलना शुरू नहीं कर देता है।
- AudioStreamingAgent.OnBeginStreaming निष्पादित किया जाता है MediaStreamSource बनाने के लिए
- Сode निष्पादित किया जाता है
- AudioStreamer.SetSource विधि नई MediaStreamSource उदाहरण के साथ क्रियान्वित किया जाता है
- PlayStateChanged PlayState.TrackReady और player.Play (साथ पृष्ठभूमि प्रक्रिया में निकाल दिया जाता है) इस मामले में बुलाया जाता है।
आखिरकार, मुझे लगता है कि ट्रैक यूवीसी में दिखाया गया है, लेकिन यह राज्य "रोका गया" है। यूवीसी में "प्ले" दबाकर पृष्ठभूमि में ऑनयूसरएक्शन कॉल करता है जो प्लेयर को कॉल करता है। प्ले()। कुछ नहीं बदलता है।
Sample with problem reproduction, VS 2012 (नमूना Background Audio Streamer Sample पर आधारित है)
कदम नमूना कोड के साथ पुन: पेश करने:
- बटन दबाएं एप्लिकेशन इंस्टॉल करें "प्रीलोड पटरियों"। यह एक्सएपी से पृथक स्टोरेज में एमपी 3 फाइलों की प्रतिलिपि बनाता है।
- "ट्रैक 1" बटन दबाएं। ट्रैक शुरू होने के बाद, "ट्रैक 2" बटन दबाएं। फिर, ट्रैक 2 खेलना शुरू करने के बाद, "ट्रैक 3" बटन दबाएं।
- "ट्रैक *" बटन ट्रैक दबाए जाने तक चरण 3 को जारी रखना जारी नहीं है। (picture देखें)
- ज्यादातर मामलों में अन्य ट्रैक बटन दबाने कोई फर्क नहीं पड़ता
- अंतिम चयनित ट्रैक UVC में और पृष्ठ पर प्रगति पट्टी के ऊपर दोनों एक सक्रिय ट्रैक के रूप में दिखाया जाएगा।
समस्या WP8 और WP8.1 डेवलपर पूर्वावलोकन दोनों पर डिवाइस और एमुलेटर दोनों पर पुन: उत्पन्न की जाती है।
अद्यतन: स्मृति से बाहर चलना मामला नहीं है। sample code का उपयोग करके समस्या को पुन: उत्पन्न करना और backgroundlog.xml फ़ाइल को देखकर दिखाता है कि sample uses only 6 Mb out of 20 Mb allowed इस तस्वीर पर अंतिम कॉलम "मेमोरी उपयोग | अधिकतम मेमोरी उपयोग की अनुमति है"
शायद तुम एक कदम पीछे जाएं और अपने डिजाइन पुनर्मूल्यांकन के लिए की जरूरत है; जो मैंने एकत्र किया है, उससे आप मूल रूप से एक ट्रैक चलाने की कोशिश कर रहे हैं और अगली फाइल को सटीक कर रहे हैं जबकि आप अभी भी खेल रहे हैं (अगर मैं गलत हूं तो मुझे सही करें)। यह स्वयं को लागू करने के लिए एक बहुत ही आसान चीज की तरह लगता है, क्या आपने ऐसा करने पर विचार किया है? – Sam
सैम, समस्या स्वयं डिजाइन के साथ नहीं है लेकिन WP8 के साथ है। नमूना कोई सटीक नहीं करता है - यह केवल मीडियास्ट्रीमसोर्स/ऑडियोस्ट्रीमिंगएजेंट के माध्यम से स्थानीय फाइलें चला रहा है। अगली फ़ाइल कैशिंग प्लेबैक के लिए MediaStreamSource का उपयोग करने का एक कारण है। यह कारण ही नहीं है। दुर्भाग्य से, हम डिज़ाइन को बदल नहीं सकते क्योंकि यह एकमात्र दृष्टिकोण है जो हमें फिट करता है। –
ओह मैं देखता हूं; तो आपकी मूल आवश्यकता सिर्फ स्थानीय एमपी 3 फाइलों को चलाने के लिए है? मैं यह निर्धारित करने की कोशिश कर रहा हूं कि आप यहां क्या कर रहे हैं (आपके मूल लक्ष्य क्या हैं) इसलिए मैं बेहतर सहायता कर सकता हूं। – Sam