いくつかのBluetoothタスクに関連するCoreAudioAudioSessionフレームワークにいくつか質問があります。誰かがこれらの問題を解決してくれるか、少なくとも私の最新の調査結果を確認できることを願っています。ユースケースは、HFPとA2DPの両方をサポートするBluetooth対応のラジオに接続したいナビゲーションアプリです。AudioSessionプログラミングガイドライン全体を読みましたが、特にBluetoothを介したオーディオ出力の使用に関してはまだいくつかの未解決の問題があります。
Bluetooth HFPオーディオ出力(kAudioSessionOutputRoute_BluetoothHFP)は、AudioSession kAudioSessionCategory_PlayAndRecordが設定されていて、次のプロパティをオーバーライドしている場合にのみ可能です:kAudioSessionProperty_OverrideCategoryEnableBluetoothInput。これは本当ですか?そうでない場合は、MediaPlaybackセッションを使用して例としてkAudioSessionOutputRoute_BluetoothHFPルートにルーティングする方法を説明します。
カテゴリkAudioSessionCategory_PlayAndRecordでは、バックグラウンドモードでのオーディオ出力はできません。そのため、バックグラウンドにいると、BluetoothHFPルートでサウンドを再生できません。これは本当ですか?アプリがバックグラウンドにある場合、Bluetooth HFPプロトコルを介してオーディオを送信する方法はありますか?
利用可能なA2DP対応デバイスがある場合、私のオーディオルートは常に自動的にkAudioSessionOutputRoute_BluetoothA2DPルートに切り替わります。このルート変更を防ぐにはどうすればよいですか?さらに、現時点で必要な出力ルートを指定するにはどうすればよいですか。iOS5では、kAudioSessionProperty_AudioRouteDescriptionフラグを介してこれらすべてのルートの宛先を照会することができますが、必要に応じてどのように設定できるかわかりません。どういうわけかこれを達成することは可能ですか?
皆さんの何人かがこれらの質問で私を助けてくれることを願っています。CoreAudio、特にAudioSessionフレームワークの全体的な理解に本当に役立ちます。