KSYAUAudioCapture Class Reference
| Inherits from | NSObject |
|---|---|
| Declared in | KSYAUAudioCapture.h |
Overview
音频采集模块
- 基于 AudioUnit 实现的低延时音频采集模块
- 能够对采集的语音添加混响音效 (目前提供了4种类型的混响场景)
- 能够将采集的声音低延时播放,帮助主播选择音效 (又称"耳返")
- 采集的声音通过回调函数提供出来
注意: 当使用本模块时, 需要禁用KSYGPUCamera中的音频采集
– startCapture
启动音频采集, 占据麦克风资源
- (BOOL)startCaptureReturn Value
是否启动采集成功
Declared In
KSYAUAudioCapture.h
– pauseWithMuteData
暂停音频采集(仍然占用麦克风资源), 回调静音音频数据
- (BOOL)pauseWithMuteDataDeclared In
KSYAUAudioCapture.h
bPlayCapturedAudio
是否播放采集的声音 (又称"耳返")
@property (nonatomic, assign) BOOL bPlayCapturedAudioDiscussion
Warning: 如果在没有插入耳机的情况下启动, 容易出现很刺耳的声音
Declared In
KSYAUAudioCapture.h
enableVoiceProcess
是否使用带回声消除的采集模块(默认为NO)
@property (nonatomic, assign) BOOL enableVoiceProcessDiscussion
请在连麦开始时在设置此属性为YES, 连麦结束记得设置为NO
此属性为YES时, 启动采集一定会打断其他音乐播放
Declared In
KSYAUAudioCapture.h
bForceAudioSessionCatogary
是否强制设置AVAudioSession的类别为PlayAndRecord(默认为YES)
@property (nonatomic, assign) BOOL bForceAudioSessionCatogaryDiscussion
此属性为YES时, 每次启动采集会将类别强制设置为AVAudioSessionCategoryPlayAndRecord
为了避免别APP中的其他SDK将AVAudioSession的类别修改为无法录音,导致无法采集到声音
Declared In
KSYAUAudioCapture.h
micVolume
设置mic采集的声音音量
@property (nonatomic, assign) Float32 micVolumeDiscussion
调整范围 0.0~1.0
Declared In
KSYAUAudioCapture.h
outputPts
最近一次输出的音频包的时间戳
@property (nonatomic, readonly) CMTime outputPtsDeclared In
KSYAUAudioCapture.h
reverbType
混响类型
@property (nonatomic, assign) int reverbTypeDiscussion
目前提供了4种类型的混响场景, type和场景的对应关系如下
- 0 关闭
- 1 录音棚
- 2 ktv
- 3 小舞台
- 4 演唱会
Declared In
KSYAUAudioCapture.h
effectType
音效类型
@property (nonatomic, assign) KSYAudioEffectType effectTypeDiscussion
音效类型仅在enableVoiceProcess=NO时有效
Declared In
KSYAUAudioCapture.h
audioProcessingCallback
采集数据输出回调函数
@property (nonatomic, copy) void ( ^ ) ( CMSampleBufferRef sampleBuffer ) audioProcessingCallbackDiscussion
sampleBuffer 为采集到的音频数据
Declared In
KSYAUAudioCapture.h
customPlayCallback
用户可以自定义播放的内容,直接把数据填入ioData
@property (nonatomic, copy) void ( ^ ) ( AudioBufferList *ioData , UInt32 inumber ) customPlayCallbackDiscussion
ioData 目前只支持int16 的单声道数据
Declared In
KSYAUAudioCapture.h
+ isHeadsetPluggedIn
是否有耳机麦克风可用
+ (BOOL)isHeadsetPluggedInReturn Value
是/否有耳机麦克风
Declared In
KSYAUAudioCapture.h