\hypertarget{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object}{}\doxysection{io.\+agora.\+rtc2.\+I\+Video\+Effect\+Object Interface Reference}
\label{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object}\index{io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}}


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


\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_i_video_effect_object_1_1_v_i_d_e_o___e_f_f_e_c_t___a_c_t_i_o_n}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+A\+C\+T\+I\+ON}}
\begin{DoxyCompactList}\small\item\em Actions that can be performed on video effect nodes. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_i_video_effect_object_1_1_v_i_d_e_o___e_f_f_e_c_t___n_o_d_e___i_d}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+ID}}
\begin{DoxyCompactList}\small\item\em Types of applicable video effect nodes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_a237960c65047cf231caa744a7079580e}{add\+Or\+Update\+Video\+Effect}} (int node\+Id, String template\+Name)
\begin{DoxyCompactList}\small\item\em Adds or updates the video effect for the specified node ID and template. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_ae76aa8f89e625d9624eb443644b5a64a}{remove\+Video\+Effect}} (int node\+Id)
\begin{DoxyCompactList}\small\item\em Removes the video effect with the specified node ID. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_a6e7959c9b51d400df89dec87f0887a4d}{perform\+Video\+Effect\+Action}} (int node\+Id, \mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_i_video_effect_object_1_1_v_i_d_e_o___e_f_f_e_c_t___a_c_t_i_o_n}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+A\+C\+T\+I\+ON}} action\+Id)
\begin{DoxyCompactList}\small\item\em Performs an action on the specified video effect node. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_a9d4a49243f793a9b75c1977f206bcd96}{set\+Video\+Effect\+Float\+Param}} (String option, String key, float value)
\begin{DoxyCompactList}\small\item\em Sets the float parameter for video effects. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_ad064f15af001ea70c4d6117e77848340}{set\+Video\+Effect\+Int\+Param}} (String option, String key, int value)
\begin{DoxyCompactList}\small\item\em Sets an integer parameter for video effects. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_a6737b41e16657996cb78c9b91d6b3128}{set\+Video\+Effect\+Bool\+Param}} (String option, String key, boolean value)
\begin{DoxyCompactList}\small\item\em Sets the boolean parameter for video effects. \end{DoxyCompactList}\item 
float \mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_aff181331e6ddb99db3846b6bc714bb9b}{get\+Video\+Effect\+Float\+Param}} (String option, String key)
\begin{DoxyCompactList}\small\item\em Retrieves {\ttfamily float} type parameters in video effects. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_afe88627f1213eba23e4d2a28f1b1a928}{get\+Video\+Effect\+Int\+Param}} (String option, String key)
\begin{DoxyCompactList}\small\item\em Retrieves integer parameters in video effects. \end{DoxyCompactList}\item 
boolean \mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_aa59f203c7aef83ddcf776265d5ce7051}{get\+Video\+Effect\+Bool\+Param}} (String option, String key)
\begin{DoxyCompactList}\small\item\em Gets the boolean parameter in video effects. \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 Function Documentation}
\mbox{\Hypertarget{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_a237960c65047cf231caa744a7079580e}\label{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_a237960c65047cf231caa744a7079580e}} 
\index{io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}!addOrUpdateVideoEffect@{addOrUpdateVideoEffect}}
\index{addOrUpdateVideoEffect@{addOrUpdateVideoEffect}!io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{addOrUpdateVideoEffect()}{addOrUpdateVideoEffect()}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Video\+Effect\+Object.\+add\+Or\+Update\+Video\+Effect (\begin{DoxyParamCaption}\item[{int}]{node\+Id,  }\item[{String}]{template\+Name }\end{DoxyParamCaption})}



Adds or updates the video effect for the specified node ID and template. 

