# 音频采集 (/zh-CN/api-reference/rtc/unreal-blueprint/audio/audio-capture)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

<a id="toc_audio_capture"></a>

<a id="api_irtcengine_adjustloopbacksignalvolume"></a>

<a id="ariaid-title2"></a>

## AdjustLoopbackSignalVolume [#adjustloopbacksignalvolume]

调节声卡采集信号音量。

<a id="api_irtcengine_adjustloopbacksignalvolume__prototype"></a>

```cpp
UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine")
	int AdjustLoopbackSignalVolume(int volume);
```

<a id="api_irtcengine_adjustloopbacksignalvolume__detailed_desc"></a>

### 详情 [#详情]

调用 [EnableLoopbackRecording](/zh-CN/api-reference/rtc/unreal-blueprint/audio/audio-capture#api_irtcengine_enableloopbackrecording) 开启声卡采集后，你可以调用该方法调节声卡采集的信号音量。

<a id="api_irtcengine_adjustloopbacksignalvolume__parameters"></a>

### 参数 [#参数]

<ParameterList>
<a id="volume"></a>
<Parameter name="volume">

音乐文件音量范围为 0~100。100 （默认值）为原始文件音量。

</Parameter>
</ParameterList>

<a id="api_irtcengine_adjustloopbacksignalvolume__return_values"></a>

### 返回值 [#返回值]

<a id="api_irtcengine_adjustloopbacksignalvolume__ul_n4m_tyw_jqb"></a>

- 0: 方法调用成功
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类]

