\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 video effect nodes that can be applied. \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 a video effect with 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 a video effect with 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 a 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 a float parameter for the video effect. \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 the video effect. \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 a boolean parameter for the video effect. \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 Gets a float parameter for the video effect. \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 Gets an integer parameter for the video effect. \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 a boolean parameter for 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 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 a video effect 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{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}}. Example\+:
\begin{DoxyItemize}
\item Single effect\+: \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_abbba40fe4d742b2f7d8bc6ad52f22821}{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\+: \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_abbba40fe4d742b2f7d8bc6ad52f22821}{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{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}{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
{\em template\+Name} & The name of the effect template. If set to null or empty string, the S\+DK loads the default parameter configuration from the resource bundle.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
Priority Rules\+:
\begin{DoxyItemize}
\item The S\+T\+Y\+L\+E\+\_\+\+M\+A\+K\+E\+UP node takes precedence over F\+I\+L\+T\+ER parameters.
\item To apply F\+I\+L\+T\+ER parameters, 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}}(VIDEO\_EFFECT\_NODE\_ID.STYLE\_MAKEUP);}
\DoxyCodeLine{\mbox{\hyperlink{interfaceio_1_1agora_1_1rtc2_1_1_i_video_effect_object_a237960c65047cf231caa744a7079580e}{addOrUpdateVideoEffect}}(VIDEO\_EFFECT\_NODE\_ID.FILTER, \textcolor{stringliteral}{"template name"});}
\end{DoxyCode}

\end{DoxyItemize}
\end{DoxyNote}
\begin{DoxyReturn}{Returns}

\begin{DoxyItemize}
\item 0\+: Success
\item $<$0\+: Failure. See error codes in 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 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{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
\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 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{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 action\+Id} & The action to perform on the video effect. See \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 a float parameter for the video effect. 

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

\begin{DoxyParams}{Parameters}
{\em option} & The category identifier of the parameter. \\
\hline
{\em key} & The key name of the parameter. \\
\hline
{\em value} & 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{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 the video effect. 

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

\begin{DoxyParams}{Parameters}
{\em option} & The category identifier of the parameter. \\
\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 a boolean parameter for the video effect. 

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

\begin{DoxyParams}{Parameters}
{\em option} & The category identifier of the parameter. \\
\hline
{\em key} & The key name of the parameter. \\
\hline
{\em value} & The boolean 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_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})}



Gets a float parameter for the video effect. 

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

\begin{DoxyParams}{Parameters}
{\em option} & The category identifier of the parameter. \\
\hline
{\em key} & The key name of the parameter. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The current parameter value or 0.\+0f on failure. 
\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})}



Gets an integer parameter for the video effect. 

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

\begin{DoxyParams}{Parameters}
{\em option} & The category identifier of the parameter. \\
\hline
{\em key} & The key name of the parameter. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The current parameter value or 0 on failure. 
\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 a boolean parameter for the video effect. 

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

\begin{DoxyParams}{Parameters}
{\em option} & The category identifier of the parameter. \\
\hline
{\em key} & The key name of the parameter. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The current parameter value or false on failure. 
\end{DoxyReturn}
