使用這個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消息。