- [IRtcEngine](/zh-CN/api-reference/rtc/unreal-blueprint/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_adjustrecordingsignalvolume"></a>

<a id="ariaid-title3"></a>

## AdjustRecordingSignalVolume [#adjustrecordingsignalvolume]

调节音频采集信号音量。

<a id="api_irtcengine_adjustrecordingsignalvolume__prototype"></a>

```cpp
UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine")
	int AdjustRecordingSignalVolume(int volume);
```

<a id="api_irtcengine_adjustrecordingsignalvolume__detailed_desc"></a>

如果你只需将音频信号静音，建议你使用 [MuteRecordingSignal](/zh-CN/api-reference/rtc/unreal-blueprint/audio/audio-capture#api_irtcengine_muterecordingsignal)。

<a id="api_irtcengine_adjustrecordingsignalvolume__timing"></a>

### 调用时机 [#调用时机]

加入频道前后均可调用。

<a id="api_irtcengine_adjustrecordingsignalvolume__restriction"></a>

### 调用限制 [#调用限制]

无。

<a id="api_irtcengine_adjustrecordingsignalvolume__parameters"></a>

### 参数 [#参数-1]

<ParameterList>
<a id="volume-1"></a>
<Parameter name="volume">

音量，取值范围为 [0,400]。

- 0: 静音。
- 100: （默认）原始音量。
- 400: 原始音量的 4 倍，自带溢出保护。

</Parameter>
</ParameterList>

<a id="api_irtcengine_adjustrecordingsignalvolume__return_values"></a>

### 返回值 [#返回值-1]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-1]

- [IRtcEngine](/zh-CN/api-reference/rtc/unreal-blueprint/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_enableinearmonitoring2"></a>

<a id="ariaid-title4"></a>

## EnableInEarMonitoring [#enableinearmonitoring]

开启耳返功能。

<a id="api_irtcengine_enableinearmonitoring2__prototype"></a>

```cpp
UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine")
	int EnableInEarMonitoring(bool enabled, int includeAudioFilters);
```

<a id="api_irtcengine_enableinearmonitoring2__detailed_desc"></a>

<a id="api_irtcengine_enableinearmonitoring2__desc"></a>

该方法用于打开或关闭耳返功能。

<a id="api_irtcengine_enableinearmonitoring2__timing"></a>

### 调用时机 [#调用时机-1]

加入频道前后均可调用。

<a id="api_irtcengine_enableinearmonitoring2__restriction"></a>

### 调用限制 [#调用限制-1]

用户必须使用耳机（有线和蓝牙均可）才能听到耳返效果。

<a id="api_irtcengine_enableinearmonitoring2__parameters"></a>

### 参数 [#参数-2]

<ParameterList>
<a id="enabled"></a>
<Parameter name="enabled">

开启/关闭耳返功能:

- `true`: 开启耳返功能。
- `false`: （默认）关闭耳返功能。

</Parameter>
<a id="includeaudiofilters"></a>
<Parameter name="includeAudioFilters">

耳返 Audio filter 类型：

<a id="api_irtcengine_enableinearmonitoring2__ul_nwv_hcy_4qb"></a>

- EAR_MONITORING_FILTER_NONE (1 &lt;&lt; 0)：不在耳返中添加 Audio filter。
- EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS (1 &lt;&lt; 1): 在耳返中添加人声效果 Audio filter。如果你实现了美声、音效等功能，用户可以在耳返中听到添加效果后的声音。该枚举值支持使用按位或运算符（|）进行组合。
- EAR_MONITORING_FILTER_NOISE_SUPPRESSION (1 &lt;&lt;2)：在耳返中添加降噪 Audio filter。该枚举值支持使用按位或运算符（|）进行组合。
- EAR_MONITORING_FILTER_REUSE_POST_PROCESSING_FILTER (1 &lt;&lt;15)：
  复用发送端已进行过音效处理的 Audio filter。通过复用 Audio filter 降低耳返对 CPU 的占用率，但会增加耳返延迟，适用于需要降低 CPU 消耗且对耳返延迟不敏感的场景。该枚举值仅支持单独使用，一旦指定了该选项，其他 Audio filter 配置将自动失效。

:::caution
注意： 该参数仅在 enabled 设为 `true` 时生效。
:::

</Parameter>
</ParameterList>

<a id="api_irtcengine_enableinearmonitoring2__return_values"></a>

### 返回值 [#返回值-2]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

  - - 8: 请确保当前的音频路由为蓝牙或耳机。

### 所属接口类 [#所属接口类-2]

- [IRtcEngine](/zh-CN/api-reference/rtc/unreal-blueprint/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_enablelocalaudio"></a>

<a id="ariaid-title5"></a>

## EnableLocalAudio [#enablelocalaudio]

开启或关闭本地音频采集。

<a id="api_irtcengine_enablelocalaudio__prototype"></a>

```cpp
UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine")
	int EnableLocalAudio(bool enabled);
```

<a id="api_irtcengine_enablelocalaudio__detailed_desc"></a>

当用户加入频道时，音频功能默认是开启的。该方法可以关闭或重新开启本地音频功能，即停止或重新开始本地音频采集。

该方法与 [MuteLocalAudioStream](/zh-CN/api-reference/rtc/unreal-blueprint/publishnsubscribe#api_irtcengine_mutelocalaudiostream) 的区别在于：

- EnableLocalAudio: 开启或关闭本地音频采集及处理。使用 EnableLocalAudio 关闭或开启本地采集后，本地听远端播放会有短暂中断。
- MuteLocalAudioStream: 停止或继续发送本地音频流，不影响音频的采集状态。

<a id="api_irtcengine_enablelocalaudio__scenario"></a>

### 适用场景 [#适用场景]

该方法不影响远端音频流的接收和播放。EnableLocalAudio`(false)` 适用于只接收远端音频而不发送本地采集音频的场景。

<a id="api_irtcengine_enablelocalaudio__timing"></a>

### 调用时机 [#调用时机-2]

该方法在加入频道前后均可调用。在加入频道前调用只能设置设备状态，在加入频道后才会立即生效。

<a id="api_irtcengine_enablelocalaudio__restriction"></a>

### 调用限制 [#调用限制-2]

无。

<a id="api_irtcengine_enablelocalaudio__related"></a>

### 相关回调 [#相关回调]

音频功能关闭或重新开启后，会收到 [OnLocalAudioStateChanged](/zh-CN/api-reference/rtc/unreal-blueprint/audio/audio-basic#callback_irtcengineeventhandler_onlocalaudiostatechanged) 回调，并报告 LOCAL_AUDIO_STREAM_STATE_STOPPED(0) 或 LOCAL_AUDIO_STREAM_STATE_RECORDING(1)。

<a id="api_irtcengine_enablelocalaudio__parameters"></a>

### 参数 [#参数-3]

<ParameterList>
<a id="enabled-1"></a>
<Parameter name="enabled">

- `true`: 重新开启本地音频功能，即开启本地音频采集（默认）；
- `false`: 关闭本地音频功能，即停止本地音频采集。

</Parameter>
</ParameterList>

<a id="api_irtcengine_enablelocalaudio__return_values"></a>

### 返回值 [#返回值-3]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-3]

- [IRtcEngine](/zh-CN/api-reference/rtc/unreal-blueprint/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_enableloopbackrecording"></a>

<a id="ariaid-title6"></a>

## EnableLoopbackRecording [#enableloopbackrecording]

开启声卡采集。

<a id="api_irtcengine_enableloopbackrecording__prototype"></a>

```cpp
UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine")
	int EnableLoopbackRecording(bool enabled, const FString & deviceName);
```

<a id="api_irtcengine_enableloopbackrecording__detailed_desc"></a>

### 详情 [#详情-1]

启用声卡采集功能后，声卡播放的声音会被合到本地音频流中，从而可以发送到远端。

<a id="api_irtcengine_enableloopbackrecording__note_v4j_tbx_jqb"></a>

:::caution
注意：

- 该方法仅适用于 macOS 和 Windows 平台。
- 该方法在加入频道前后都能调用。
- 如果你调用了 [DisableAudio](/zh-CN/api-reference/rtc/unreal-blueprint/audio/audio-basic#api_irtcengine_disableaudio) 关闭音频模块，声卡采集功能也会被关闭。如果你需要再次启用声卡采集功能，需要调用 [EnableAudio](/zh-CN/api-reference/rtc/unreal-blueprint/audio/audio-basic#api_irtcengine_enableaudio) 启用音频模块后再次调用 EnableLoopbackRecording。
:::

<a id="api_irtcengine_enableloopbackrecording__parameters"></a>

### 参数 [#参数-4]

<ParameterList>
<a id="enabled-2"></a>
<Parameter name="enabled">

是否开启声卡采集:

<a id="api_irtcengine_enableloopbackrecording__ul_qjq_swq_t4b"></a>

- `true`: 开启声卡采集；系统**声音 &gt; 输出**界面显示虚拟声卡名称。
- `false`:（默认）关闭声卡采集；系统**声音 &gt; 输出**界面不显示虚拟声卡名称。

</Parameter>
<a id="devicename"></a>
<Parameter name="deviceName">

- macOS: 虚拟声卡的设备名。默认为空，代表使用 AgoraALD 虚拟声卡进行采集。
- Windows: 声卡的设备名。默认为空，代表使用设备自带的声卡进行采集。

</Parameter>
</ParameterList>

<a id="api_irtcengine_enableloopbackrecording__return_values"></a>

### 返回值 [#返回值-4]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-4]

- [IRtcEngine](/zh-CN/api-reference/rtc/unreal-blueprint/rtc-interface-class#class_irtcengine)

<a id="api_irtcengineex_enableloopbackrecordingex"></a>

<a id="ariaid-title7"></a>

## EnableLoopbackRecordingEx [#enableloopbackrecordingex]

开启声卡采集。

<a id="api_irtcengineex_enableloopbackrecordingex__prototype"></a>

```cpp
UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine")
	int EnableLoopbackRecordingEx(const FRtcConnection& connection, bool enabled, const FString& deviceName);
```

<a id="api_irtcengineex_enableloopbackrecordingex__detailed_desc"></a>

### 详情 [#详情-2]

启用声卡采集功能后，声卡播放的声音会被合到本地音频流中，从而可以发送到远端。

<a id="api_irtcengineex_enableloopbackrecordingex__note_v4j_tbx_jqb"></a>

:::caution
注意：

- 该方法仅适用于 macOS 和 Windows 平台。
- macOS 系统默认声卡不支持采集功能，如果你需要使用该功能，请启用一个虚拟声卡，并将 deviceName 设为该虚拟声卡的设备名。声网推荐你使用声网自研的虚拟声卡 AgoraALD 进行采集。
- 该方法目前仅支持一路声卡采集。
:::

<a id="api_irtcengineex_enableloopbackrecordingex__parameters"></a>

### 参数 [#参数-5]

<ParameterList>
<a id="connection"></a>
<Parameter name="connection">

Connection 信息。详见 [FUABT_RtcConnection](/zh-CN/api-reference/rtc/unreal-blueprint/class-rtcconnection)。

</Parameter>
<a id="enabled-3"></a>
<Parameter name="enabled">

是否开启声卡采集：

<a id="api_irtcengineex_enableloopbackrecordingex__ul_kgm_wbx_jqb"></a>

- `true`: 开启声卡采集。
- `false`:（默认）不开启声卡采集。

</Parameter>
<a id="devicename-1"></a>
<Parameter name="deviceName">

- macOS: 虚拟声卡的设备名。默认为空，代表使用 AgoraALD 虚拟声卡进行采集。
- Windows: 声卡的设备名。默认为空，代表使用设备自带的声卡进行采集。

</Parameter>
</ParameterList>

<a id="api_irtcengineex_enableloopbackrecordingex__return_values"></a>

### 返回值 [#返回值-5]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-5]

- [IRtcEngineEx](/zh-CN/api-reference/rtc/unreal-blueprint/rtc-interface-class#class_irtcengineex)

<a id="api_irtcengine_muterecordingsignal"></a>

<a id="ariaid-title8"></a>

## MuteRecordingSignal [#muterecordingsignal]

是否将录音信号静音。

<a id="api_irtcengine_muterecordingsignal__prototype"></a>

```cpp
UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine")
	int MuteRecordingSignal(bool mute);
```

<a id="api_irtcengine_muterecordingsignal__detailed_desc"></a>

如果你已经调用 [AdjustRecordingSignalVolume](/zh-CN/api-reference/rtc/unreal-blueprint/audio/audio-capture#api_irtcengine_adjustrecordingsignalvolume) 调节了音频采集信号音量，则调用该方法并设置为 `true` 时，SDK 的行为如下：

1. 记录调节后的音量。
2. 将音频采集信号静音。

当你再次调用该方法并设置为 `false` 时，录音信号会恢复为静音前 SDK 记录的音量。

<a id="api_irtcengine_muterecordingsignal__timing"></a>

### 调用时机 [#调用时机-3]

加入频道前后均可调用。

<a id="api_irtcengine_muterecordingsignal__restriction"></a>

### 调用限制 [#调用限制-3]

无。

<a id="api_irtcengine_muterecordingsignal__parameters"></a>

### 参数 [#参数-6]

<ParameterList>
<a id="mute"></a>
<Parameter name="mute">

- `true`: 静音。
- `false`:（默认）原始音量。

</Parameter>
</ParameterList>

<a id="api_irtcengine_muterecordingsignal__return_values"></a>

### 返回值 [#返回值-6]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-6]

- [IRtcEngine](/zh-CN/api-reference/rtc/unreal-blueprint/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_setinearmonitoringvolume"></a>

<a id="ariaid-title9"></a>

## SetInEarMonitoringVolume [#setinearmonitoringvolume]

设置耳返音量。

<a id="api_irtcengine_setinearmonitoringvolume__prototype"></a>

```cpp
UFUNCTION(BlueprintCallable, Category = "Agora|IRtcEngine")
	int SetInEarMonitoringVolume(int volume);
```

<a id="api_irtcengine_setinearmonitoringvolume__detailed_desc"></a>

<a id="api_irtcengine_setinearmonitoringvolume__timing"></a>

### 调用时机 [#调用时机-4]

加入频道前后均可调用。

<a id="api_irtcengine_setinearmonitoringvolume__restriction"></a>

### 调用限制 [#调用限制-4]

无。

<a id="api_irtcengine_setinearmonitoringvolume__parameters"></a>

### 参数 [#参数-7]

<ParameterList>
<a id="volume-2"></a>
<Parameter name="volume">

音量，取值范围为 [0,400]。

- 0: 静音。
- 100: （默认）原始音量。
- 400: 原始音量的 4 倍，自带溢出保护。

</Parameter>
</ParameterList>

<a id="api_irtcengine_setinearmonitoringvolume__return_values"></a>

### 返回值 [#返回值-7]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

  - -2: 参数设置无效，例如耳返音量超出取值范围 (&lt; 0 或 &gt; 400)。

### 所属接口类 [#所属接口类-7]

- [IRtcEngine](/zh-CN/api-reference/rtc/unreal-blueprint/rtc-interface-class#class_irtcengine)
