\hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration}{}\doxysection{io.\+agora.\+rtc2.\+Agora\+Media\+Recorder.\+Media\+Recorder\+Configuration Class Reference}
\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration}\index{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}}


Audio and video stream recording configuration.  


\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a3f307d6b27317a52863f284b8de298e0}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a3f307d6b27317a52863f284b8de298e0}} 
{\bfseries Media\+Recorder\+Configuration} (String \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a104a7a7a113151c82e95228f6e7b8443}{storage\+Path}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ab0dd0123ab31b402b9ff975d4f67ffd4}{container\+Format}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_aef4053503622ce7722ceb9f37042729c}{stream\+Type}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a06c0a9b124b80f872447289789c89462}{max\+Duration\+Ms}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ac25f40ef3d77eb0ba3790f78076461aa}{recorder\+Info\+Update\+Interval}})
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a270c7a677b6dc5644f750ac8680e4b84}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a270c7a677b6dc5644f750ac8680e4b84}} 
{\bfseries Media\+Recorder\+Configuration} (String \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a104a7a7a113151c82e95228f6e7b8443}{storage\+Path}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ab0dd0123ab31b402b9ff975d4f67ffd4}{container\+Format}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_aef4053503622ce7722ceb9f37042729c}{stream\+Type}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a06c0a9b124b80f872447289789c89462}{max\+Duration\+Ms}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ac25f40ef3d77eb0ba3790f78076461aa}{recorder\+Info\+Update\+Interval}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a933c7e54a2cec0ea08439bdc3a5414e2}{width}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a18cebc937072efea43680942b5d78561}{height}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a2cacd1deaa3bc955b348c876af6d6eee}{fps}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ae1184d3ffd7ee9a7f918142e511bfad2}{sample\+\_\+rate}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a0ceb8e76358ab49d493e7a5585a96e9e}{channel\+\_\+num}}, int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a8d55d7a7468dd990dae4dba3d9d28ee0}{video\+Source\+Type}})
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
String \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a104a7a7a113151c82e95228f6e7b8443}{storage\+Path}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ab0dd0123ab31b402b9ff975d4f67ffd4}{container\+Format}} = \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_aac18d6e91cc7be6acc3ddd8d4eb026f9}{C\+O\+N\+T\+A\+I\+N\+E\+R\+\_\+\+M\+P4}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_aef4053503622ce7722ceb9f37042729c}{stream\+Type}} = \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_af0a185b86df6eb4d3111b87604ccc1f1}{S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+O\+TH}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a06c0a9b124b80f872447289789c89462}{max\+Duration\+Ms}} = 120000
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ac25f40ef3d77eb0ba3790f78076461aa}{recorder\+Info\+Update\+Interval}} = 0
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a933c7e54a2cec0ea08439bdc3a5414e2}{width}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a18cebc937072efea43680942b5d78561}{height}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a2cacd1deaa3bc955b348c876af6d6eee}{fps}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ae1184d3ffd7ee9a7f918142e511bfad2}{sample\+\_\+rate}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a0ceb8e76358ab49d493e7a5585a96e9e}{channel\+\_\+num}}
\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a8d55d7a7468dd990dae4dba3d9d28ee0}{video\+Source\+Type}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Audio and video stream recording configuration. 

\begin{DoxySince}{Since}
v3.\+5.\+2 
\end{DoxySince}


\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a104a7a7a113151c82e95228f6e7b8443}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a104a7a7a113151c82e95228f6e7b8443}} 
\index{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}!storagePath@{storagePath}}
\index{storagePath@{storagePath}!io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}}
\doxysubsubsection{\texorpdfstring{storagePath}{storagePath}}
{\footnotesize\ttfamily String io.\+agora.\+rtc2.\+Agora\+Media\+Recorder.\+Media\+Recorder\+Configuration.\+storage\+Path}

