2016-12-29 6 views
1

にルーティングの問題を引き起こして、次のように私は現在、私のAVAudioSessionを初期化しています:Bluetoothヘッドセットは、iOSの

NSError *myError = nil; 
AVAudioSession* avSession = [AVAudioSession sharedInstance];  
[avSession setCategory: AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionAllowBluetooth error: &myError]; 

は、これが正常に動作するようです。私がちょうどデバイスで始めるなら、私の出力は私のスピーカーです。有線のヘッドフォンを接続すると、オーディオをヘッドフォンにルーティングし直します。プラグを抜くと、メインスピーカーに戻ります。オーディオはレシーバーから出ることはありません。これは私が探している正しい動作です。

これは、有線ヘッドフォンの代わりに私のビートヘッドフォン(ブルートゥース)を使用するとうまく動作します。

ただし、アプリを起動する前にビートヘッドフォンを接続すると問題が発生します。アプリケーションは正しくそれらを選択し、すべてが正常ですが、私はその後、Bluetoothヘッドフォンを遮断または切断すると、オーディオはスピーカーの代わりに受信機にルーティングされます。

私はAVAudioSessionCategoryOptionDefaultToSpeakerフラグを尊重するようになっているはずですか?

答えて

関連する問題