7

私のアプリには奇妙なバグがあります。AVAudioPlayerを使用してサウンド(複数のインスタンス)を再生しています。サウンドはヘッドホンで完全に機能しますが、ヘッドホンなしでアプリを使用すると、スピーカーから音が出ません。すべてのオーディオクリップはAACでエンコードされています。

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

4

3 に答える 3

20

受け入れられた回答(ios7で)は私には機能しませんでした、次のコードは機能しました。(コメントするのに十分なポイントがありません。これを別の回答として投稿します)

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
                                 withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker
                                       error:nil];
于 2014-09-11T18:15:41.300 に答える
5

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
);
于 2012-07-11T11:41:34.650 に答える
2

を使用している方のためにSwift Syntax...

以下は私のために働いた。

do {
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord, withOptions: AVAudioSessionCategoryOptions.DefaultToSpeaker)
   } 
catch {
          print("can't default to speaker ")
      }
于 2016-08-15T08:33:26.383 に答える