2015-05-24 7 views
6

मैं एक ऐप विकसित कर रहा हूं जो ऐप अग्रभूमि और पृष्ठभूमि में दोनों रिकॉर्डिंग करता है। जो काम कर रहा है हालांकि, मैंने देखा है कि जब भी मेरा ऑडियो सत्र (नीचे देखें) सक्रिय होता है तो 'सिस्टम' पुश अधिसूचना चेतावनी ध्वनियों के साथ-साथ कंपन म्यूट कर दिया जाता है। यह तब भी सही है जब ऐप पृष्ठभूमि में है।AVAudioSession AVAudioSessionCategoryPlayAndRecord का उपयोग करके सभी पुश नोटिफिकेशन ध्वनियां और कंपन म्यूट करता है। पृष्ठभूमि में ऐप के साथ भी

परिणाम यह है कि मैं पाठ संदेशों जैसे मानक चीजों के लिए सूचना ध्वनियां/खिंचाव प्राप्त करना बंद कर देता हूं, जबकि मेरा ऐप पृष्ठभूमि में है और रिकॉर्डिंग चालू है।

AVAudioSession* session = [AVAudioSession sharedInstance]; 
[session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&error]; 

जाहिर है उन ध्वनियों/कंपन गैर mixable हैं और इसलिए मुझे लगता है कि वे मौन मिलती है:

ऑडियो सत्र इस प्रकार निर्धारित है।

क्या इसके आसपास कोई रास्ता है (अभी भी रिकॉर्डिंग को सक्रिय रखते हुए)? मैं रिकॉर्ड कैसे कर सकता हूं और अभी भी उपयोगकर्ता को पुश अधिसूचना ध्वनियां और कंपन प्राप्त करने देता हूं? इसके अलावा

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord 
           withOptions:(AVAudioSessionCategoryOptionDefaultToSpeaker | AVAudioSessionCategoryOptionDuckOthers) 
             error:nil]; 

, आप डी सक्रिय ऑडियो सत्र इस का उपयोग कर के साथ प्रयोग कर सकता है:

उत्तर

1

आप इस कोशिश कर सकते

[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil]; 

और फिर यह पुन: सक्रिय:

[[AVAudioSession sharedInstance] setActive:YES error:nil]; 
संबंधित मुद्दे