音频采集
adjustLoopbackSignalVolume
调整声卡采集信号的音量。
C++
virtual int adjustLoopbackSignalVolume(int volume) = 0;
在调用 enableLoopbackRecording 启用环路音频采集后,可以调用该方法调整声卡采集信号的音量。
参数
- volume
- 混音音量。取值范围为 0 到 100。(默认值为 100,表示原始音量。)
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
adjustRecordingSignalVolume
调节采集音频信号的音量。
C++
virtual int adjustRecordingSignalVolume(int volume) = 0;
如果你只需要静音音频信号,声网建议使用 muteRecordingSignal 方法。
调用时机
该方法可以在加入频道前或加入频道后调用。
参数
- volume
- 用户的音量,取值范围为 [0,400]。
- 0:静音。
- 100:(默认)原始音量。
- 400:原始音量的四倍(将音频信号放大四倍)。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
enableInEarMonitoring
启用或关闭耳返功能。
C++
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
信息
你必须使用有线或蓝牙耳机才能听到耳返效果。
调用时机
你可以在加入频道前或加入频道后调用该方法。
参数
- enabled
- 是否启用耳返功能。信息
- true:启用耳返功能。
- false:(默认)关闭耳返功能。
- includeAudioFilters
- 耳返功能使用的音频滤镜类型,详见 EAR_MONITORING_FILTER_TYPE。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
- -8:请确保当前的音频路由为蓝牙或有线耳机。
enableLocalAudio
启用或关闭本地音频采集功能。
C++
virtual int enableLocalAudio(bool enabled) = 0;
该方法用于关闭或重新启用本地音频功能,从而停止或重新开始本地音频采集。 该方法与 muteLocalAudioStream 的区别如下:
- enableLocalAudio:关闭或重新启用本地音频采集和处理。如果通过该方法关闭或重新启用本地音频采集,本地用户可能会听到远端音频播放的中断。
- muteLocalAudioStream:仅停止或恢复发送本地音频流,不影响音频采集状态。
enabled 设置为 false 适用于只接收远端音频流而不发送本地音频的场景。你可以在加入频道前或加入频道后调用该方法。在加入频道前调用该方法仅设置设备状态,并在加入频道后立即生效。适用场景
enableLocalAudio(false) 适用于只接收远端音频流而不发送本地采集音频的场景。该方法不会影响接收远端音频流。
调用时机
你可以在加入频道前或加入频道后调用该方法。在加入频道前调用该方法仅设置设备状态,并在加入频道后立即生效。
相关回调
成功调用该方法后,SDK 会触发 onLocalAudioStateChanged 回调,报告 LOCAL_AUDIO_STREAM_STATE_STOPPED(0)或 LOCAL_AUDIO_STREAM_STATE_RECORDING(1)。
参数
- enabled
- 是否启用本地音频采集:
- true:(默认)重新启用本地音频功能,即启动本地音频采集设备(例如麦克风)。
- false:关闭本地音频功能,即停止本地音频采集。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
enableLoopbackRecording
启用声卡采集功能。
C++
virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
启用该功能后,声卡的输出音频会被混入发送到远端的音频流中。
信息
- 该方法仅适用于 macOS 和 Windows 平台。
- 你可以在加入频道前或加入频道后调用该方法。
- 如果你调用了 disableAudio 方法禁用了音频模块,音频采集也会被禁用。若需启用音频采集,请先调用 enableAudio 方法启用音频模块,再调用 enableLoopbackRecording 方法。
参数
- enabled
- 是否启用声卡采集:
- true:启用声卡采集。你可以在系统的音频设备 > 输出中查看虚拟声卡名称。
- false:禁用声卡采集。系统的音频设备 > 输出中不会显示虚拟声卡名称。
- deviceName
- macOS:虚拟声卡的设备名称。默认值为 NULL,表示使用
AgoraALD进行声卡采集。 - Windows:声卡的设备名称。默认值为 NULL,表示 SDK 使用你设备的声卡进行声卡采集。
- macOS:虚拟声卡的设备名称。默认值为 NULL,表示使用
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
enableLoopbackRecordingEx
启用声卡采集功能,将声卡输出混入发送的音频流中。
C++
virtual int enableLoopbackRecordingEx(const RtcConnection& connection, bool enabled, const char* deviceName = NULL) = 0;
启用该功能后,声卡的输出会被混入发送到远端的音频流中。
信息
- 该方法仅适用于 macOS 和 Windows 平台。
- macOS 不支持默认声卡的声卡采集功能。如需使用该功能,请使用虚拟声卡,并将其名称传入
deviceName参数。推荐使用AgoraALD作为虚拟声卡。 - 该方法仅支持使用一个声卡进行音频采集。
适用场景
该方法适用于多频道场景。
参数
- connection
- 连接信息,详见 RtcConnection。
- enabled
- 是否启用声卡采集功能:
- true:启用声卡采集。
- false:(默认)禁用声卡采集。
- deviceName
- macOS:虚拟声卡的设备名称。默认值为 NULL,表示使用
AgoraALD进行声卡采集。 - Windows:声卡的设备名称。默认值为 NULL,表示使用当前设备的声卡进行采集。
- macOS:虚拟声卡的设备名称。默认值为 NULL,表示使用
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
muteRecordingSignal
设置是否静音录制信号。
C++
virtual int muteRecordingSignal(bool mute) = 0;
如果你已经调用 adjustRecordingSignalVolume 方法调整了录制信号的音量,当你调用该方法并将参数设置为 true 时,SDK 会执行以下操作:
- 记录当前调整后的音量。
- 静音录制信号。
调用时机
该方法可以在加入频道前或后调用。
参数
- mute
- 是否静音录制信号:
- true:静音录制信号。
- false:(默认)不静音录制信号。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。