\hypertarget{classagora_1_1rtc_1_1_i_video_effect_object}{}\doxysection{agora\+::rtc\+::I\+Video\+Effect\+Object Class Reference}
\label{classagora_1_1rtc_1_1_i_video_effect_object}\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}


Provides methods to manage and configure video effects, such as beauty, style makeup, and filter.  




{\ttfamily \#include $<$I\+Agora\+Rtc\+Engine.\+h$>$}

Inheritance diagram for agora\+::rtc\+::I\+Video\+Effect\+Object\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classagora_1_1rtc_1_1_i_video_effect_object}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+ID}} \+: uint32\+\_\+t \{ \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6aee54b927e027e97ac51b6098a1f52374}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+I\+D\+::\+B\+E\+A\+U\+TY}} = 1U $<$$<$ 0, 
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6a9068e62994fa8ed9b0ef5f4663472649}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+I\+D\+::\+S\+T\+Y\+L\+E\+\_\+\+M\+A\+K\+E\+UP}} = 1U $<$$<$ 1, 
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6ae75ab17a550f46adbbe891b819cf951d}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+I\+D\+::\+F\+I\+L\+T\+ER}} = 1U $<$$<$ 2, 
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6af03501c833f6058adf42ecff1dc094a8}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+I\+D\+::\+S\+T\+I\+C\+K\+ER}} = 1U $<$$<$ 3
 \}
\begin{DoxyCompactList}\small\item\em Types of video effect nodes that can be applied. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bd}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+A\+C\+T\+I\+ON}} \{ \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bda56e20bb1529bed87e8188b6bc69bfeb3}{S\+A\+VE}} = 1, 
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bda93528c91618488a7713996ef7bce3383}{R\+E\+S\+ET}} = 2
 \}
\begin{DoxyCompactList}\small\item\em Actions that can be performed on video effect nodes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual int \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a7a00e47583942982ff4efaadca82c76c}{add\+Or\+Update\+Video\+Effect}} (uint32\+\_\+t node\+Id, const char $\ast$template\+Name)=0
\begin{DoxyCompactList}\small\item\em Adds or updates video effects with specified node ID and template. \end{DoxyCompactList}\item 
virtual int \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a5982b85991553a8ce722452845f1ec38}{remove\+Video\+Effect}} (uint32\+\_\+t node\+Id)=0
\begin{DoxyCompactList}\small\item\em Removes a video effect with specified node ID. \end{DoxyCompactList}\item 
virtual int \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_adea3b895a5ce871af91c90e34f176d94}{perform\+Video\+Effect\+Action}} (uint32\+\_\+t node\+Id, \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bd}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+A\+C\+T\+I\+ON}} action\+Id)=0
\begin{DoxyCompactList}\small\item\em Performs an action on a specified video effect node. \end{DoxyCompactList}\item 
virtual int \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a351cf5c2f86e8bc1afaee22cf6fbe84a}{set\+Video\+Effect\+Float\+Param}} (const char $\ast$option, const char $\ast$key, float param)=0
\begin{DoxyCompactList}\small\item\em Sets a float parameter for the video effect. \end{DoxyCompactList}\item 
virtual int \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a6cda36828ab6741b0a075b932403d1ac}{set\+Video\+Effect\+Int\+Param}} (const char $\ast$option, const char $\ast$key, int param)=0
\begin{DoxyCompactList}\small\item\em Sets an integer parameter for the video effect. \end{DoxyCompactList}\item 
virtual int \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_af4da0db8405e62b97fe13b4515994ad6}{set\+Video\+Effect\+Bool\+Param}} (const char $\ast$option, const char $\ast$key, bool param)=0
\begin{DoxyCompactList}\small\item\em Sets a boolean parameter for the video effect. \end{DoxyCompactList}\item 
virtual float \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a4caee4ec583ccc8322245a24e8ad6bac}{get\+Video\+Effect\+Float\+Param}} (const char $\ast$option, const char $\ast$key)=0
\begin{DoxyCompactList}\small\item\em Gets a float parameter from the video effect. \end{DoxyCompactList}\item 
virtual int \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_ad1df3484e983782481f8fc351fe43589}{get\+Video\+Effect\+Int\+Param}} (const char $\ast$option, const char $\ast$key)=0
\begin{DoxyCompactList}\small\item\em Gets an integer parameter from the video effect. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a796b949a98a309821a1858494caadb9f}{get\+Video\+Effect\+Bool\+Param}} (const char $\ast$option, const char $\ast$key)=0
\begin{DoxyCompactList}\small\item\em Gets a boolean parameter from the video effect. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Provides methods to manage and configure video effects, such as beauty, style makeup, and filter. 

