APP启动的时候会自动激活AVAudioSession单例,但是建议在使用前再次进行激活。
![](https://img.haomeiwen.com/i3510077/c47b9f5ca9c02a3f.png)
AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation:通知中断的程序中断已经结束,可以恢复播放
![](https://img.haomeiwen.com/i3510077/04dcdf221076ddf2.png)
获取设备支持的categories列表
![](https://img.haomeiwen.com/i3510077/2347570ea4f8528b.png)
AVAudioSession设置
![](https://img.haomeiwen.com/i3510077/4e88931aba190665.png)
AVAudioSessionCategory枚举:
AVAudioSessionCategoryAmbient 只支持播放
![](https://img.haomeiwen.com/i3510077/75c315f970eba6e8.png)
AVAudioSessionCategorySoloAmbient 系统默认,只支持播放
![](https://img.haomeiwen.com/i3510077/2a8bb4d2e4d6d022.png)
AVAudioSessionCategoryPlayback 只支持播放,常用于音乐播放类app,不会因锁屏而停止播放,后台播放
![](https://img.haomeiwen.com/i3510077/64cc65ff4e39aa80.png)
AVAudioSessionCategoryRecord 只支持录制
![](https://img.haomeiwen.com/i3510077/e031a90b2ac4817c.png)
AVAudioSessionCategoryPlayAndRecord 支持录制及播放,可同时录制并播放
![](https://img.haomeiwen.com/i3510077/5d308fab62e8e80d.png)
AVAudioSessionCategoryAudioProcessing 只支持本地音频编解码
![](https://img.haomeiwen.com/i3510077/f0e23661b177de54.png)
AVAudioSessionCategoryMultiRoute 支持录制及播放,支持多条音频流的同步输入和输出,例如蓝牙耳机和蓝牙播放器可以同时使用
![](https://img.haomeiwen.com/i3510077/18647b902bfbb8a0.png)
AVAudioSessionMode枚举:
AVAudioSessionModeDefault 系统默认mode
![](https://img.haomeiwen.com/i3510077/edaa4f2bfc3e3def.png)
AVAudioSessionModeVoiceChat 适用于语音聊天
![](https://img.haomeiwen.com/i3510077/9aa245ce658aca45.png)
AVAudioSessionModeGameChat 适用于游戏模式,不需要主动设置。
适用GKVoiceChat对象时,系统会自动配置AVAudioSessionModeGameChat和AVAudioSessionCategoryPlayAndRecord。若不想用GKVoiceChat但希望达到类似功能,可以使用AVAudioSessionModeVoiceChat。
![](https://img.haomeiwen.com/i3510077/97bf9f9328127ed8.png)
AVAudioSessionModeVideoRecording 适用于使用摄像头采集视频的应用
![](https://img.haomeiwen.com/i3510077/8e52d4a355a2d566.png)
AVAudioSessionModeMeasurement
![](https://img.haomeiwen.com/i3510077/13064cc996da82f1.png)
AVAudioSessionModeMoviePlayback 适用于AVAudioSessionCategoryPlayback下的视频播放
![](https://img.haomeiwen.com/i3510077/49997c62703bb367.png)
AVAudioSessionModeVideoChat 适用于视频聊天
设置mode为AVAudioSessionModeVideoChat,系统会自动配置AVAudioSessionCategoryOptionAllowBluetooth和AVAudioSessionCategoryOptionDefaultToSpeaker。会选择最佳的内置麦克风组合支持聊天。
![](https://img.haomeiwen.com/i3510077/254d49c7b396351c.png)
AVAudioSessionModeSpokenAudio iOS9.0新添加的
当其他应用程序播放短暂的语音提示时,希望自己的音频暂停而不是回避(声音变小)时使用。
![](https://img.haomeiwen.com/i3510077/e845dac927f716cf.png)
AVAudioSessionModeVoicePrompt 当程序内音频为简单的语音提示时使用。
![](https://img.haomeiwen.com/i3510077/ac4427d4baeadfb3.png)
AVAudioSessionCategoryOptions:
![](https://img.haomeiwen.com/i3510077/a79b371c6892d156.png)
AVAudioSessionCategoryOptionMixWithOthers
![](https://img.haomeiwen.com/i3510077/d6df65d013469e5d.png)
![](https://img.haomeiwen.com/i3510077/af06283137a1caf2.png)
AVAudioSessionCategoryOptionDuckOthers
![](https://img.haomeiwen.com/i3510077/6df2857377ce94ec.png)
![](https://img.haomeiwen.com/i3510077/0c14fd91b6e8b6cb.png)
AVAudioSessionCategoryOptionAllowBluetooth
![](https://img.haomeiwen.com/i3510077/cf50ea1e376d9fd5.png)
![](https://img.haomeiwen.com/i3510077/f09360b0bfb9c30a.png)
AVAudioSessionCategoryOptionDefaultToSpeaker
![](https://img.haomeiwen.com/i3510077/193e8e55adeeccbe.png)
![](https://img.haomeiwen.com/i3510077/069eded0ae40caf4.png)
AVAudioSessionCategoryOptionInterruptSpokenAudioAndMixWithOthers
![](https://img.haomeiwen.com/i3510077/a8e3691a7b1d6ede.png)
![](https://img.haomeiwen.com/i3510077/d4d59dc29b562e65.png)
AVAudioSessionCategoryOptionAllowBluetoothA2DP
![](https://img.haomeiwen.com/i3510077/9877c75e787a9042.png)
![](https://img.haomeiwen.com/i3510077/e637a4cadbfc852a.png)
AVAudioSessionCategoryOptionAllowAirPlay
![](https://img.haomeiwen.com/i3510077/5121954a5b99d22d.png)
![](https://img.haomeiwen.com/i3510077/5a7a01bce51b2698.png)
网友评论