The absolute path where the recording file is saved locally. The path must include the file name and extension. For example\+:
\begin{DoxyItemize}
\item Android\+: {\ttfamily /storage/emulated/0/\+Android/data/$<$package name$>$/files/example.mp4} \begin{DoxyNote}{Note}
Make sure the specified path exists and is writable. 
\end{DoxyNote}

\end{DoxyItemize}\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ab0dd0123ab31b402b9ff975d4f67ffd4}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ab0dd0123ab31b402b9ff975d4f67ffd4}} 
\index{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}!containerFormat@{containerFormat}}
\index{containerFormat@{containerFormat}!io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}}
\doxysubsubsection{\texorpdfstring{containerFormat}{containerFormat}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+Agora\+Media\+Recorder.\+Media\+Recorder\+Configuration.\+container\+Format = \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_aac18d6e91cc7be6acc3ddd8d4eb026f9}{C\+O\+N\+T\+A\+I\+N\+E\+R\+\_\+\+M\+P4}}}

The format of the recording file. Currently, only {\ttfamily C\+O\+N\+T\+A\+I\+N\+E\+R\+\_\+\+M\+P4} is supported. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_aef4053503622ce7722ceb9f37042729c}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_aef4053503622ce7722ceb9f37042729c}} 
\index{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}!streamType@{streamType}}
\index{streamType@{streamType}!io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}}
\doxysubsubsection{\texorpdfstring{streamType}{streamType}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+Agora\+Media\+Recorder.\+Media\+Recorder\+Configuration.\+stream\+Type = \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_af0a185b86df6eb4d3111b87604ccc1f1}{S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+O\+TH}}}

Recording content\+:
\begin{DoxyItemize}
\item {\ttfamily S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+U\+D\+IO}\+: Audio only.
\item {\ttfamily S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+V\+I\+D\+EO}\+: Video only.
\item {\ttfamily S\+T\+R\+E\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+O\+TH}\+: (Default) Both audio and video. 
\end{DoxyItemize}\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a06c0a9b124b80f872447289789c89462}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a06c0a9b124b80f872447289789c89462}} 
\index{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}!maxDurationMs@{maxDurationMs}}
\index{maxDurationMs@{maxDurationMs}!io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}}
\doxysubsubsection{\texorpdfstring{maxDurationMs}{maxDurationMs}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+Agora\+Media\+Recorder.\+Media\+Recorder\+Configuration.\+max\+Duration\+Ms = 120000}

Maximum recording duration in milliseconds. The default value is 120000. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ac25f40ef3d77eb0ba3790f78076461aa}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ac25f40ef3d77eb0ba3790f78076461aa}} 
\index{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}!recorderInfoUpdateInterval@{recorderInfoUpdateInterval}}
\index{recorderInfoUpdateInterval@{recorderInfoUpdateInterval}!io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}}
\doxysubsubsection{\texorpdfstring{recorderInfoUpdateInterval}{recorderInfoUpdateInterval}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+Agora\+Media\+Recorder.\+Media\+Recorder\+Configuration.\+recorder\+Info\+Update\+Interval = 0}

Interval for updating recording information, in milliseconds. The valid range is \mbox{[}1000, 10000\mbox{]}. The S\+DK triggers the {\ttfamily on\+Recorder\+Info\+Updated} callback based on this value to report the updated recording information. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a933c7e54a2cec0ea08439bdc3a5414e2}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a933c7e54a2cec0ea08439bdc3a5414e2}} 
\index{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}!width@{width}}
\index{width@{width}!io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}}
\doxysubsubsection{\texorpdfstring{width}{width}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+Agora\+Media\+Recorder.\+Media\+Recorder\+Configuration.\+width}

Width (px) of the recorded video. The maximum value of width × height must not exceed 3840 × 2160. This parameter is required only when you call {\ttfamily create\+Media\+Recorder} and set the {\ttfamily recorder\+Stream\+Type} of {\ttfamily \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_recorder_stream_info}{Recorder\+Stream\+Info}}} to 0. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a18cebc937072efea43680942b5d78561}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a18cebc937072efea43680942b5d78561}} 
\index{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}!height@{height}}
\index{height@{height}!io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}}
\doxysubsubsection{\texorpdfstring{height}{height}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+Agora\+Media\+Recorder.\+Media\+Recorder\+Configuration.\+height}

