KSYAVAudioSession Class Reference
Inherits from | NSObject |
---|---|
Declared in | KSYAVAudioSession.h |
Overview
iOS的AVAudioSession 属性配置工具类
- 主要是保证推流时有采集和播放音频的权限 AVAudioSessionCategoryPlayAndRecord
- 将一些常用的AVAudioSession的配置项提取为属性, 方便设置
- 提供查询和修改当前音频采集设备相关的工具函数 比如查询是否有耳机
bInterruptOtherAudio
是否打断其他后台的音乐播放 (默认为NO)
@property (nonatomic, assign) BOOL bInterruptOtherAudio
Discussion
也可以理解为是否允许在其他后台音乐播放的同时进行采集
YES:开始采集时,会打断其他的后台播放音乐,也会被其他音乐打断(采集过程中,启动其他音乐播放,音频采集被中止)
NO: 可以与其他后台播放共存,相互之间不会被打断
参考 AVAudioSessionCategoryOptionMixWithOthers
Declared In
KSYAVAudioSession.h
bDefaultToSpeaker
启动采集后,是否从扬声器播放声音 (默认为YES)
@property (nonatomic, assign) BOOL bDefaultToSpeaker
Discussion
启动声音采集后,iOS系统的行为是默认从听筒播放声音的
将该属性设为YES, 则改为默认从扬声器播放
参考 AVAudioSessionCategoryOptionDefaultToSpeaker
Declared In
KSYAVAudioSession.h
bAllowBluetooth
是否启用蓝牙设备 (默认为YES)
@property (nonatomic, assign) BOOL bAllowBluetooth
Discussion
参考 AVAudioSessionCategoryOptionAllowBluetooth
Declared In
KSYAVAudioSession.h
– setAVAudioSessionOption
设置声音采集需要的AUAudioSession的参数
- (void)setAVAudioSessionOption
Discussion
按照属性的设置值刷新AUAudioSession的配置
参考 AUAudioSession
Declared In
KSYAVAudioSession.h
AVAudioSessionCategory
本SDK使用的AVAudioSession的类别 (默认为AVAudioSessionCategoryPlayAndRecord)
@property (nonatomic, assign) NSString *AVAudioSessionCategory
Discussion
用于指定推流过程中需要采集和播放音频的权限
Warning: 如无必要请勿修改
Declared In
KSYAVAudioSession.h
– checkCategory
检查当前AVAudioSession的类别是否与设置的AVAudioSessionCategory 一致
- (BOOL)checkCategory
Discussion
AVAudioSession为公有的单例, APP中的其他SDK也可以修改
因此可能出现直播时,改为无录音权限的类别的情况, 通过此方法进行检查
Declared In
KSYAVAudioSession.h
+ isBluetoothInputAvaible
是否有蓝牙麦克风可用
+ (BOOL)isBluetoothInputAvaible
Return Value
是/否有蓝牙麦克风可用
Declared In
KSYAVAudioSession.h
+ switchBluetoothInput:
选择是否使用蓝牙麦克风
+ (BOOL)switchBluetoothInput:(BOOL)onOrOff
Parameters
onOrOff |
: YES 使用蓝牙麦克风 NO |
---|
Return Value
是/否有蓝牙麦克风可用
Declared In
KSYAVAudioSession.h
+ isHeadsetInputAvaible
是否有耳机麦克风可用
+ (BOOL)isHeadsetInputAvaible
Return Value
是/否有耳机麦克风
Declared In
KSYAVAudioSession.h