\begin{DoxySince}{Since}
v4.\+6.\+0 
\end{DoxySince}


\doxysubsection{Member Enumeration Documentation}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6}\label{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6}} 
\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!VIDEO\_EFFECT\_NODE\_ID@{VIDEO\_EFFECT\_NODE\_ID}}
\index{VIDEO\_EFFECT\_NODE\_ID@{VIDEO\_EFFECT\_NODE\_ID}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{VIDEO\_EFFECT\_NODE\_ID}{VIDEO\_EFFECT\_NODE\_ID}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6}{agora\+::rtc\+::\+I\+Video\+Effect\+Object\+::\+V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+ID}} \+: uint32\+\_\+t\hspace{0.3cm}{\ttfamily [strong]}}



Types of video effect nodes that can be applied. 

\begin{DoxySince}{Since}
v4.\+6.\+0 
\end{DoxySince}
\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{BEAUTY@{BEAUTY}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!BEAUTY@{BEAUTY}}}\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6aee54b927e027e97ac51b6098a1f52374}\label{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6aee54b927e027e97ac51b6098a1f52374}} 
B\+E\+A\+U\+TY&Beauty effect node. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{STYLE\_MAKEUP@{STYLE\_MAKEUP}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!STYLE\_MAKEUP@{STYLE\_MAKEUP}}}\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6a9068e62994fa8ed9b0ef5f4663472649}\label{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6a9068e62994fa8ed9b0ef5f4663472649}} 
S\+T\+Y\+L\+E\+\_\+\+M\+A\+K\+E\+UP&Style makeup effect node. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{FILTER@{FILTER}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!FILTER@{FILTER}}}\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6ae75ab17a550f46adbbe891b819cf951d}\label{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6ae75ab17a550f46adbbe891b819cf951d}} 
F\+I\+L\+T\+ER&Filter effect node. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{STICKER@{STICKER}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!STICKER@{STICKER}}}\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6af03501c833f6058adf42ecff1dc094a8}\label{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6af03501c833f6058adf42ecff1dc094a8}} 
S\+T\+I\+C\+K\+ER&Sticker efftec node. \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bd}\label{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bd}} 
\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!VIDEO\_EFFECT\_ACTION@{VIDEO\_EFFECT\_ACTION}}
\index{VIDEO\_EFFECT\_ACTION@{VIDEO\_EFFECT\_ACTION}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{VIDEO\_EFFECT\_ACTION}{VIDEO\_EFFECT\_ACTION}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bd}{agora\+::rtc\+::\+I\+Video\+Effect\+Object\+::\+V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+A\+C\+T\+I\+ON}}}



Actions that can be performed on video effect nodes. 

