\hypertarget{classagora_1_1media_1_1_i_media_recorder_observer}{}\doxysection{agora\+::media\+::I\+Media\+Recorder\+Observer Class Reference}
\label{classagora_1_1media_1_1_i_media_recorder_observer}\index{agora::media::IMediaRecorderObserver@{agora::media::IMediaRecorderObserver}}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \mbox{\hyperlink{classagora_1_1media_1_1_i_media_recorder_observer_a9c2004c3fe6d7e1ef55bbcf687fdd904}{on\+Recorder\+State\+Changed}} (const char $\ast$channel\+Id, rtc\+::uid\+\_\+t uid, Recorder\+State state, Recorder\+Reason\+Code reason)=0
\begin{DoxyCompactList}\small\item\em Callback when the recording state changes. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{classagora_1_1media_1_1_i_media_recorder_observer_aead58f033f1805246a1f4b7b94cb5666}{on\+Recorder\+Info\+Updated}} (const char $\ast$channel\+Id, rtc\+::uid\+\_\+t uid, const \mbox{\hyperlink{structagora_1_1media_1_1_recorder_info}{Recorder\+Info}} \&info)=0
\begin{DoxyCompactList}\small\item\em Callback for recording information updates. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classagora_1_1media_1_1_i_media_recorder_observer_a9c2004c3fe6d7e1ef55bbcf687fdd904}\label{classagora_1_1media_1_1_i_media_recorder_observer_a9c2004c3fe6d7e1ef55bbcf687fdd904}} 
\index{agora::media::IMediaRecorderObserver@{agora::media::IMediaRecorderObserver}!onRecorderStateChanged@{onRecorderStateChanged}}
\index{onRecorderStateChanged@{onRecorderStateChanged}!agora::media::IMediaRecorderObserver@{agora::media::IMediaRecorderObserver}}
\doxysubsubsection{\texorpdfstring{onRecorderStateChanged()}{onRecorderStateChanged()}}
{\footnotesize\ttfamily virtual void agora\+::media\+::\+I\+Media\+Recorder\+Observer\+::on\+Recorder\+State\+Changed (\begin{DoxyParamCaption}\item[{const char $\ast$}]{channel\+Id,  }\item[{rtc\+::uid\+\_\+t}]{uid,  }\item[{Recorder\+State}]{state,  }\item[{Recorder\+Reason\+Code}]{reason }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Callback when the recording state changes. 

\begin{DoxySince}{Since}
v4.\+0.\+0
\end{DoxySince}
When the recording state of the audio and video stream changes, the S\+DK triggers this callback to report the current recording state and the reason for the change.


\begin{DoxyParams}{Parameters}
{\em channel\+Id} & Channel name. \\
\hline
{\em uid} & User ID. \\
\hline
{\em state} & Current recording state. See {\ttfamily Recorder\+State}. \\
\hline
{\em reason} & Reason for the recording state change. See {\ttfamily Recorder\+Reason\+Code}. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classagora_1_1media_1_1_i_media_recorder_observer_aead58f033f1805246a1f4b7b94cb5666}\label{classagora_1_1media_1_1_i_media_recorder_observer_aead58f033f1805246a1f4b7b94cb5666}} 
\index{agora::media::IMediaRecorderObserver@{agora::media::IMediaRecorderObserver}!onRecorderInfoUpdated@{onRecorderInfoUpdated}}
\index{onRecorderInfoUpdated@{onRecorderInfoUpdated}!agora::media::IMediaRecorderObserver@{agora::media::IMediaRecorderObserver}}
\doxysubsubsection{\texorpdfstring{onRecorderInfoUpdated()}{onRecorderInfoUpdated()}}
{\footnotesize\ttfamily virtual void agora\+::media\+::\+I\+Media\+Recorder\+Observer\+::on\+Recorder\+Info\+Updated (\begin{DoxyParamCaption}\item[{const char $\ast$}]{channel\+Id,  }\item[{rtc\+::uid\+\_\+t}]{uid,  }\item[{const \mbox{\hyperlink{structagora_1_1media_1_1_recorder_info}{Recorder\+Info}} \&}]{info }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Callback for recording information updates. 

\begin{DoxySince}{Since}
v4.\+0.\+0
\end{DoxySince}
After successfully registering this callback and starting audio and video stream recording, the S\+DK periodically triggers this callback based on the value of {\ttfamily recorder\+Info\+Update\+Interval} set in {\ttfamily \mbox{\hyperlink{structagora_1_1media_1_1_media_recorder_configuration}{Media\+Recorder\+Configuration}}}, reporting the current recording file\textquotesingle{}s name, duration, and size.


\begin{DoxyParams}{Parameters}
{\em channel\+Id} & Channel name. \\
\hline
{\em uid} & User ID. \\
\hline
{\em info} & Recording file information. See {\ttfamily \mbox{\hyperlink{structagora_1_1media_1_1_recorder_info}{Recorder\+Info}}}. \\
\hline
\end{DoxyParams}
