AVAudioSession 的 AVAudioSessionCategory 和 AVAudioSessionCategoryOptions 相关

AVAudioSessionCategory相关
AVAudioSessionCategoryAmbient
使用这个category的应用会随着静音键和屏幕关闭而静音。而且不会停止其它应用播放声音,能够和其它自带应用如iPod,safari等同时播放声音。注意:该Category没法在后台播放声音,因此开启应用打断音乐程序播放音乐应该使用这个Category。
 
 AVAudioSessionCategorySoloAmbient
 相似于AVAudioSessionCategoryAmbient 不一样之处在于它会停止其它应用播放声音。 这个category为默认category。该Category没法在后台播放声音
 
 AVAudioSessionCategoryPlayback 
使用这个category的应用不会随着静音键和屏幕关闭而静音。可在后台播放声音
 
 AVAudioSessionCategoryRecord 
 用于须要录音的应用,设置该category后,除了来电铃声,闹钟或日历提醒以外的其它系统声音都不会被播放。该Category只提供单纯录音功能。
 
 AVAudioSessionCategoryPlayAndRecord 
 用于既须要播放声音又须要录音的应用,语音聊天应用(如微信)应该使用这个category。该Category提供录音和播放功能。若是你的应用须要用到iPhone上的听筒,该category是你惟一的选择,在该Category下声音的默认出口为听筒(在没有外接设备的状况下)。
 
AVAudioSessionCategoryOptions中的AVAudioSessionCategoryOptionMixWithOthers
设置这个选项在激活会话时不会打断其余应用程序的音频播放,在如下的选项中可用AVAudioSessionCategoryPlayback 、 AVAudioSessionCategoryPlayAndRecord 、 AVAudioSessionCategoryMultiRoute(ios6加入的多线路)
 
AVAudioSessionCategoryOptionDuckOthers
这个选项在激活会话时下降其余程序的音频播放声音,在如下的选项中可用AVAudioSessionCategoryPlayAndRecord、AVAudioSessionCategoryRecord
主要是体现当前音频的重要性,好比说开车听歌的时候,导航的声音就属于比较重要的或者是须要特别关注的就能够是用这个选项
 
AVAudioSessionCategoryOptionAllowBluetooth
容许可免提蓝牙设备可以使用输入通道
 
AVAudioSessionCategoryOptionDefaultToSpeaker
设置这个选项在没有其余通道的时候默认选择内置扬声器
 
AVAudioSessionCategoryOptionInterruptSpokenAudioAndMixWIthOthers(iOS9.0加入的)
当你的app偶尔的使用音频播放(感受和DuckOthers很像,文档中提到这两个是能够互换的)在如下的选项中可用AVAudioSessionCategoryPlayback 、 AVAudioSessionCategoryPlayAndRecord 、 AVAudioSessionCategoryMultiRoute
若是设置了这个选项,在关闭这个session时须要:
[myAudioSession setActive: NO with Options: AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error: <#Your error object, or nil for testing#>];
这句代码是为了确保执行当前session以前被打断的正在播放的 audio app能都收到resume消息。
相关文章
相关标签/搜索