音频采集
adjustRecordingSignalVolume
调节音频采集信号音量。
- (int)adjustRecordingSignalVolume:(NSInteger)volume;
注意:
该方法在加入频道前后都能调用。
参数
参数名 | 描述 |
---|---|
volume | 音量,取值范围为 [0,400]。
|
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
enableInEarMonitoring [1/2]
enableInEarMonitoring [2/2]
开启耳返功能。
- (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters;
该方法打开或关闭耳返功能。
注意:
-
用户必须使用耳机(有线和蓝牙均可)才能听到耳返效果。
-
该方法在加入频道前后都能调用。
参数
参数名 | 描述 |
---|---|
enabled | 开启/关闭耳返功能:
|
includeAudioFilters | 耳返 audio filter 类型。详见 |
返回值
-
>0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。-
-
8: 请确保当前的音频路由为蓝牙或耳机。
-
-
enableLocalAudio
开关本地音频采集。
- (int)enableLocalAudio:(BOOL)enabled;
当用户加入频道时,音频功能默认是开启的。该方法可以关闭或重新开启本地音频功能,即停止或重新开始本地音频采集。
该方法不影响接收远端音频流,enableLocalAudio
(NO)
适用于只听不发的用户场景。
音频功能关闭或重新开启后,会收到 localAudioStateChanged
回调,并报告 AgoraAudioLocalStateStopped
(0) 或 AgoraAudioLocalStateRecording
(1)。
注意:
-
该方法与
muteLocalAudioStream
的区别在于:-
enableLocalAudio
: 开启或关闭本地音频采集及处理。使用enableLocalAudio
关闭或开启本地采集后,本地听远端播放会有短暂中断。 -
muteLocalAudioStream
: 停止或继续发送本地音频流。
-
-
该方法在加入频道前后均可调用。在加入频道前调用只能设置设备状态,在加入频道后才会立即生效。
参数
参数名 | 描述 |
---|---|
enabled |
|
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
getEarMonitoringAudioParams
设置 onEarMonitoringAudioFrame
回调数据的格式。
- (AgoraAudioParams* _Nonnull)getEarMonitoringAudioParams NS_SWIFT_NAME(getEarMonitoringAudioParams());
v4.0.1
你需要在调用 setAudioFrameDelegate
方法时注册该回调。成功注册音频数据观测器后,SDK 会触发该回调,你可以在该回调的返回值中设置耳返的音频数据格式。
注意:
SDK 会通过你在返回值中设置的 AgoraAudioParams
计算采样间隔触发 onEarMonitoringAudioFrame
回调。计算公式为采样间隔 = samplesPerCall
/(sampleRate
× channel
)。
请确保采样间隔不小于 0.01 秒。
返回值
耳返的音频数据,详见 AgoraAudioParams
。
muteRecordingSignal
是否将录音信号静音。
-(int)muteRecordingSignal:(BOOL)muted;
参数
参数名 | 描述 |
---|---|
muted |
adjustRecordingSignalVolume 调节了音量,则调用该方法并设置为 YES 时,SDK 会记录当前音量并将其静音。如需恢复之前的音量,再次调用该方法并设置为 NO 即可。 |
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
setEarMonitoringAudioFrameParametersWithSampleRate
设置耳返的音频数据格式。
- (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
channel:(NSInteger)channel
mode:(AgoraAudioRawFrameOperationMode)mode
samplesPerCall:(NSInteger)samplesPerCall;
该方法用于设置 onEarMonitoringAudioFrame
回调的耳返音频数据格式。
注意:
-
调用该方法前,你需要先调用
enableInEarMonitoring [2/2]
,将includeAudioFilters
设置为AgoraEarMonitoringFilterBuiltInAudioFilters
或AgoraEarMonitoringFilterNoiseSuppression
。 -
SDK 会通过该方法中的
samplesPerCall
、sampleRate
和channel
参数计算出采样间隔,计算公式为采样间隔 =samplesPerCall
/(sampleRate
×channel
)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发onEarMonitoringAudioFrame
回调。
参数
参数名 | 描述 |
---|---|
sampleRate |
|
channel |
|
mode | 音频帧的使用模式,详见 |
samplesPerCall |
|
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见
错误码
了解详情和解决建议。
setInEarMonitoringVolume
onEarMonitoringAudioFrame
获得耳返的原始音频数据。
- (BOOL)onEarMonitoringAudioFrame:(AgoraAudioFrame* _Nonnull)frame;
为保证耳返的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置耳返音频数据格式:
-
方法一:调用
setEarMonitoringAudioFrameParametersWithSampleRate
设置音频数据格式后,调用setAudioFrameDelegate
注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发onEarMonitoringAudioFrame
回调。 -
方法二:调用
setAudioFrameDelegate
注册音频观测器对象后,在getObservedAudioFramePosition
回调的返回值中设置具体的音频观测位置,然后在getEarMonitoringAudioParams
回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发onEarMonitoringAudioFrame
回调。
注:
- 方法一的优先级高于方法二,如果已使用方法一设置了音频数据格式,则使用方法二的设置不生效。
参数
参数名 | 描述 |
---|---|
frame | 音频原始数据。详见 |
返回值
无实际含义。
所属接口类