AVAudioSession

APP启动的时候会自动激活AVAudioSession单例,但是建议在使用前再次进行激活。

AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation:通知中断的程序中断已经结束,可以恢复播放

获取设备支持的categories列表

AVAudioSession设置


AVAudioSessionCategory枚举:

AVAudioSessionCategoryAmbient  只支持播放

AVAudioSessionCategorySoloAmbient  系统默认,只支持播放

AVAudioSessionCategoryPlayback  只支持播放,常用于音乐播放类app,不会因锁屏而停止播放,后台播放

AVAudioSessionCategoryRecord  只支持录制

AVAudioSessionCategoryPlayAndRecord    支持录制及播放,可同时录制并播放

AVAudioSessionCategoryAudioProcessing    只支持本地音频编解码

AVAudioSessionCategoryMultiRoute    支持录制及播放,支持多条音频流的同步输入和输出,例如蓝牙耳机和蓝牙播放器可以同时使用


AVAudioSessionMode枚举:

AVAudioSessionModeDefault  系统默认mode

AVAudioSessionModeVoiceChat  适用于语音聊天

AVAudioSessionModeGameChat  适用于游戏模式,不需要主动设置。

适用GKVoiceChat对象时,系统会自动配置AVAudioSessionModeGameChat和AVAudioSessionCategoryPlayAndRecord。若不想用GKVoiceChat但希望达到类似功能,可以使用AVAudioSessionModeVoiceChat。

AVAudioSessionModeVideoRecording  适用于使用摄像头采集视频的应用

AVAudioSessionModeMeasurement  

AVAudioSessionModeMoviePlayback  适用于AVAudioSessionCategoryPlayback下的视频播放

AVAudioSessionModeVideoChat  适用于视频聊天

设置mode为AVAudioSessionModeVideoChat,系统会自动配置AVAudioSessionCategoryOptionAllowBluetooth和AVAudioSessionCategoryOptionDefaultToSpeaker。会选择最佳的内置麦克风组合支持聊天。

AVAudioSessionModeSpokenAudio  iOS9.0新添加的

当其他应用程序播放短暂的语音提示时,希望自己的音频暂停而不是回避(声音变小)时使用。

AVAudioSessionModeVoicePrompt  当程序内音频为简单的语音提示时使用。


AVAudioSessionCategoryOptions:

AVAudioSessionCategoryOptionMixWithOthers

AVAudioSessionCategoryOptionDuckOthers

AVAudioSessionCategoryOptionAllowBluetooth

AVAudioSessionCategoryOptionDefaultToSpeaker

AVAudioSessionCategoryOptionInterruptSpokenAudioAndMixWithOthers

AVAudioSessionCategoryOptionAllowBluetoothA2DP

AVAudioSessionCategoryOptionAllowAirPlay

你可能感兴趣的:(AVAudioSession)