# MediaRecorderConfiguration (/zh-CN/api-reference/rtc/unreal-cpp/class-mediarecorderconfiguration)

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

<a id="class_mediarecorderconfiguration__prototype"></a>

```cpp
struct MediaRecorderConfiguration {
  const char* storagePath;
  MediaRecorderContainerFormat containerFormat;
  MediaRecorderStreamType streamType;
  int maxDurationMs;
  int recorderInfoUpdateInterval;
  int width;
  int height;
  int fps;
  int sample_rate;
  int channel_num;
  agora::rtc::VIDEO_SOURCE_TYPE videoSourceType;

  MediaRecorderConfiguration()
      : storagePath(NULL),
        containerFormat(FORMAT_MP4),
        streamType(STREAM_TYPE_BOTH),
        maxDurationMs(120000),
        recorderInfoUpdateInterval(0),
        width(1280),
        height(720),
        fps(30),
        sample_rate(48000),
        channel_num(1),
        videoSourceType(rtc::VIDEO_SOURCE_CAMERA_PRIMARY) {}
  MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format,
                             MediaRecorderStreamType type, int duration, int interval)
      : storagePath(path),
        containerFormat(format),
        streamType(type),
        maxDurationMs(duration),
        recorderInfoUpdateInterval(interval),
        width(1280),
        height(720),
        fps(30),
        sample_rate(48000),
        channel_num(1),
        videoSourceType(rtc::VIDEO_SOURCE_CAMERA_PRIMARY) {}};
```

<a id="class_mediarecorderconfiguration__detailed_desc"></a>

<a id="class_mediarecorderconfiguration__parameters"></a>

## 属性 [#属性]

<ParameterList>
<a id="storagepath"></a>
<Parameter name="storagePath">

录制文件在本地保存的绝对路径，需精确到文件名及格式。例如：

- Windows: `C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.mp4`
- iOS: `/App Sandbox/Library/Caches/example.mp4`
- macOS: `/Library/Logs/example.mp4`
- Android: `/storage/emulated/0/Android/data/<package name>/files/example.mp4`

:::caution
注意： 请确保你指定的路径存在并且可写。
:::

</Parameter>
<a id="containerformat"></a>
<Parameter name="containerFormat">

录制文件的格式。详见 [MediaRecorderContainerFormat](/zh-CN/api-reference/rtc/unreal-cpp/enum-mediarecordercontainerformat)。

</Parameter>
<a id="streamtype"></a>
<Parameter name="streamType">

录制内容。详见 [MediaRecorderStreamType](/zh-CN/api-reference/rtc/unreal-cpp/enum-mediarecorderstreamtype)。

</Parameter>
<a id="maxdurationms"></a>
<Parameter name="maxDurationMs">

最大录制时长，单位为毫秒，默认值为 120000。

</Parameter>
<a id="recorderinfoupdateinterval"></a>
<Parameter name="recorderInfoUpdateInterval">

录制信息更新间隔，单位为毫秒，取值范围为 [1000,10000]。SDK 会根据该值的设置触发 [onRecorderInfoUpdated](/zh-CN/api-reference/rtc/unreal-cpp/recording#callback_imediarecorderobserver_onrecorderinfoupdated) 回调，报告更新后的录制信息。

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

录制视频的宽度 (px)，宽 × 高的最大值不应超过 3840 × 2160。
                    该参数仅在 调用 [createMediaRecorder](/zh-CN/api-reference/rtc/unreal-cpp/recording#api_irtcengine_createmediarecorder) 且将 RecorderStreamInfo 中的 type设置为 PREVIEW 时需要传入。

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

录制视频的高度 (px)，宽 × 高的最大值不超过 3840 × 2160。
                    该参数仅在 调用 [createMediaRecorder](/zh-CN/api-reference/rtc/unreal-cpp/recording#api_irtcengine_createmediarecorder) 且将 RecorderStreamInfo 中的 type设置为 PREVIEW 时需要传入。

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

录制视频的帧率，最高值不超过 30，如： 5、10、15、24、30 等。
                    该参数仅在 调用 [createMediaRecorder](/zh-CN/api-reference/rtc/unreal-cpp/recording#api_irtcengine_createmediarecorder) 且将 RecorderStreamInfo 中的 type设置为 PREVIEW 时需要传入。

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

录制音频的采样率 (Hz)，可设置为 16000，32000，44100 或 48000。
                    该参数仅在 调用 [createMediaRecorder](/zh-CN/api-reference/rtc/unreal-cpp/recording#api_irtcengine_createmediarecorder) 且将 RecorderStreamInfo 中的 type设置为 PREVIEW 时需要传入。

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

录制音频的声道数:

- 1: 单声道
- 2: 双声道

该参数仅在 调用 [createMediaRecorder](/zh-CN/api-reference/rtc/unreal-cpp/recording#api_irtcengine_createmediarecorder) 且将 RecorderStreamInfo 中的 type设置为 PREVIEW 时需要传入。

</Parameter>
<a id="videosourcetype"></a>
<Parameter name="videoSourceType">

录制视频源的类型。详见 [VIDEO_SOURCE_TYPE](/zh-CN/api-reference/rtc/unreal-cpp/enum-videosourcetype)。
                    该参数仅在 调用 [createMediaRecorder](/zh-CN/api-reference/rtc/unreal-cpp/recording#api_irtcengine_createmediarecorder) 且将 RecorderStreamInfo 中的 type设置为 PREVIEW 时需要传入。

</Parameter>
</ParameterList>
