आईओएस 6 में हेडर को देखते हुए, ऐसा लगता है कि AVAudioSessionDelegate अब बहिष्कृत है।
आईओएस 6 में AVAudioSessionInterruptionNotification
का उपयोग करें।
अद्यतन: यह काम नहीं किया। मुझे लगता है कि ढांचे में एक बग है।
हां, मेरे अनुभव में, प्रारंभ में रुकावट, न ही नए दस्तावेज AVAudioSessionInterruptionNotification ठीक से काम करते हैं। मुझे स्थानीय ध्वज का उपयोग करके प्लेयर की स्थिति को ट्रैक करना था, फिर बाधाओं से वसूली को ट्रैक करने के लिए endInterruption:withFlags:
विधि को संभालें।
आईओएस 6 के साथ, बाधा से शुरू होने से आपके ऑडियोप्लेयर को सही जगह पर रखा जाएगा, इसलिए मेरे AVAudioPlayer के अंतिम ज्ञात प्ले टाइम को स्टोर करने की कोई आवश्यकता नहीं थी, मुझे बस खेलना पड़ा।
यहां समाधान है जिसके साथ मैं आया था। ऐसा लगता है जैसे आईओएस 6 मीडिया रीसेट के साथ आपके ऑडियो को मारता है यदि कोई एवीप्लेयर निवासी रहता है तो बहुत लंबा रहता है। क्या हो रहा है, AVPlayer खेलता है, लेकिन कोई आवाज नहीं आती है। AVPlayer पर दर 1 है, लेकिन बिल्कुल कोई आवाज नहीं है। स्थिति में दर्द जोड़ने के लिए, AVAudioSession setActive पर कोई त्रुटि नहीं है, न ही AVPlayer स्वयं इंगित करता है कि कोई समस्या है।
इस तथ्य को जोड़ें कि आप appWillResignActive पर निर्भर नहीं हो सकते हैं, क्योंकि यदि आप रिमोट कंट्रोल जेस्चर पर निर्भर हैं तो आपका ऐप पृष्ठभूमि में पहले से ही हो सकता है।
मैंने जो अंतिम समाधान लागू किया वह AVPlayer पर एक आवधिक पर्यवेक्षक जोड़ना था, और अंतिम ज्ञात समय रिकॉर्ड करना था। जब मुझे यह घटना प्राप्त होती है कि मुझे वापस नियंत्रण दिया गया है, तो मैं एक नया एवीप्लेयर बनाता हूं, इसे AVPlayerItem के साथ लोड करता हूं, और उचित समय पर तलाश करता हूं।
यह काफी परेशान कामकाज है, लेकिन कम से कम यह काम करता है, और होने वाली आवधिक दुर्घटनाओं से बचाता है।
मैं एक ही स्थिति, एंड्रयू मार रहा हूँ, आप इसे हल करने में सक्षम थे? – Ethan
क्या आप आईओएस 5.x में समस्या देख रहे हैं? – farski
मैं केवल आईओएस 6 में एक ही चीज़ देख रहा हूं। बस अपग्रेड किया गया, लेकिन यह काम नहीं करता है। अगर आप इसे हल करते हैं तो मुझे बताएं। –