2012-06-06 8 views
5

私のアプリには奇妙なバグがあります。私はAVAudioPlayerを使ってサウンドを再生していますが、そのサウンドはヘッドホンで完全に機能しますが、ヘッドフォンなしでこのアプリを使用するとスピーカーから音が出ません。すべてのオーディオクリップはAACでエンコードされています。スピーカーからアプリケーションの音声が届かない

私はObjective-C API([AVAudioSession sharedInstance])とC APIの両方でAVAudioSessionプロパティを設定しようとしましたが、そのオプションのどれも動作していないようです。

+1

ボリュームを上げようとしましたか?ミュートされている場合がありますが、内蔵スピーカーの音量レベルは別です。 –

+0

はい、ボリュームは良好です。 – SMK

+0

ここで同じ問題 – intomo

答えて

4

iPhone上ISSUE - 音は非常に低かった - それは代わりに下のスピーカーの携帯電話の受話口(ない ヘッドフォンジャックを)出てきたように見えた - SPEAKER

TO DEFAULTに変更
//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)がうまくいきませんでした。次のコードが機能しました。

以下は私のために働いた... Swift Syntaxを使用してあなたのそれらのために

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

+1!これはAVSpeechUtteranceの音量が極端に低いという半関連の問題にも役立ちました。どうもありがとうございました! http://stackoverflow.com/a/28922543/2578205 – Glavin001

+0

チャームのように働いてみた!!!!ありがとう:) –

2

(私はこのように別の答えを投稿し、コメントするのに十分なポイントを持っていません)。

do { 
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord, withOptions: AVAudioSessionCategoryOptions.DefaultToSpeaker) 
    } 
catch { 
      print("can't default to speaker ") 
     } 
関連する問題