像native phone那样,如果手机连接了耳机、蓝牙音响的时候,系统会显示三个选项:蓝牙,耳机还是手机。
自己的app要怎么写这个feature?
我知道可以用AVAudioSession.但是它貌似直接帮你按priority做好选择,不知道要怎么能够拿到availableOutputs所有选项?
AVAudioSession* myAudioSession = [AVAudioSession sharedInstance];
[myAudioSession setMode:AVAudioSessionModeVoiceChat error:nil];
[myAudioSession setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil];
[myAudioSession setActive:YES error:nil];
オーディオの再生と録音にシンプルな Objective-C インターフェイスを使用したい場合は、AV Foundation フレームワークを使用できます。
同期機能を使用してオーディオを再生および録音したり、オーディオ ストリームを解析したり、オーディオ形式を変換したりする場合は、Audio Toolbox フレームワークを使用できます。
オーディオ処理プラグインを接続して使用したい場合は、Audio Unit フレームワークを使用できます。
ゲームやその他のアプリケーションで位置オーディオを再生したい場合は、OpenAL フレームワークを使用する必要があります。 iPhone OS の OpenAL 1.1 のサポートは、Core Audio に基づいています。
iPod ライブラリ内の曲、オーディオ ブック、またはオーディオ ポッドキャストを再生したい場合は、メディア プレーヤー フレームワークの iPod メディア ライブラリ アクセス インターフェイスを使用する必要があります。
Core Audio フレームワーク (他のオーディオ フレームワークと同等) は、Core Audio サービスに必要なすべてのデータ型を提供します。