\begin{DoxySince}{Since}
v4.\+6.\+0 
\end{DoxySince}
\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{SAVE@{SAVE}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!SAVE@{SAVE}}}\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bda56e20bb1529bed87e8188b6bc69bfeb3}\label{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bda56e20bb1529bed87e8188b6bc69bfeb3}} 
S\+A\+VE&Save the current parameters of the video effect. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RESET@{RESET}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!RESET@{RESET}}}\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bda93528c91618488a7713996ef7bce3383}\label{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bda93528c91618488a7713996ef7bce3383}} 
R\+E\+S\+ET&Reset the video effect to its default parameters. \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_a7a00e47583942982ff4efaadca82c76c}\label{classagora_1_1rtc_1_1_i_video_effect_object_a7a00e47583942982ff4efaadca82c76c}} 
\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!addOrUpdateVideoEffect@{addOrUpdateVideoEffect}}
\index{addOrUpdateVideoEffect@{addOrUpdateVideoEffect}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{addOrUpdateVideoEffect()}{addOrUpdateVideoEffect()}}
{\footnotesize\ttfamily virtual int agora\+::rtc\+::\+I\+Video\+Effect\+Object\+::add\+Or\+Update\+Video\+Effect (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{node\+Id,  }\item[{const char $\ast$}]{template\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Adds or updates video effects with specified node ID and template. 

\begin{DoxySince}{Since}
v4.\+6.\+0
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em node\+Id} & The unique identifier or combination of video effect nodes. See \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+ID}} Example\+:
\begin{DoxyItemize}
\item Single effect\+: {\ttfamily \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6aee54b927e027e97ac51b6098a1f52374}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+I\+D\+::\+B\+E\+A\+U\+TY}}}
\item Combined effects\+: {\ttfamily \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6aee54b927e027e97ac51b6098a1f52374}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+I\+D\+::\+B\+E\+A\+U\+TY}} $\vert$ \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6a9068e62994fa8ed9b0ef5f4663472649}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+I\+D\+::\+S\+T\+Y\+L\+E\+\_\+\+M\+A\+K\+E\+UP}}}
\end{DoxyItemize}\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
Priority Rules\+:
\begin{DoxyItemize}
\item The {\ttfamily S\+T\+Y\+L\+E\+\_\+\+M\+A\+K\+E\+UP} node takes precedence over {\ttfamily F\+I\+L\+T\+ER} parameters.
\item To apply {\ttfamily F\+I\+L\+T\+ER} parameters, first remove the {\ttfamily S\+T\+Y\+L\+E\+\_\+\+M\+A\+K\+E\+UP} node\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a5982b85991553a8ce722452845f1ec38}{removeVideoEffect}}(\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6a9068e62994fa8ed9b0ef5f4663472649}{VIDEO\_EFFECT\_NODE\_ID::STYLE\_MAKEUP}});}
\DoxyCodeLine{\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a7a00e47583942982ff4efaadca82c76c}{addOrUpdateVideoEffect}}(\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6ae75ab17a550f46adbbe891b819cf951d}{VIDEO\_EFFECT\_NODE\_ID::FILTER}}, \textcolor{stringliteral}{"template name"});}
\end{DoxyCode}

