最近接到了一個需求:要求在正常播放語音的過程中,當(dāng)有新消息提示音時播放消息提示音,之后繼續(xù)播放語音,這里就用到了AVAudioSession.
AVAudioSession可以用來管理麥克風(fēng)、揚(yáng)聲器的使用.
AVAudioSession以一個單例實體的形式存在:
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
APP啟動的時候會自動激活A(yù)VAudioSession單例,但是建議在使用前再次進(jìn)行激活:
[[AVAudioSession sharedInstance] setActive:YES error:NULL];
當(dāng)Active為YES時表示激活,其他正在播放音頻的應(yīng)用會被暫停播放
當(dāng)Active為NO時表示接觸激活,但用此方法設(shè)置為NO時其他應(yīng)用的音頻不會重新播放
設(shè)置AVAudioSession有兩個參數(shù)Category和Options
- (BOOL)setCategory:(AVAudioSessionCategory)category withOptions:(AVAudioSessionCategoryOptions)options error:(NSError **)outError
目前可供選擇的Category有七種:

image.png
以上七種Category未必能滿足我們的開發(fā)需求,這時我們可以用Options來根據(jù)需求進(jìn)行調(diào)整

image.png
這里只是一些簡單的介紹,具體使用還有根據(jù)實際開發(fā)調(diào)整