के रूप में काम नहीं कर रहा है मैं जानना चाहता हूं कि मेरा AVAudioRecorder
पहुंच योग्य नहीं है (उदाहरण के लिए जब संगीत बजाना शुरू होता है)।आईओएस AVAudio सत्र अवरोध अधिसूचना
audioRecorderEndInterruption
को आईओएस 9 के साथ बहिष्कृत किया जाएगा, मैं AVAudioSession
की बाधा अधिसूचना पर ध्यान केंद्रित कर रहा हूं (लेकिन न ही उम्मीद के अनुसार काम कर रहा है)।
समस्या यह है कि यदि बाधा उत्पन्न होती है तो ऐप था और फोरग्राउंड में बाधा उत्पन्न होती है।
E.g: उपयोगकर्ता पृष्ठभूमि में एप्लिकेशन को स्थानांतरित किए बिना संगीत बजाना शुरू कर देता है और बंद कर देता है। (जिसका अर्थ है
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(audioSessionWasInterrupted:) name:AVAudioSessionInterruptionNotification object:nil];
...
- (void)audioSessionWasInterrupted:(NSNotification *)notification {
if ([notification.name isEqualToString:AVAudioSessionInterruptionNotification]) {
NSLog(@"Interruption notification");
if ([[notification.userInfo valueForKey:AVAudioSessionInterruptionTypeKey] isEqualToNumber:[NSNumber numberWithInt:AVAudioSessionInterruptionTypeBegan]]) {
NSLog(@"InterruptionTypeBegan");
} else {
NSLog(@"InterruptionTypeEnded");
}
}
}
मैं InterruptionTypeBegan
पाने की उम्मीद के रूप में, लेकिन InterruptionTypeEnded
कहा जाता नहीं है, तो एप्लिकेशन को अग्रभूमि में अब भी है यह एप्लिकेशन तक कहा जाता है नहीं किया जाएगा:
किसी भी रुकावट मैं उपयोग कर रहा हूँ पता लगाने के लिए पृष्ठभूमि में और वापस अग्रभूमि में रखा गया है)।
ऐप अग्रभूमि में होने पर बाधा उत्पन्न होने पर मुझे InterruptionTypeEnded
अधिसूचना कैसे प्राप्त हो सकती है?
यह लिंक आपकी मदद कर सकता है: - http://stackoverflow.com/questions/23586056/audio-interruption-when-ios- appplication-is-recording-in-background –
सेब प्रलेखन से: "कोई गारंटी नहीं है कि एक प्रारंभिक बाधा के अंत में व्यवधान होगा। आपके ऐप को अग्रभूमि चलने वाले राज्य या उपयोगकर्ता को प्ले बटन दबाकर स्विच करने की जानकारी होनी चाहिए। किसी भी मामले में, यह निर्धारित करें कि आपके ऐप को अपने ऑडियो सत्र को पुनः सक्रिय करना चाहिए या नहीं। " – Fennelouski