音频采集
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: 原始音量的 4 倍,自带溢出保护。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
enableInEarMonitoring
开启耳返功能。
C++
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
该方法用于打开或关闭耳返功能。
调用时机
加入频道前后均可调用。
调用限制
用户必须使用耳机(有线和蓝牙均可)才能听到耳返效果。
参数
- enabled
- 开启/关闭耳返功能:
true
: 开启耳返功能。false
: (默认)关闭耳返功能。
- includeAudioFilters
- 耳返 Audio filter 类型。详见 EAR_MONITORING_FILTER_TYPE。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
- - 8: 请确保当前的音频路由为蓝牙或耳机。
enableLocalAudio
开启或关闭本地音频采集。
C++
virtual int enableLocalAudio(bool enabled) = 0;
当用户加入频道时,音频功能默认是开启的。该方法可以关闭或重新开启本地音频功能,即停止或重新开始本地音频采集。
该方法与 muteLocalAudioStream 的区别在于:
- enableLocalAudio: 开启或关闭本地音频采集及处理。使用 enableLocalAudio 关闭或开启本地采集后,本地听远端播放会有短暂中断。
- muteLocalAudioStream: 停止或继续发送本地音频流,不影响音频的采集状态。
适用场景
该方法不影响远端音频流的接收和播放。enableLocalAudio(false)
适用于只接收远端音频而不发送本地采集音频的场景。
调用时机
该方法在加入频道前后均可调用。在加入频道前调用只能设置设备状态,在加入频道后才会立即生效。
调用限制
无。
相关回调
音频功能关闭或重新开启后,会收到 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 平台。
- macOS 系统默认声卡不支持采集功能,如果你需要使用该功能,请启用一个虚拟声卡,并将 deviceName 设为该虚拟声卡的设备名。声网推荐你使用声网自研的虚拟声卡 AgoraALD 进行采集。
- 该方法在加入频道前后都能调用。
- 如果你调用了 disableAudio 关闭音频模块,声卡采集功能也会被关闭。如果你需要再次启用声卡采集功能,需要调用 enableAudio 启用音频模块后再次调用 enableLoopbackRecording。
参数
- enabled
- 是否开启声卡采集:
true
: 开启声卡采集。false
:(默认)关闭声卡采集。
- deviceName
- macOS: 虚拟声卡的设备名。默认为空,代表使用 AgoraALD 虚拟声卡进行采集。
- Windows: 声卡的设备名。默认为空,代表使用设备自带的声卡进行采集。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
enableLoopbackRecordingEx
开启声卡采集。
C++
virtual int enableLoopbackRecordingEx(const RtcConnection& connection, bool enabled, const char* deviceName = NULL) = 0;
详情
启用声卡采集功能后,声卡播放的声音会被合到本地音频流中,从而可以发送到远端。
注意
- 该方法仅适用于 macOS 和 Windows 平台。
- macOS 系统默认声卡不支持采集功能,如果你需要使用该功能,请启用一个虚拟声卡,并将 deviceName 设为该虚拟声卡的设备名。声网推荐你使用声网自研的虚拟声卡 AgoraALD 进行采集。
- 该方法目前仅支持一路声卡采集。
参数
- connection
- Connection 信息。详见 RtcConnection。
- enabled
- 是否开启声卡采集:
true
: 开启声卡采集。false
:(默认)不开启声卡采集。
- deviceName
- macOS: 虚拟声卡的设备名。默认为空,代表使用 AgoraALD 虚拟声卡进行采集。
- Windows: 声卡的设备名。默认为空,代表使用设备自带的声卡进行采集。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
muteRecordingSignal
是否将录音信号静音。
C++
virtual int muteRecordingSignal(bool mute) = 0;
如果你已经调用 adjustRecordingSignalVolume 调节了音频采集信号音量,则调用该方法并设置为
true
时,SDK 的行为如下:- 记录调节后的音量。
- 将音频采集信号静音。
false
时,录音信号会恢复为静音前 SDK 记录的音量。调用时机
加入频道前后均可调用。
调用限制
无。
参数
- mute
true
: 静音。false
:(默认)原始音量。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。