iOS音频 AVAudioSession

最近接到了一个需求:要求在正常播放语音的过程中,当有新消息提示音时播放消息提示音,之后继续播放语音,这里就用到了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有七种:


iOS音频 AVAudioSession_第1张图片
image.png

以上七种Category未必能满足我们的开发需求,这时我们可以用Options来根据需求进行调整


iOS音频 AVAudioSession_第2张图片
image.png

这里只是一些简单的介绍,具体使用还有根据实际开发调整

你可能感兴趣的:(iOS音频 AVAudioSession)