\begin{DoxySince}{Since}
v4.\+6.\+0
\end{DoxySince}
\begin{DoxyNote}{Note}
Priority rules\+:
\begin{DoxyItemize}
\item The S\+T\+Y\+L\+E\+\_\+\+M\+A\+K\+E\+UP node takes precedence over the F\+I\+L\+T\+ER parameter.
\item To apply the F\+I\+L\+T\+ER parameter, you must first remove the S\+T\+Y\+L\+E\+\_\+\+M\+A\+K\+E\+UP node\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_ae76aa8f89e625d9624eb443644b5a64a}{removeVideoEffect}}(\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_i_video_effect_object_1_1_v_i_d_e_o___e_f_f_e_c_t___n_o_d_e___i_d_a9e2b44351ff2642998c4a3cbffaa5448}{VIDEO\_EFFECT\_NODE\_ID::STYLE\_MAKEUP}});}
\DoxyCodeLine{\mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_a237960c65047cf231caa744a7079580e}{addOrUpdateVideoEffect}}(\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_i_video_effect_object_1_1_v_i_d_e_o___e_f_f_e_c_t___n_o_d_e___i_d_a734d3a78bb9b2c1bceed754343b05c0a}{VIDEO\_EFFECT\_NODE\_ID::FILTER}}, \textcolor{stringliteral}{"template name"});}
\end{DoxyCode}

\end{DoxyItemize}
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em node\+Id} & The unique identifier or combination of identifiers for the video effect node. See {\ttfamily \mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_i_video_effect_object_1_1_v_i_d_e_o___e_f_f_e_c_t___n_o_d_e___i_d}{V\+I\+D\+E\+O\+\_\+\+E\+F\+F\+E\+C\+T\+\_\+\+N\+O\+D\+E\+\_\+\+ID}}}. \\
\hline
{\em template\+Name} & The name of the effect template. If set to null or an empty string, the S\+DK loads the default parameter configuration from the resource package.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\begin{DoxyItemize}
\item 0\+: Success.
\item $<$ 0\+: Failure. See the error codes in {\ttfamily Agora\+Base\+Constants}. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_ae76aa8f89e625d9624eb443644b5a64a}\label{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_ae76aa8f89e625d9624eb443644b5a64a}} 
\index{io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}!removeVideoEffect@{removeVideoEffect}}
\index{removeVideoEffect@{removeVideoEffect}!io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{removeVideoEffect()}{removeVideoEffect()}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Video\+Effect\+Object.\+remove\+Video\+Effect (\begin{DoxyParamCaption}\item[{int}]{node\+Id }\end{DoxyParamCaption})}



Removes the video effect with the 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.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

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



Performs an action on the 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. \\
\hline
{\em action\+Id} & The action to perform on the video effect node. See {\ttfamily \mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_i_video_effect_object_1_1_v_i_d_e_o___e_f_f_e_c_t___a_c_t_i_o_n}{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{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_a9d4a49243f793a9b75c1977f206bcd96}\label{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_a9d4a49243f793a9b75c1977f206bcd96}} 
\index{io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}!setVideoEffectFloatParam@{setVideoEffectFloatParam}}
\index{setVideoEffectFloatParam@{setVideoEffectFloatParam}!io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{setVideoEffectFloatParam()}{setVideoEffectFloatParam()}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Video\+Effect\+Object.\+set\+Video\+Effect\+Float\+Param (\begin{DoxyParamCaption}\item[{String}]{option,  }\item[{String}]{key,  }\item[{float}]{value }\end{DoxyParamCaption})}



Sets the float parameter for video effects. 

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

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

\begin{DoxyItemize}
\item 0\+: Success.
\item $<$ 0\+: Failure. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_ad064f15af001ea70c4d6117e77848340}\label{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_ad064f15af001ea70c4d6117e77848340}} 
\index{io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}!setVideoEffectIntParam@{setVideoEffectIntParam}}
\index{setVideoEffectIntParam@{setVideoEffectIntParam}!io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{setVideoEffectIntParam()}{setVideoEffectIntParam()}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Video\+Effect\+Object.\+set\+Video\+Effect\+Int\+Param (\begin{DoxyParamCaption}\item[{String}]{option,  }\item[{String}]{key,  }\item[{int}]{value }\end{DoxyParamCaption})}



Sets an integer parameter for video effects. 

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

