2012-06-06 7 views
5

मेरे ऐप में एक अजीब बग है। मैं ध्वनि चलाने के लिए AVAudioPlayer का उपयोग कर रहा हूं (इसके कई उदाहरण), ध्वनि हेडफ़ोन के माध्यम से पूरी तरह से काम करती है, लेकिन हेडफ़ोन के बिना ऐप का उपयोग स्पीकर से कोई आवाज नहीं उत्पन्न करता है। सभी ऑडियो क्लिप एएसी एन्कोडेड हैं।ऐप का ऑडियो स्पीकर के माध्यम से काम नहीं कर रहा है

मैंने उद्देश्य-सी एपीआई ([AVAudioSession साझाInstance]) और सी एपीआई के माध्यम से AVAudioSession गुणों को सेट करने का प्रयास किया है, लेकिन इनमें से कोई भी विकल्प काम नहीं कर रहा है।

+1

क्या आपने वॉल्यूम को चालू करने का प्रयास किया है? इसे म्यूट किया जा सकता है, आंतरिक वक्ताओं के लिए एक अलग मात्रा स्तर है। –

+0

हां, वॉल्यूम अच्छा है। – SMK

+0

यहां एक ही समस्या – intomo

उत्तर

4

iPhone पर मुद्दा - जब ध्वनि बहुत कम था - लग रहा था यह फोन कान टुकड़ा (नहीं हेडफोन जैक) नीचे वक्ता के बजाय बाहर आ रहा था - वक्ता

//http://stackoverflow.com/questions/3104562/avaudiorecorder-avaudioplayer-sound-output-on-internal-speaker-how-to-chang 


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

स्वीकार किए जाते हैं जवाब देने के लिए (डिफ़ॉल्ट करने के लिए परिवर्तन में ios7) मेरे लिए काम नहीं किया, निम्नलिखित कोड काम किया। (मैं पर्याप्त अंक टिप्पणी करने के लिए नहीं है, यह के रूप में अलग उत्तर पोस्ट)

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord 
           withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker 
             error:nil]; 
+0

+1! इससे मुझे AVSpeechUtterance वॉल्यूम बहुत कम होने के साथ अर्ध-संबंधित समस्या के साथ भी मदद मिली। आपका बहुत बहुत धन्यवाद! देखें http://stackoverflow.com/a/28922543/2578205 – Glavin001

+0

एक आकर्षण की तरह काम किया !!!! धन्यवाद :) –

2

आप में से जो Swift Syntax का उपयोग कर के लिए ...

नीचे मेरे लिए काम किया।

do { 
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord, withOptions: AVAudioSessionCategoryOptions.DefaultToSpeaker) 
    } 
catch { 
      print("can't default to speaker ") 
     } 
संबंधित मुद्दे