मेरे पास एक ऐप है जो नेट से वीडियो स्ट्रीम करता है और डिवाइस पर या एयरप्ले के माध्यम से MPMoviePlayerController
ऑब्जेक्ट का उपयोग करके इसे चलाता है।पृष्ठभूमि मीडिया प्लेबैक के दौरान MPMoviePlayerController अधिसूचनाओं का जवाब
ऐप पृष्ठभूमि ऑपरेशन का समर्थन करता है और इसके प्लेलिस्ट फ़ाइल में आवश्यक UIBackgroundModes
कुंजी के भीतर सूचीबद्ध 'ऑडियो' विकल्प है।
एयरप्ले पर खेलते समय, ऐप को पृष्ठभूमि में सफलतापूर्वक धक्का दिया जा सकता है और वीडियो ठीक से खेलना जारी रखता है। अब तक सब ठीक है.
Apple documentation के अनुसार:
ऑडियो कुंजी सहित प्रणाली चौखटे कि वे खेल जारी रखने के लिए और उचित अंतराल पर अनुप्रयोग के लिए आवश्यक कॉलबैक बनाना चाहिए बताता है। यदि ऐप में यह कुंजी शामिल नहीं है, तो ऐप द्वारा चलाए जाने वाले किसी भी ऑडियो ऐप को पृष्ठभूमि पर ले जाने पर रोकता है।
हालांकि, इन कॉलबैक नहीं किए जा रहे हैं। सूचनाएं MPMoviePlayerController
और AVPlayer
से जुड़े लोगों टाइमर आधारित कॉलबैक कि निरीक्षण के उद्देश्य से प्लेबैक स्थिति और प्रदर्शन आंकड़ों पर नजर रखने के साथ एक साथ प्लेबैक के दौरान भेजें:
एप्लिकेशन कॉलबैक के दो प्रकार का उपयोग करता है।
एप्पल के नोटों को देखते हुए, मैं निश्चित रूप से इतना है कि एप्लिकेशन MPMoviePlayerPlaybackStateDidChangeNotification
, MPMoviePlayerPlaybackDidFinishNotification
और MPMoviePlayerLoadStateDidChangeNotification
का जवाब दे सकते कॉलबैक का पहला प्रकार प्राप्त करने की अपेक्षा है, लेकिन ऐसा नहीं होता है।
क्या किसी को पता है कि पृष्ठभूमि एयरप्ले प्लेबैक के दौरान इन्हें प्राप्त करना संभव है और यदि ऐसा है, तो यह कैसे प्राप्त हुआ?
** कृपया ध्यान दें: अग्रभूमि में चलते समय ऐप सही तरीके से काम करता है और नोटिफिकेशन ठीक प्राप्त करता है। यह केवल तभी होता है जब पृष्ठभूमि में धक्का दिया जाता है और एयरप्ले पर खेलता है कि अधिसूचनाएं प्राप्त नहीं होती हैं।
इसी तरह, वीडियो पृष्ठभूमि में एयरप्ले पर ठीक से खेलता है। यह केवल उन अधिसूचनाएं हैं जिन्हें प्राप्त नहीं किया गया है **
हां, डिवाइस के माध्यम से ऑडियो बजाना ठीक काम करता है। दुर्भाग्यवश, यह एयरप्ले और वीडियो है जिसकी आवश्यकता है मुझे डर है। – reddersky
@virorum यदि आप समीकरण से एयरप्ले को हटाते हैं, तो क्या कॉलबैक कॉल किया जाता है? यदि ऐसा है, तो यह एक ऐप्पल बग की तरह लगता है। अन्यथा शायद एमएमआईसी अपना कोड साझा करने के लिए बहुत दयालु होगा;) – Danra
कॉल फोरग्राउंड में किए जाने पर किया जाता है। यह केवल तब होता है जब पृष्ठभूमि में एयरप्ले पर खेलना होता है जो वे नहीं करते हैं। मुझे लगता है कि यह एक ऐप्पल बात हो सकती है। – reddersky