\end{DoxyItemize}
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em template\+Name} & The name of the effect template. If set to null or an empty string, the S\+DK loads the default configuration from the resource bundle.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\begin{DoxyItemize}
\item 0\+: Success.
\item $<$ 0\+: Failure. The specific error code can provide more details about the failure. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_a5982b85991553a8ce722452845f1ec38}\label{classagora_1_1rtc_1_1_i_video_effect_object_a5982b85991553a8ce722452845f1ec38}} 
\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!removeVideoEffect@{removeVideoEffect}}
\index{removeVideoEffect@{removeVideoEffect}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{removeVideoEffect()}{removeVideoEffect()}}
{\footnotesize\ttfamily virtual int agora\+::rtc\+::\+I\+Video\+Effect\+Object\+::remove\+Video\+Effect (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{node\+Id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Removes a video effect with specified node ID. 

\begin{DoxySince}{Since}
v4.\+6.\+0
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em node\+Id} & The unique identifier of the video effect node to remove. See \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+ID}}\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\begin{DoxyItemize}
\item 0\+: Success.
\item $<$ 0\+: Failure. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_adea3b895a5ce871af91c90e34f176d94}\label{classagora_1_1rtc_1_1_i_video_effect_object_adea3b895a5ce871af91c90e34f176d94}} 
\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!performVideoEffectAction@{performVideoEffectAction}}
\index{performVideoEffectAction@{performVideoEffectAction}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{performVideoEffectAction()}{performVideoEffectAction()}}
{\footnotesize\ttfamily virtual int agora\+::rtc\+::\+I\+Video\+Effect\+Object\+::perform\+Video\+Effect\+Action (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{node\+Id,  }\item[{\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bd}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+A\+C\+T\+I\+ON}}}]{action\+Id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Performs an action on a specified video effect node. 

\begin{DoxySince}{Since}
v4.\+6.\+0
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em node\+Id} & The unique identifier of the video effect node. See \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_a06f9a026c55707396ff48b31f0aaa2f6}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+ID}} \\
\hline
{\em action\+Id} & The action to perform on the video effect. See \mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_effect_object_aa1e774c2e4476388ae85269677ff79bd}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+A\+C\+T\+I\+ON}}\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\begin{DoxyItemize}
\item 0\+: Success.
\item $<$ 0\+: Failure. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_a351cf5c2f86e8bc1afaee22cf6fbe84a}\label{classagora_1_1rtc_1_1_i_video_effect_object_a351cf5c2f86e8bc1afaee22cf6fbe84a}} 
\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!setVideoEffectFloatParam@{setVideoEffectFloatParam}}
\index{setVideoEffectFloatParam@{setVideoEffectFloatParam}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{setVideoEffectFloatParam()}{setVideoEffectFloatParam()}}
{\footnotesize\ttfamily virtual int agora\+::rtc\+::\+I\+Video\+Effect\+Object\+::set\+Video\+Effect\+Float\+Param (\begin{DoxyParamCaption}\item[{const char $\ast$}]{option,  }\item[{const char $\ast$}]{key,  }\item[{float}]{param }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets a float parameter for the video effect. 

\begin{DoxySince}{Since}
v4.\+6.\+0
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em option} & The option category of the parameter. \\
\hline
{\em key} & The key name of the parameter. \\
\hline
{\em param} & The float value to set.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\begin{DoxyItemize}
\item 0\+: Success.
\item $<$ 0\+: Failure. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_a6cda36828ab6741b0a075b932403d1ac}\label{classagora_1_1rtc_1_1_i_video_effect_object_a6cda36828ab6741b0a075b932403d1ac}} 
\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!setVideoEffectIntParam@{setVideoEffectIntParam}}
\index{setVideoEffectIntParam@{setVideoEffectIntParam}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{setVideoEffectIntParam()}{setVideoEffectIntParam()}}
{\footnotesize\ttfamily virtual int agora\+::rtc\+::\+I\+Video\+Effect\+Object\+::set\+Video\+Effect\+Int\+Param (\begin{DoxyParamCaption}\item[{const char $\ast$}]{option,  }\item[{const char $\ast$}]{key,  }\item[{int}]{param }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets an integer parameter for the video effect. 

\begin{DoxySince}{Since}
v4.\+6.\+0
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em option} & The option category of the parameter. \\
\hline
{\em key} & The key name of the parameter. \\
\hline
{\em param} & The integer value to set.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\begin{DoxyItemize}
\item 0\+: Success.
\item $<$ 0\+: Failure. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_af4da0db8405e62b97fe13b4515994ad6}\label{classagora_1_1rtc_1_1_i_video_effect_object_af4da0db8405e62b97fe13b4515994ad6}} 
\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!setVideoEffectBoolParam@{setVideoEffectBoolParam}}
\index{setVideoEffectBoolParam@{setVideoEffectBoolParam}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{setVideoEffectBoolParam()}{setVideoEffectBoolParam()}}
{\footnotesize\ttfamily virtual int agora\+::rtc\+::\+I\+Video\+Effect\+Object\+::set\+Video\+Effect\+Bool\+Param (\begin{DoxyParamCaption}\item[{const char $\ast$}]{option,  }\item[{const char $\ast$}]{key,  }\item[{bool}]{param }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets a boolean parameter for the video effect. 

\begin{DoxySince}{Since}
v4.\+6.\+0
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em option} & The option category of the parameter. \\
\hline
{\em key} & The key name of the parameter. \\
\hline
{\em param} & The boolean value to set.
\begin{DoxyItemize}
\item true\+: Enable the option.
\item false\+: Disable the option.
\end{DoxyItemize}\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\begin{DoxyItemize}
\item 0\+: Success.
\item $<$ 0\+: Failure. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_a4caee4ec583ccc8322245a24e8ad6bac}\label{classagora_1_1rtc_1_1_i_video_effect_object_a4caee4ec583ccc8322245a24e8ad6bac}} 
\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!getVideoEffectFloatParam@{getVideoEffectFloatParam}}
\index{getVideoEffectFloatParam@{getVideoEffectFloatParam}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{getVideoEffectFloatParam()}{getVideoEffectFloatParam()}}
{\footnotesize\ttfamily virtual float agora\+::rtc\+::\+I\+Video\+Effect\+Object\+::get\+Video\+Effect\+Float\+Param (\begin{DoxyParamCaption}\item[{const char $\ast$}]{option,  }\item[{const char $\ast$}]{key }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets a float parameter from the video effect. 

\begin{DoxySince}{Since}
v4.\+6.\+0
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em option} & The option category of the parameter. \\
\hline
{\em key} & The key name of the parameter.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\begin{DoxyItemize}
\item The float value of the parameter if it exists.
\item 0.\+0f if the parameter does not exist or an error occurs. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_ad1df3484e983782481f8fc351fe43589}\label{classagora_1_1rtc_1_1_i_video_effect_object_ad1df3484e983782481f8fc351fe43589}} 
\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!getVideoEffectIntParam@{getVideoEffectIntParam}}
\index{getVideoEffectIntParam@{getVideoEffectIntParam}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{getVideoEffectIntParam()}{getVideoEffectIntParam()}}
{\footnotesize\ttfamily virtual int agora\+::rtc\+::\+I\+Video\+Effect\+Object\+::get\+Video\+Effect\+Int\+Param (\begin{DoxyParamCaption}\item[{const char $\ast$}]{option,  }\item[{const char $\ast$}]{key }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets an integer parameter from the video effect. 

\begin{DoxySince}{Since}
v4.\+6.\+0
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em option} & The option category of the parameter. \\
\hline
{\em key} & The key name of the parameter.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\begin{DoxyItemize}
\item The integer value of the parameter if it exists.
\item 0 if the parameter does not exist or an error occurs. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{classagora_1_1rtc_1_1_i_video_effect_object_a796b949a98a309821a1858494caadb9f}\label{classagora_1_1rtc_1_1_i_video_effect_object_a796b949a98a309821a1858494caadb9f}} 
\index{agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}!getVideoEffectBoolParam@{getVideoEffectBoolParam}}
\index{getVideoEffectBoolParam@{getVideoEffectBoolParam}!agora::rtc::IVideoEffectObject@{agora::rtc::IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{getVideoEffectBoolParam()}{getVideoEffectBoolParam()}}
{\footnotesize\ttfamily virtual bool agora\+::rtc\+::\+I\+Video\+Effect\+Object\+::get\+Video\+Effect\+Bool\+Param (\begin{DoxyParamCaption}\item[{const char $\ast$}]{option,  }\item[{const char $\ast$}]{key }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets a boolean parameter from the video effect. 

\begin{DoxySince}{Since}
v4.\+6.\+0
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em option} & The option category of the parameter. \\
\hline
{\em key} & The key name of the parameter.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\begin{DoxyItemize}
\item true\+: The parameter is enabled.
\item false\+: The parameter is disabled or does not exist. 
\end{DoxyItemize}
\end{DoxyReturn}