\begin{DoxyParams}{Parameters}
{\em option} & The identifier of the parameter category. \\
\hline
{\em key} & The key name of the parameter. \\
\hline
{\em value} & 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{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_a6737b41e16657996cb78c9b91d6b3128}\label{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_a6737b41e16657996cb78c9b91d6b3128}} 
\index{io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}!setVideoEffectBoolParam@{setVideoEffectBoolParam}}
\index{setVideoEffectBoolParam@{setVideoEffectBoolParam}!io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{setVideoEffectBoolParam()}{setVideoEffectBoolParam()}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Video\+Effect\+Object.\+set\+Video\+Effect\+Bool\+Param (\begin{DoxyParamCaption}\item[{String}]{option,  }\item[{String}]{key,  }\item[{boolean}]{value }\end{DoxyParamCaption})}



Sets the boolean parameter for video effects. 

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

\begin{DoxyParams}{Parameters}
{\em option} & The identifier of the parameter category. \\
\hline
{\em key} & The key name of the parameter. \\
\hline
{\em value} & The boolean value to set.
\begin{DoxyItemize}
\item {\ttfamily true}\+: Set to enabled.
\item {\ttfamily false}\+: Set to disabled.
\end{DoxyItemize}\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\begin{DoxyItemize}
\item 0\+: Success.
\item $<$ 0\+: Failure. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_aff181331e6ddb99db3846b6bc714bb9b}\label{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_aff181331e6ddb99db3846b6bc714bb9b}} 
\index{io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}!getVideoEffectFloatParam@{getVideoEffectFloatParam}}
\index{getVideoEffectFloatParam@{getVideoEffectFloatParam}!io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{getVideoEffectFloatParam()}{getVideoEffectFloatParam()}}
{\footnotesize\ttfamily float io.\+agora.\+rtc2.\+I\+Video\+Effect\+Object.\+get\+Video\+Effect\+Float\+Param (\begin{DoxyParamCaption}\item[{String}]{option,  }\item[{String}]{key }\end{DoxyParamCaption})}



Retrieves {\ttfamily float} type parameters in video effects. 

\begin{DoxySince}{Since}
v4.\+6.\+0
\end{DoxySince}
Used to retrieve the value of a {\ttfamily float} type parameter corresponding to the specified option and key in video effects.


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

\begin{DoxyItemize}
\item If the method call succeeds, returns the current float value.
\item If the method call fails, returns 0.\+0f. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_afe88627f1213eba23e4d2a28f1b1a928}\label{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_afe88627f1213eba23e4d2a28f1b1a928}} 
\index{io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}!getVideoEffectIntParam@{getVideoEffectIntParam}}
\index{getVideoEffectIntParam@{getVideoEffectIntParam}!io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{getVideoEffectIntParam()}{getVideoEffectIntParam()}}
{\footnotesize\ttfamily int io.\+agora.\+rtc2.\+I\+Video\+Effect\+Object.\+get\+Video\+Effect\+Int\+Param (\begin{DoxyParamCaption}\item[{String}]{option,  }\item[{String}]{key }\end{DoxyParamCaption})}



Retrieves integer parameters in video effects. 

\begin{DoxySince}{Since}
v4.\+6.\+0
\end{DoxySince}
Used to retrieve integer-\/type parameters in video effects.


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

\begin{DoxyItemize}
\item If the method call succeeds, returns the current parameter value.
\item If the method call fails, returns 0. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_aa59f203c7aef83ddcf776265d5ce7051}\label{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_aa59f203c7aef83ddcf776265d5ce7051}} 
\index{io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}!getVideoEffectBoolParam@{getVideoEffectBoolParam}}
\index{getVideoEffectBoolParam@{getVideoEffectBoolParam}!io.agora.rtc2.IVideoEffectObject@{io.agora.rtc2.IVideoEffectObject}}
\doxysubsubsection{\texorpdfstring{getVideoEffectBoolParam()}{getVideoEffectBoolParam()}}
{\footnotesize\ttfamily boolean io.\+agora.\+rtc2.\+I\+Video\+Effect\+Object.\+get\+Video\+Effect\+Bool\+Param (\begin{DoxyParamCaption}\item[{String}]{option,  }\item[{String}]{key }\end{DoxyParamCaption})}



Gets the boolean parameter in video effects. 

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

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

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