最近接到了一个需求:要求在正常播放语音的过程中,当有新消息提示音时播放消息提示音,之后继续播放语音,这里就用到了AVAudioSession.
AVAudioSession可以用来管理麦克风、扬声器的使用.
AVAudioSession以一个单例实体的形式存在:
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
APP启动的时候会自动激活AVAudioSession单例,但是建议在使用前再次进行激活:
[[AVAudioSession sharedInstance] setActive:YES error:NULL];
当Active为YES时表示激活,其他正在播放音频的应用会被暂停播放
当Active为NO时表示接触激活,但用此方法设置为NO时其他应用的音频不会重新播放
设置AVAudioSession有两个参数Category和Options
- (BOOL)setCategory:(AVAudioSessionCategory)category withOptions:(AVAudioSessionCategoryOptions)options error:(NSError **)outError
目前可供选择的Category有七种:
以上七种Category未必能满足我们的开发需求,这时我们可以用Options来根据需求进行调整
这里只是一些简单的介绍,具体使用还有根据实际开发调整