音频采集

  • C++

更新时间不可用

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 使用你设备的声卡进行声卡采集。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 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,表示使用当前设备的声卡进行采集。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

muteRecordingSignal

设置是否静音录制信号。

C++
virtual int muteRecordingSignal(bool mute) = 0;

如果你已经调用 adjustRecordingSignalVolume 方法调整了录制信号的音量,当你调用该方法并将参数设置为 true 时,SDK 会执行以下操作:

  • 记录当前调整后的音量。
  • 静音录制信号。

当你再次调用该方法并将参数设置为 false 时,录制信号音量会恢复为静音前记录的音量。该方法可以在加入频道前或后调用。

调用时机

该方法可以在加入频道前或后调用。

参数

参数名描述
mute

是否静音录制信号:

  • true:静音录制信号。
  • false:(默认)不静音录制信号。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setInEarMonitoringVolume

设置耳返音量。

C++
virtual int setInEarMonitoringVolume(int volume) = 0;

调用时机

该方法可以在加入频道前或加入频道后调用。

参数

参数名描述
volume

用户的音量,取值范围为 [0, 400]。

  • 0:静音。
  • 100:(默认)原始音量。
  • 400:原始音量的四倍(将音频信号放大四倍)。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。

  • < 0:方法调用失败。详见错误码了解详情和解决建议。

    • -2:参数设置不合法,例如耳返音量超出有效范围(小于 0 或大于 400)。

所属接口类