2013-07-08 9 views
14

में अवांछित ड्रॉप का कारण बनता है मैं अपने वॉयस चैट एप्लिकेशन में रिमोटियो का उपयोग कर रहा हूं। गूंज रद्द करने को सक्षम करने के लिए, मैंने सत्र के रूप में "kAudioSessionCategory_PlayAndRecord" को सेट करने के बाद "kAudioUnitSubType_VoiceProcessingIO" में "kAudioUnitSubType_RemoteIO" को बदल दिया। अब रद्द करने वाले कार्यों को प्रतिबिंबित करें लेकिन आउटपुट वॉल्यूम स्तर पिछले रिमोटियो आउटपुट स्तर के मुकाबले काफी कम हो गया है। क्या किसी को पता है कि RemoteIO का उपयोग करते समय VoiceProcessingIO का उपयोग करते समय समान आउटपुट वॉल्यूम स्तर कैसे प्राप्त करें?रिमोटियो के बजाए वॉयसप्रोसेसिंगियो ऑडियो यूनिट उप प्रकार का उपयोग आउटपुट वॉल्यूम

+0

मुझे इसके अंतर्निहित कारण और किसी भी संभावित कामकाज को जानने में भी दिलचस्पी होगी, क्योंकि मैंने अपनी परियोजनाओं में एक समस्या के रूप में रिपोर्ट की है। ऐसा लगता है कि वीपीआईओ को एक ही ऑडियो सत्र सेटिंग्स के साथ अन्यथा काम कर रहे रिमोटियो यूनिट में गिराए जाने पर एक शांत कारण नहीं है, लेकिन यह व्यवहार प्रतीत होता है। – Halle

+0

मुझे यह समस्या भी मिली है। मैंने देखा है कि आईओएस 6 के लिए वॉल्यूम ड्रॉप और आईओएस 5 के विरोध में यह काफी अधिक था। आप किस आईओएस पर परीक्षण कर रहे हैं? –

+0

मुझे यह भी पता चला है कि वीपीआईओ आईफोन मॉडल 5, 5 एस पर पूरी तरह से आईओएस 7 पर टूट जाता है और मैं 5 सी मान रहा हूं। –

उत्तर

1

मुझे नहीं लगता कि मात्रा में आउटपुट के नुकसान के लिए खाता बनाना संभव है। Recording volume drop switching between RemoteIO and VPIO

के अनुसार, "कोई एपीआई कि यह लाभ (या अपने मामले ड्रॉप में) को नियंत्रित करता स्तर नहीं है, सब कुछ आंतरिक पर ऑडियो सत्र श्रेणी के आधार ओएस द्वारा सेटअप है (उदाहरण के लिए VPIO इस्तेमाल किया जा करने की उम्मीद है PlayAndRecord हमेशा के साथ) और जो आईओ इकाई स्थापित किया गया है। "

यह भी मदद करेगा यदि आपने कहा कि आप किस आईओएस पर परीक्षण कर रहे थे क्योंकि उनके पास आउटपुट वॉल्यूम में अलग-अलग बूंदें हैं।

3

मुझे लगता है कि यह एक लंबे समय में उत्तर नहीं दिया गया है, लेकिन मैंने पाया कि यदि आप ऐसा बदलते ऑडियो इकाइयों के बीच निम्नलिखित:

AudioComponentInstanceDispose(_ioUnit); 

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&nsError]; 

[[AVAudioSession sharedInstance] setActive:NO error:&nsError]; 

तो यह इतनी बड़ी प्रबलता समस्या नहीं बना रहा है प्रत्येक इकाई के बीच। इस बिंदु पर, बस अपनी ऑडियो इकाई को पुन: प्रारंभ करें और सत्र प्रकार को अपनी इच्छित चीज़ों पर सेट करें।

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