मैं पॉडकास्ट ऐप पर काम कर रहा हूं। यह AVAudioSessionCategoryPlayback
सत्र प्रकार का उपयोग कर ऑडियो चलाता है। यह लगभग हर चीज करता है जिसे मैं करना चाहता हूं। यह अन्य बजाने वाले संगीत को रोकता है, जब कॉल आती है तो यह बाधित हो जाता है और आम तौर पर ठीक वैसे ही काम करता है जैसा मैं चाहता हूं।पता लगाएं कि AVAudioSession "Ducked"
एक अपवाद के साथ। जब उच्च प्राथमिकता ऑडियो खेला जाता है (उदाहरण के लिए, जब टर्न-बाय-टर्न नेविगेशन ऐप चलाया जाता है) तो मेरे एप्लिकेशन में ऑडियो वॉल्यूम में डुबकी हो जाती है लेकिन चलती रहती है। यह दो आवाज़ों का एक भयानक मिश्रण बनाता है जो वांछित नहीं है। मैं इसके बजाए ओवर-प्लेड ध्वनि के दौरान रुकने के लिए अपने एप्लिकेशन में ऑडियो के लिए पसंद करूंगा, फिर इसे समाप्त होने के बाद फिर से जारी रहूंगा।
मैंने विभिन्न AVAudioSession गुणों जैसे AVAudioSessionCategoryOptionMixWithOthers
को बदलने की कोशिश की है, लेकिन ये केवल मेरे आवेदन के साथ कम प्राथमिकता ध्वनियों को मिश्रित करते हैं। वे नहीं बदलते हैं कि कैसे उच्च प्राथमिकता ध्वनियों के साथ मिश्रित है। मैंने sharedSession
की otherAudioPlaying
संपत्ति को देखने का भी प्रयास किया, लेकिन जब मैं इन छोटी क्लिप को ओवरलेड करता हूं तो इससे बदलाव नहीं हुआ।
क्या यह पता लगाने का कोई तरीका है कि मेरे ऐप में ऑडियो डक किया जा रहा है ताकि मैं इसे रोक सकता हूं? या वैकल्पिक रूप से मेरे ऐप के ऑडियो को डकने से रोकने के लिए ताकि यह इन अन्य ध्वनियों को बाधाओं के रूप में पेश करे?
धन्यवाद।
क्या आपने 'kAudioSessionBeginInterruption' और 'kAudioSessionEndInterruption' का उपयोग करने का प्रयास किया है? – iwasrobbed
हां, लेकिन ओवरले डकिंग को AVAudioSession के संबंध में एक 'बाधा' के रूप में नहीं माना जाता है। तो इन कॉलबैक/अधिसूचनाओं को निकाल दिया नहीं गया है। –
आप ऐप्पल के साथ एक रडार फाइल करना चाहेंगे, तो अगर आपको लगता है कि यह होना चाहिए। मेरी राय में, यह तार्किक लगता है कि इसे एक ऑडियो सत्र बाधा माना जाना चाहिए। – iwasrobbed