2009-10-23 38 views
6

मेरे ऐप में मैं एक ही समय में रिकॉर्ड और ऑडियो चलाता हूं। ऐप लगभग समाप्त हो गया है। लेकिन एक बात है, जो मुझे परेशान करती है। जब ऑडियो सत्र PlayAndRecord पर सेट होता है, तो SoloAmbient श्रेणी के साथ समान ध्वनियों की तुलना में लगता है शांत लगता है। PlayAndRecord का उपयोग करके ध्वनि जोर से करने का कोई तरीका है?आईफोन एसडीके ऑडियो सत्र प्रश्न

उत्तर

7

जब आप प्ले और रिकॉर्ड के लिए सत्र का उपयोग करते हैं, तो प्लेबैक फोन के लिए इस्तेमाल किए गए स्पीकर से बाहर आता है, अन्यथा यह फोन के नीचे स्थित स्पीकर से बाहर आता है। यह प्रतिक्रिया को रोकने के लिए है। तुम इतनी तरह इस ओवरराइड कर सकते हैं (लेकिन प्रतिक्रिया के लिए बाहर देखने के लिए, नहीं एक मुद्दा है, तो आप दोनों एक ही बार में नहीं कर रहे हैं)

//when the category is play and record the playback comes out of the speaker used for phone conversation to avoid feedback 
    //change this to the normal or default speaker 

    UInt32 doChangeDefaultRoute = 1;   
    AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof (doChangeDefaultRoute), &doChangeDefaultRoute); 

इस कोड 3.1.2 पर काम करता है, पहले एसडीके के आप अलग क्या करना है।

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; 
    status = AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute, sizeof (audioRouteOverride), &audioRouteOverride); 

इस विधि से सावधान रहना होगा, यह भले ही आप हेडफोन में खामियों को दूर है, तो आप रुकावट पर नजर रखने और मार्गों तदनुसार बदलने के लिए पार कर जाएगी। 3.1.2

का उपयोग कर अब बेहतर
-1

उपयोगकर्ता से हेडफ़ोन प्लग करने के लिए कहें?

हेडफोन + माइक संयोजन इस समस्या से ग्रस्त नहीं है।

मुझे नहीं पता कि यह एक बग है, ऑडियो हार्डवेयर का परिणाम, या यदि शांत प्लेबैक क्लीनर रिकॉर्डिंग प्राप्त करने के लिए सिर्फ एक जानबूझकर और हैम्फिड तरीका है।

अद्यतन

मुझे पता चला PlayAndRecord सत्र की स्थापना रिसीवर को अपनी ऑडियो मार्ग परिवर्तन।
स्पष्ट रूप से उपयोग का मामला टेलीफोनी अनुप्रयोगों के लिए है जहां उपयोगकर्ता डिवाइस को उसके कान तक रखता है।

यदि यह कम आश्चर्य के सिद्धांत का उल्लंघन नहीं करता है, तो मुझे नहीं पता कि क्या करता है।