音频采集
AdjustLoopbackSignalVolume
调节声卡采集信号音量。
C#
public abstract int AdjustLoopbackSignalVolume(int volume);
详情
调用 EnableLoopbackRecording 开启声卡采集后,你可以调用该方法调节声卡采集的信号音量。
参数
- volume
- 音乐文件音量范围为 0~100。100 (默认值)为原始文件音量。
返回值
- 0: 方法调用成功
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
AdjustRecordingSignalVolume
调节音频采集信号音量。
C#
public abstract int AdjustRecordingSignalVolume(int volume);
详情
注意
该方法在加入频道前后都能调用。
参数
- volume
- 音量,取值范围为 [0,400]。
- 0: 静音。信息如果你只需将音频信号静音,声网建议你使用 MuteRecordingSignal。
- 100: (默认)原始音量。
- 400: 原始音量的 4 倍,自带溢出保护。
- 0: 静音。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
EnableLocalAudio
开关本地音频采集。
C#
public abstract int EnableLocalAudio(bool enabled);
详情
当用户加入频道时,音频功能默认是开启的。该方法可以关闭或重新开启本地音频功能,即停止或重新开始本地音频采集。
该方法不影响接收远端音频流,EnableLocalAudio(false)
适用于只听不发的用户场景。
音频功能关闭或重新开启后,会收到 OnLocalAudioStateChanged 回调,并报告 LOCAL_AUDIO_STREAM_STATE_STOPPED(0) 或 LOCAL_AUDIO_STREAM_STATE_RECORDING(1)。
注意
- 该方法与 MuteLocalAudioStream 的区别在于:
- EnableLocalAudio: 开启或关闭本地音频采集及处理。使用 EnableLocalAudio 关闭或开启本地采集后,本地听远端播放会有短暂中断。
- MuteLocalAudioStream: 停止或继续发送本地音频流。
- 该方法在加入频道前后均可调用。在加入频道前调用只能设置设备状态,在加入频道后才会立即生效。
参数
- enabled
true
: 重新开启本地音频功能,即开启本地音频采集(默认);false
: 关闭本地音频功能,即停止本地音频采集。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
EnableLoopbackRecording
EnableLoopbackRecordingEx
开启声卡采集。
C#
public abstract int EnableLoopbackRecordingEx(RtcConnection connection, bool enabled, string deviceName);
详情
启用声卡采集功能后,声卡播放的声音会被合到本地音频流中,从而可以发送到远端。
注意
- 该方法目前仅支持一路声卡采集。
参数
- connection
- Connection 信息。详见 RtcConnection。
- enabled
- 是否开启声卡采集:
true
: 开启声卡采集。false
:(默认)不开启声卡采集。
- deviceName
- 声卡的设备名。默认为空,代表使用设备自带的声卡进行采集。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
MuteRecordingSignal
是否将录音信号静音。
C#
public abstract int MuteRecordingSignal(bool mute);
参数
- mute
true
: 静音。false
:(默认)原始音量。
信息如果你已经调用 AdjustRecordingSignalVolume 调节了音量,则调用该方法并设置为true
时,SDK 会记录当前音量并将其静音。如需恢复之前的音量,再次调用该方法并设置为false
即可。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
SetEarMonitoringAudioFrameParameters
设置耳返的音频数据格式。
C#
public abstract int SetEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall);
详情
该方法用于设置 OnEarMonitoringAudioFrame 回调的耳返音频数据格式。
注意
- 调用该方法前,你需要先调用 EnableInEarMonitoring,将 includeAudioFilters 设置为 EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS 或 EAR_MONITORING_FILTER_NOISE_SUPPRESSION。
- SDK 会通过该方法中的 samplesPerCall、sampleRate 和 channel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 OnEarMonitoringAudioFrame 回调。
参数
- sampleRate
- OnEarMonitoringAudioFrame 中报告音频的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。
- channel
- OnEarMonitoringAudioFrame 中报告音频的声道数,可设置为 1 或 2:
- 1: 单声道。
- 2: 双声道。
- mode
音频帧的使用模式,详见 RAW_AUDIO_FRAME_OP_MODE_TYPE。
- samplesPerCall
- OnEarMonitoringAudioFrame 中报告的音频的采样点数,如旁路推流应用中通常为 1024。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
OnEarMonitoringAudioFrame
获得耳返的原始音频数据。
C#
public virtual bool OnEarMonitoringAudioFrame(AudioFrame audioFrame)
{
return true;
}
详情
为保证耳返的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置耳返音频数据格式:
- 方法一:调用 SetEarMonitoringAudioFrameParameters 设置音频数据格式后,调用 RegisterAudioFrameObserver 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 OnEarMonitoringAudioFrame 回调。
- 方法二:调用 RegisterAudioFrameObserver 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 OnEarMonitoringAudioFrame 回调。
信息
- 方法一的优先级高于方法二,如果已使用方法一设置了音频数据格式,则使用方法二的设置不生效。
参数
- audioFrame
- 音频原始数据。详见 AudioFrame。
返回值
无实际含义。