2011-11-10 12 views
12

मेरा ऐप ऑडियो प्लेलिस्ट के माध्यम से खेलने के लिए AVAudioPlayer का उपयोग करता है। मैंने आईओएस 4.3 और आईओएस 5 के बीच कोड नहीं बदला है। हालांकि, आईओएस 5 पर ऑडियो स्क्रीन लॉक पर रुकता है, भले ही मैंने श्रेणी को AVAudioSessionCategory प्लेबैक सेट किया हो।AVAudioPlayer स्क्रीन लॉक पर खेलना बंद कर देता है भले ही श्रेणी AVAudioSessionCategoryPlayback

मैंने आईओएस 4.3 और आईओएस 5 डिवाइस पर कोड का परीक्षण किया है और यह समस्या आईओएस 5 डिवाइस पर होती है।

क्या किसी और को इस समस्या का सामना करना पड़ा है? मुझे नुकसान हुआ है क्योंकि मुझे यह भी नहीं पता कि इस मुद्दे को डीबग करना शुरू करना है। मेरा डिबगिंग AVAudioSessionCategory सेटिंग की जांच के साथ शुरू हुआ और समाप्त हो गया।

कोड जहां मैं इसे कर रहा हूँ है:

[[AVAudioSession sharedInstance] setDelegate: self]; 
NSError *setCategoryError = nil; 
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError]; 

संपादित करें:

मैं पहले से ही लागू किया और संभाला audioPlayerBeginInterruption

# 2 संपादित किया है: हल! Rhythmic Fistman's Answer

यहां क्या हो रहा था और मैंने क्या किया। स्क्रीन लॉक होने पर भी आईओएस 5 परिवर्तन आपके ऐप को पृष्ठभूमि में धक्का देते हैं। इसका अर्थ यह है कि आपको अपने ऐप में पृष्ठभूमि ऑडियो को सक्षम करने की आवश्यकता है, और जो भी दृश्य/व्यू कंट्रोलर उस ऑडियो को पहले उत्तरदाता होने के लिए संभालने की ज़रूरत है।

चरण 1: Enable background audio in your app

चरण 2: Enable remote events and become the first responder on the viewcontroller/view responsible for handling your audio playlist

नोट: डिवाइस पर इस परीक्षण करने के लिए सुनिश्चित करें। सिम्युलेटर ऐसा लगता है जैसे कोड काम नहीं करता है।

उत्तर

12

आईओएस 5 में स्क्रीनलॉक बदल गया है, अब यह आपके ऐप को पृष्ठभूमि में भेजता है, इसलिए यदि आप अपने ऑडियो को जारी रखना चाहते हैं तो आपको अपनी ऑडियो.प्लिस्ट फ़ाइल में UIBackGroundModes के रूप में "ऑडियो" जोड़ना होगा।

इस दस्तावेज़ीकरण के लिए मुझे सबसे नज़दीकी चीज़ मिल सकती है, कुछ ऐप्पल devforumposts (लॉगिन आवश्यक) हैं।

+0

धन्यवाद! मुझे यह याद आया ... मैंने प्लेस्ट में बदलाव किए लेकिन यह अभी भी मदद नहीं करता है। हालांकि यह कुछ प्रगति करने के लिए एक अच्छी शुरुआत है .... – Sid

+1

बाहर निकलता है, यह सिम्युलेटर में काम नहीं करता है लेकिन डिवाइस पर काम करता है! धन्यवाद!मेरे लिए अगला कदम प्लेलिस्ट के माध्यम से चलाने के लिए पृष्ठभूमि कार्य सेट करना है, क्योंकि यह वर्तमान ट्रैक चलाने के बाद बंद हो जाता है। – Sid

+0

एक बार जब मैं इस मुद्दे के साथ कर रहा हूं, तो मैं वापस आने जा रहा हूं और अगले प्रश्नोत्तरी भटकने में सहायता के लिए इस प्रश्न को संपादित करने जा रहा हूं: डी – Sid

1

मुझे ऑडियो के साथ बहुत उपयोग नहीं किया जाता है, लेकिन क्या आपने हस्तक्षेप के बारे में देखा? मैंने कुछ ऐसा पढ़ा है (मेरी यादों में) कि जब बाधा उत्पन्न होती है तो ऑडियो को रोका जा सकता है, और यह फिर से खेलने के लिए आपका काम है।

लेकिन यह मेरी याददाश्त से कुछ ही आ रहा है। क्या उससे मदद हुई ?

+0

हाय ओलिवर, आपकी प्रतिक्रिया के लिए धन्यवाद। मैंने AudioPlayerBeginInterruption लागू किया है, और उस विधि में ब्रेकपॉइंट सेट किया है। ब्रेकपॉइंट हिट नहीं किया जा रहा है, इसलिए मुझे नहीं लगता कि यह कारण है, दुख की बात है। :) – Sid

+0

@Sid: जैसा कि आप चाहते हैं, मैं अपने प्रयासों की प्रगति को देखने के लिए अन्य लोगों की सहायता के लिए अपना उत्तर छोड़ सकता हूं, या आप इसे अपने प्रश्न में एक संपादन के रूप में सम्मिलित कर सकते हैं और फिर यदि आप चाहें तो मैं अपना उत्तर हटा सकता हूं अपने प्रश्न को "कोई जवाब नहीं" के रूप में चिह्नित करें। जैसा आपको पसंद। – Oliver

+0

उत्तर छोड़ दो :) मैं भी प्रश्न के लिए संपादन करूँगा .... धन्यवाद – Sid

संबंधित मुद्दे

 संबंधित मुद्दे