2013-12-15 8 views
7

iPhoneでBluetoothヘッドセットに接続している場合は、Bluetoothで音声を再生します。それ以外の場合はデフォルトのスピーカーを使用します。 AVAudioSessionCategoryPlayAndRecord:ここiOS 7 AVAudioSessionCategoryPlayAndRecordのBluetooth出力が機能しない

は私のコードは

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil]; 
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeVoiceChat error:nil]; 
[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:nil]; 
[[AVAudioSession sharedInstance] setActive:YES error:nil]; 

しかし、私はカテゴリsetCategoryを使用しようとしたときです。ブルートゥースデバイスへのルートが動作しなくなりました。なぜか分かりません。右により、bluetoothのオプションは、録音やPlayAndRecordカテゴリのために働く必要がありますので...

/* AVAudioSessionCategoryRecordとAVAudioSessionCategoryPlayAndRecordでのみ有効*/

追加:私は(ONLY出力用のBluetoothを持つことができます入力はまだ電話からデフォルトのマイクを使用します)?

UPDATE

私はsetCategory続く、最初SETMODEを呼び出すことで順番を変更しました。アプリケーション(コール)を初めて実行するときに機能します。同じ動作をやり直そうとしたとき、currentRouteはまだ出力= Bluetoothを返しましたが、実際の出力はデフォルトの電話フロントスピーカーに戻ります。

+0

これは、少し異なる問題に私を助けました。ありがとうございました! – user3099609

+1

あなたの質問に私の答えが含まれていました。ありがとう! – vahotm

答えて

2

私はこの質問を投稿しているので、ちょっと忘れました。正確に覚えていれば、出力ルートを書き直した別のライブラリが原因です。どういうわけか私はそれを修正し、私が望むように動作させました。

私はJawboneのAudioSessionManager libにコードを提供しました。希望が役立ちます。

関連する問題