# AudioParams (/zh-CN/api-reference/rtc/unreal-cpp/class-audioparams)

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

<a id="class_audioparams__prototype"></a>

```cpp
struct AudioParams {
  int sample_rate;
  int channels;
  rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE mode;
  int samples_per_call;
  AudioParams() : sample_rate(0), channels(0), mode(rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY), samples_per_call(0) {}
  AudioParams(int samplerate, int channel, rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE type, int samplesPerCall) : sample_rate(samplerate), channels(channel), mode(type), samples_per_call(samplesPerCall) {}
};
```

<a id="class_audioparams__detailed_desc"></a>

### 详情 [#详情]

你可以在以下 API 中传入 AudioParams 对象，用于设置对应回调报告的音频数据格式：

- [getRecordAudioParams](/zh-CN/api-reference/rtc/unreal-cpp/audio/audio-raw#callback_iaudioframeobserverbase_getrecordaudioparams)：设置 [onRecordAudioFrame](/zh-CN/api-reference/rtc/unreal-cpp/audio/audio-raw#callback_iaudioframeobserverbase_onrecordaudioframe) 回调的数据格式。
- [getPlaybackAudioParams](/zh-CN/api-reference/rtc/unreal-cpp/audio/audio-raw#callback_iaudioframeobserverbase_getplaybackaudioparams)：设置 [onPlaybackAudioFrame](/zh-CN/api-reference/rtc/unreal-cpp/audio/audio-raw#callback_iaudioframeobserverbase_onplaybackaudioframe) 回调的数据格式。
- [getMixedAudioParams](/zh-CN/api-reference/rtc/unreal-cpp/audio/audio-raw#callback_iaudioframeobserverbase_getmixedaudioparams)：设置 [onMixedAudioFrame](/zh-CN/api-reference/rtc/unreal-cpp/audio/audio-raw#callback_iaudioframeobserverbase_onmixedaudioframe) 回调的数据格式。
- [getEarMonitoringAudioParams](/zh-CN/api-reference/rtc/unreal-cpp/audio/audio-raw#callback_iaudioframeobserverbase_getearmonitoringaudioparams)：设置 [onEarMonitoringAudioFrame](/zh-CN/api-reference/rtc/unreal-cpp/audio/audio-raw#callback_iaudioframeobserverbase_onearmonitoringaudioframe) 回调的数据格式。

:::caution
注意：

- SDK 会通过 AudioParams 中的 samplesPerCall、sampleRate 和 channel 参数计算采样间隔，并根据该采样间隔触发 onRecordAudioFrame、onPlaybackAudioFrame、onMixedAudioFrame 和 onEarMonitoringAudioFrame 回调。
- 采样间隔 = samplesPerCall/(sampleRate × channel)。
- 请确保采样间隔不得小于 0.01 (s)。
:::

<a id="class_audioparams__parameters"></a>

## 属性 [#属性]

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

数据的采样率，单位为 Hz，取值如下：

- 8000
- 16000（默认值）
- 32000
- 44100
- 48000

</Parameter>
<a id="channels"></a>
<Parameter name="channels">

数据的声道数，取值如下：

- 1：单声道（默认值）
- 2：双声道

</Parameter>
<a id="mode"></a>
<Parameter name="mode">

数据的使用模式。详见 [RAW_AUDIO_FRAME_OP_MODE_TYPE](/zh-CN/api-reference/rtc/unreal-cpp/enum-rawaudioframeopmodetype)。

</Parameter>
<a id="samples_per_call"></a>
<Parameter name="samples_per_call">

数据的采样点数，如旁路推流应用中通常为 1024。

</Parameter>
</ParameterList>
