# 音频采集 (/zh-CN/api-reference/rtc/csharp-windows/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>

```csharp
public abstract int AdjustLoopbackSignalVolume(int volume);
```

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

### 详情 [#详情]

调用 [EnableLoopbackRecording](/zh-CN/api-reference/rtc/csharp-windows/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)了解详情和解决建议。

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

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

## AdjustRecordingSignalVolume [#adjustrecordingsignalvolume]

调节音频采集信号音量。

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

```csharp
public abstract int AdjustRecordingSignalVolume(int volume);
```

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

如果你只需将音频信号静音，建议你使用 [MuteRecordingSignal](/zh-CN/api-reference/rtc/csharp-windows/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)了解详情和解决建议。

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

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

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

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

## EnableLocalAudio [#enablelocalaudio]

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

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

```csharp
public abstract int EnableLocalAudio(bool enabled);
```

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

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

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

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

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

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

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

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

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

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

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

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

无。

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

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

音频功能关闭或重新开启后，会收到 [OnLocalAudioStateChanged](/zh-CN/api-reference/rtc/csharp-windows/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>

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

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

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

</Parameter>
</ParameterList>

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

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

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

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

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

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

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

## EnableLoopbackRecording [#enableloopbackrecording]

开启声卡采集。

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

```csharp
public abstract int EnableLoopbackRecording(bool enabled, string deviceName = "");
```

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

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

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

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

:::caution
注意：

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

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

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

<ParameterList>
<a id="enabled-1"></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">

声卡的设备名。默认为空，代表使用设备自带的声卡进行采集。

</Parameter>
</ParameterList>

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

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

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

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

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

## EnableLoopbackRecordingEx [#enableloopbackrecordingex]

开启声卡采集。

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

```csharp
public abstract int EnableLoopbackRecordingEx(RtcConnection connection, bool enabled, string deviceName);
```

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

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

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

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

:::caution
注意：

- 该方法目前仅支持一路声卡采集。
:::

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

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

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

Connection 信息。详见 [RtcConnection](/zh-CN/api-reference/rtc/csharp-windows/class-rtcconnection)。

</Parameter>
<a id="enabled-2"></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">

声卡的设备名。默认为空，代表使用设备自带的声卡进行采集。

</Parameter>
</ParameterList>

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

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

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

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

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

## MuteRecordingSignal [#muterecordingsignal]

是否将录音信号静音。

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

```csharp
public abstract int MuteRecordingSignal(bool mute);
```

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

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

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

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

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

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

加入频道前后均可调用。

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

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

无。

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

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

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

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

</Parameter>
</ParameterList>

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

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

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

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

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