Height (px) of the recorded video. The maximum value of width × height must not exceed 3840 × 2160. This parameter is required only when you call {\ttfamily create\+Media\+Recorder} and set the {\ttfamily recorder\+Stream\+Type} of {\ttfamily \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_recorder_stream_info}{Recorder\+Stream\+Info}}} to 1. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a2cacd1deaa3bc955b348c876af6d6eee}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a2cacd1deaa3bc955b348c876af6d6eee}} 
\index{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}!fps@{fps}}
\index{fps@{fps}!io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}}
\doxysubsubsection{\texorpdfstring{fps}{fps}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+Agora\+Media\+Recorder.\+Media\+Recorder\+Configuration.\+fps}

Frame rate for recording video. The maximum value must not exceed 30, such as\+: 5, 10, 15, 24, 30, etc. You only need to pass this parameter when calling {\ttfamily create\+Media\+Recorder} and setting the {\ttfamily recorder\+Stream\+Type} of {\ttfamily \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_recorder_stream_info}{Recorder\+Stream\+Info}}} to 1. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ae1184d3ffd7ee9a7f918142e511bfad2}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_ae1184d3ffd7ee9a7f918142e511bfad2}} 
\index{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}!sample\_rate@{sample\_rate}}
\index{sample\_rate@{sample\_rate}!io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}}
\doxysubsubsection{\texorpdfstring{sample\_rate}{sample\_rate}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+Agora\+Media\+Recorder.\+Media\+Recorder\+Configuration.\+sample\+\_\+rate}

Sampling rate (Hz) for recording audio. You can set it to 16000, 32000, 44100, or 48000. This parameter is required only when you call {\ttfamily create\+Media\+Recorder} and set the {\ttfamily recorder\+Stream\+Type} of {\ttfamily \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_recorder_stream_info}{Recorder\+Stream\+Info}}} to 1. \mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a0ceb8e76358ab49d493e7a5585a96e9e}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a0ceb8e76358ab49d493e7a5585a96e9e}} 
\index{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}!channel\_num@{channel\_num}}
\index{channel\_num@{channel\_num}!io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}}
\doxysubsubsection{\texorpdfstring{channel\_num}{channel\_num}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+Agora\+Media\+Recorder.\+Media\+Recorder\+Configuration.\+channel\+\_\+num}

Number of channels for audio capturing\+:
\begin{DoxyItemize}
\item 1\+: Mono
\item 2\+: Stereo This parameter is required only when you call {\ttfamily create\+Media\+Recorder} and set the {\ttfamily recorder\+Stream\+Type} in {\ttfamily \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_recorder_stream_info}{Recorder\+Stream\+Info}}} to 1. 
\end{DoxyItemize}\mbox{\Hypertarget{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a8d55d7a7468dd990dae4dba3d9d28ee0}\label{classio_1_1agora_1_1rtc2_1_1_agora_media_recorder_1_1_media_recorder_configuration_a8d55d7a7468dd990dae4dba3d9d28ee0}} 
\index{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}!videoSourceType@{videoSourceType}}
\index{videoSourceType@{videoSourceType}!io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration@{io.agora.rtc2.AgoraMediaRecorder.MediaRecorderConfiguration}}
\doxysubsubsection{\texorpdfstring{videoSourceType}{videoSourceType}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+Agora\+Media\+Recorder.\+Media\+Recorder\+Configuration.\+video\+Source\+Type}

The type of the video source for recording. See {\ttfamily Video\+Source\+Type}. You only need to specify this parameter when calling {\ttfamily create\+Media\+Recorder} and setting the {\ttfamily recorder\+Stream\+Type} of {\ttfamily \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_recorder_stream_info}{Recorder\+Stream\+Info}}} to 1. 