像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庫中的歌曲、音訊書、或音訊播客,需要使用Media Player框架中的iPod媒體庫存取介面。
Core Audio框架(和其它音訊框架對等)中提供所有Core Audio服務所需使用的資料類型。