\label{index_md__home_jenkins_workspace_workspace_SDK_CI_Dailybuild_dailybuild_build_android_2_rte_sdk_interface_cpp_api2_mainpage}%
\Hypertarget{index_md__home_jenkins_workspace_workspace_SDK_CI_Dailybuild_dailybuild_build_android_2_rte_sdk_interface_cpp_api2_mainpage}%
 Agora provides ensured quality of experience (QoE) for worldwide Internet-\/based voice and video communications through a virtual global network optimized for real-\/time web and mobile-\/to-\/mobile applications.

This page provides Reference for Agora low-\/level A\+P\+Is\+:


\begin{DoxyItemize}
\item \href{\#agoraservice}{\texttt{ Agora service}}
\item \href{\#rtcconnection}{\texttt{ R\+TC connection}}
\item \href{\#localuser}{\texttt{ Local user}}
\item \href{\#localaudiotrack}{\texttt{ Local audio track}}
\item \href{\#remoteaudiotrack}{\texttt{ Remote audio track}}
\item \href{\#localvideotrack}{\texttt{ Local video track}}
\item \href{\#remotevideotrack}{\texttt{ Remote video track}}
\item \href{\#medianodefactory}{\texttt{ Media node factory}}
\item \href{\#audiodatasender}{\texttt{ Audio data sender}}
\item \href{\#audiofilter}{\texttt{ Audio filter}}
\item \href{\#audiodevicemanager}{\texttt{ Audio device manager}}
\item \href{\#videodatasender}{\texttt{ Video data sender}}
\item \href{\#videofilter}{\texttt{ Video filter}}
\item \href{\#videorenderer}{\texttt{ Video renderer}}
\item \href{\#videocameracapturer}{\texttt{ Video camera capturer}}
\item \href{\#videoscreencapturer}{\texttt{ Video screen capturer}}
\item \href{\#mediaplayer}{\texttt{ Media player}}
\item \href{\#rtmpstreamingservice}{\texttt{ R\+T\+MP streaming service}}
\item \href{\#rtmservice}{\texttt{ R\+TM service}}
\item \href{\#rtmchannel}{\texttt{ R\+TM channel}}
\item \href{\#rtmmessage}{\texttt{ R\+TM message}}
\end{DoxyItemize}

\label{_agoraservice}%


\doxysubsection*{Agora service}

I\+Agora\+Service is the entry point of Agora Low Level A\+P\+Is. Use this interface to create access points to Agora Modules, including R\+TC Connection, Media Tracks, Audio Device Manager and etc. In addition, in order to customize different user scenarios, the interface allows application to configure service and media sessions on the global level, for example, Agora\+Service\+Configuration or Audio\+Session\+Configuration.

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{group__create_agora_service}{create\+Agora\+Service}} &Creates an Agora Service object and returns the pointer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a6f1fb6e792c564dee46903cbb3bc35fc}{initialize}} &Initializes the Agora Service object.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a5d7223e244269fb9ebbe9e609d82c523}{set\+Audio\+Session\+Preset}} &Configures the preset audio session.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a2feac66925e2f27f0964912bb1f8f75c}{set\+Audio\+Session\+Configuration}} &Sets the audio session configuration.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a81052481e16f8b82bd1935175f002637}{get\+Audio\+Session\+Configuration}} &Gets the audio session configuration.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a3aecc66675ca9698fa6fdeab5b85333a}{set\+Log\+File}} &Sets the log file path and size.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_ad46b8621ebf9c9143007f444b5064b8d}{set\+Log\+Filter}} &Sets the log output level.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a326cda8c926bcb6da5f3a2c512a9ae90}{create\+Rtc\+Connection}} &Creates an R\+TC connection object and returns the pointer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a80cdd14cd711c50b153ffb9a8961bf0a}{create\+Local\+Audio\+Track}} &Creates a local audio track object and returns the pointer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a1cdac0edad710852fa97f20b83044a05}{create\+Custom\+Audio\+Track}}1 &Creates a local audio track object with the receiver for encoded audio data and returns the pointer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_ab267caa07c4614e8bf27da38527150de}{create\+Custom\+Audio\+Track}}2 &Creates a local audio track object with the P\+CM data receiver and returns the pointer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a7d77492f47e21b1e1f055d4e322c94c7}{create\+Custom\+Audio\+Track}}3 &Creates a local audio track object with the receiver for encoded audio data and returns the pointer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_aa7b11bf85ed45ceeea9a50f45536001c}{create\+Audio\+Device\+Manager}} &Creates an audio device manager object and returns the pointer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a02745fde3a908936af56c0243506d1d7}{create\+Media\+Node\+Factory}} &Creates a media node factory and returns the pointer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_aaeee87fe8d3baf50947e7a9fd7744708}{create\+Media\+Player\+Video\+Track}} &Creates a local video track object with an I\+Media\+Player\+Source object and returns the pointer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a11274090bcbfd95f548a0054f79ef7c7}{create\+Media\+Player\+Audio\+Track}} &Creates a local video track object with an I\+Media\+Player\+Source object and returns the pointer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_aa7ba9cceccc73cbfb6bc1678264a5515}{create\+Camera\+Video\+Track}} &Creates a local video track object with the camera capturer and returns the pointer.  \\\cline{1-2}
create\+Screen\+Video\+Track &Creates a local video track object with the screen capturer and returns the pointer.  \\\cline{1-2}
create\+Custom\+Video\+Track1 &Creates a local video track object with the custom video source and returns the pointer.  \\\cline{1-2}
create\+Custom\+Video\+Track2 &Creates a local video track object with the receiver for encoded video data and returns the pointer.  \\\cline{1-2}
create\+Custom\+Video\+Track3 &Creates a local video track object with the custom video source and returns the pointer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a69443cc65d8086de850f8151e1024944}{create\+Rtmp\+Streaming\+Service}} &Creates a live stream service object.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_ae3dae3b461aed1b826e5162479530ff1}{create\+Rtm\+Service}} &Creates an R\+TM service object.  \\\cline{1-2}
\end{longtabu}


\label{_rtcconnection}%


\doxysubsection*{R\+TC connection}

I\+Rtc\+Connection allows an app to establish a connection to an Agora channel. In order to establish a connection, the app must provide an app ID, a token, and the ID of the channel that you want to join.

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_a382279fbba438c85fdadd743a12218cf}{connect}} &Connects to an Agora channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_a04ed01edbc8107fa0ba6d9ca891c62b0}{disconnect}} &Disconnects from the channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_a3fa98edb2c0560223125bd1230f21722}{start\+Lastmile\+Probe\+Test}} &Starts the last mile network probe test.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_aafd0531bdf281a2aaa90f7a0c507b59e}{stop\+Lastmile\+Test}} &Stops the last mile network probe test.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_a83dbfc421cd3ae4399260fef5679e13d}{renew\+Token}} &Renews the token.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_ab91ff9124027bdc7a3ce6e77addf8da1}{get\+Connection\+Info}} &Gets the current connection information.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_a1cf54986a330713047da51c1503ec86c}{get\+Local\+User}} &Gets the I\+Local\+User object.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_ae1b27f3868e38f5dc434ec572e31de4f}{get\+Remote\+Users}} &Gets the information of remote users.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_af2c7166f692f2285a0ba060aa6b16739}{get\+User\+Info}} &Gets the information of a specified user in the channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_a8f77c8e61a79ce40dda190c333dc8585}{get\+User\+Info\+By\+Uid}} &Gets the information of a specified user in the channel by uid, which is in integer format.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_ab3d10eedee141e857313fdebdc95041d}{get\+User\+Info\+By\+User\+Account}} &Gets the information of a specified user in the channel by user account, which is in string format.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_a1826542f1addfde229cd05d5ff8e0741}{register\+Observer}} &Registers an I\+Rtc\+Connection\+Observer object.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_af2d87e566c2cd918e12d777cdeae37ee}{unregister\+Observer}} &Releases the registered I\+Rtc\+Connection\+Observer object.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_a4cc6181ddb6280c2f37239eef88bbd2f}{get\+Conn\+Id}} &Gets the ID of the current connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_aa87931e6de4996dc36d57369d6a8a153}{get\+Transport\+Stats}} &Gets the transportation statistics of this connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_a44ce079c780ace4b8188d59ad68d96fb}{get\+Agora\+Parameter}} &Gets an I\+Agora\+Parameter object.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_a53f87120cf152e9a80a64de9f0144ede}{create\+Data\+Stream}} &Creates a data stream.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_a9877bed51ff1904d50929179035da6f4}{send\+Stream\+Message}} &Sends data stream messages to all users in a channel.  \\\cline{1-2}
\end{longtabu}


Connecting to an Agora channel is done asynchronously, and apps can listen for the connection states of both the local and remote user using an R\+TC connection observer.

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_a1df408778b1886055df47cd7d0ff8e5c}{on\+Connected}} &Occurs when the connection state changes to S\+T\+A\+T\+E\+\_\+\+C\+O\+N\+N\+E\+C\+T\+ED.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_ae62590c268ad2904583dc9c62c337056}{on\+Disconnected}} &Occurs when the connection state changes to S\+T\+A\+T\+E\+\_\+\+D\+I\+S\+C\+O\+N\+N\+E\+C\+T\+ED.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_a5eb8ab1144ac6487708e744a7e579ceb}{on\+Reconnecting}} &Occurs when the connection state changes to S\+T\+A\+T\+E\+\_\+\+R\+E\+C\+O\+N\+N\+E\+C\+T\+I\+NG.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_a11829011671bc54cf1483288421687ce}{on\+Connection\+Lost}} &Occurs when the S\+DK loses connection with the Agora channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_a255ffd92a1b67201f04d018e163118fc}{on\+Lastmile\+Quality}} &Reports the quality of the last mile network.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_a27ee9184ccaba5855389412846f6949f}{on\+Token\+Privilege\+Will\+Expire}} &Occurs when the token privilege expires in 30 seconds.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_adf8fa47e6d34fdd75b90b42f68ea35f7}{on\+Token\+Privilege\+Did\+Expire}} &Occurs when the token privilege has expired.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_a33d46c9db2a0cbff4a24aa790a69eec3}{on\+Connection\+Failure}} &Occurs when the connection state changes to S\+T\+A\+T\+E\+\_\+\+F\+A\+I\+L\+ED.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_ae5daa5e5f14febe188bc79f29cd3697a}{on\+User\+Joined}} &Occurs when a remote user has successfully joined the channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_a037693bddc8c6a8b36e5199e5085cea9}{on\+User\+Left}} &Occurs when a remote user has left the channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_aabcc0d7016f685e132fc38b0a2d0d27f}{on\+Transport\+Stats}} &Reports the transport statistics of the current connection,  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_aa7e00e4b74e281072eb346cf97ea2e5a}{on\+Change\+Role\+Success}} &Occurs when the role of the local user changes.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_a7c4b7ec0e3854211f85e1ac885b05b67}{on\+Change\+Role\+Failure}} &Occurs when the role of the local user changes.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_adbeb932227fa99295d70bced528114c1}{on\+User\+Network\+Quality}} &Reports the network quality of each user.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_a4d98ce7536aa49f929c4763fe9525c06}{on\+Error}} &Reports the error code and error message.  \\\cline{1-2}
on\+Warning &Reports the warning code and warning message.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_observer_a0112bc3e6b3773125facd0c55d11f318}{on\+Channel\+Media\+Relay\+State\+Changed}} &Occurs when the state of the channel media relay changes.  \\\cline{1-2}
\end{longtabu}


\label{_localuser}%


\doxysubsection*{Local user}

Once connected, each R\+TC connection has its own local user. Apps can get the local user object using \mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtc_connection_a1cf54986a330713047da51c1503ec86c}{I\+Rtc\+Connection\+::get\+Local\+User}}.

Each local user has two user roles\+: broadcaster (publisher or subscriber) and audience (subscriber only). The publisher publishes audio and video tracks, while the audience receives them.

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a9d8aa36f210b737ba132bcfc2ed986d4}{set\+User\+Role}} &Sets the role of the user.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a910b5120b7db6570999611cc70625d06}{get\+User\+Role}} &Gets the role of the user.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a465fe5080eff89a2defaa7727163c8de}{set\+Audio\+Encoder\+Configuration}} &Configures the audio encoder.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a7c1fd759e10a5803b32d1af68bc18286}{get\+Local\+Audio\+Statistics}} &Gets the detailed statistics of the local audio.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a5e5cc962971f99f07a692d82ac02ff1d}{publish\+Audio}} &Publishes a local audio track to the R\+TC connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_ab9bae681db866df89983dece3cd85581}{unpublish\+Audio}} &Stops publishing the local audio track to the R\+TC connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a40690b61671aa9e6ceef1e7347fd3e38}{publish\+Video}} &Publishes a local video track to the R\+TC connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_ab29368f2ad167b5572e8b1ead5893559}{unpublish\+Video}} &Stops publishing the local video track to the R\+TC connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a894d4efd0746016c8e190cee839a798d}{subscribe\+Audio}} &Subscribes to the audio of a specified remote user in the R\+TC connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a894d4efd0746016c8e190cee839a798d}{subscribe\+All\+Audio}} &Subscribes to the audio of all remote users in the R\+TC connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a29cdc42aafc7f1037e05da8e4e177fba}{unsubscribe\+Audio}} &Stops subscribing to the audio of a specified remote user in the R\+TC connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a1b177c676190940a0789876fb87a48b9}{unsubscribe\+All\+Audio}} &Stops subscribing to the audio of all remote users in the R\+TC connection.  \\\cline{1-2}
pull\+Mixed\+Audio\+Pcm\+Data &Pulls mixed P\+CM audio data from the R\+TC connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a1018b62761d598e61e739e332ea9bbc6}{set\+Playback\+Audio\+Frame\+Parameters}} &Sets the audio frame parameters for the on\+Playback\+Audio\+Frame callback.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_abbdeab22d2c6ecd027b093a05f178e9a}{set\+Recording\+Audio\+Frame\+Parameters}} &Sets the audio frame parameters for the on\+Record\+Audio\+Frame callback.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_ad9e7738d1deba8a7c2b9519a6d37edb6}{set\+Mixed\+Audio\+Frame\+Parameters}} &Sets the audio frame parameters for the on\+Mixed\+Audio\+Frame callback.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a9f60e9ea2845426d262ded329de9f784}{set\+Playback\+Audio\+Frame\+Before\+Mixing\+Parameters}} &Sets the audio frame parameters for the on\+Playback\+Audio\+Frame\+Before\+Mixing callback.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_aabe80c2dc8f056b9eac78d9c35a32887}{register\+Audio\+Frame\+Observer}} &Registers an audio frame observer object.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_aab2c70c722e492385a719dd9ab457406}{unregister\+Audio\+Frame\+Observer}} &Releases the audio frame observer object.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a9c8a3fcf49db6800e3b7ce955126c45d}{subscribe\+Video}} &Subscribes to the video of a specified remote user in the R\+TC connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a77ee018bedf45f21aa198d697c3774a4}{subscribe\+All\+Video}} &Subscribes to the video of all remote users in the R\+TC connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a6ffe44ce817cadd084638b9eff22dc33}{unsubscribe\+Video}} &Stops subscribing to the video of a specified remote user in the R\+TC connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_ad7abc9f9acdef90c819a137f45a72f88}{unsubscribe\+All\+Video}} &Stops subscribing to the video of all remote users in the R\+TC connection.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_ad72f63130bd2e71ebba0f05ad752150a}{set\+Audio\+Volume\+Indication\+Parameters}} &Sets the time interval and the volume smoothing factor of the on\+Audio\+Volume\+Indication callback.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a35af2e423873d04ea6df3097af4f9f5f}{register\+Local\+User\+Observer}} &Registers a local user observer object.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_aa1dd761f67f1dfe30142b92be902a274}{unregister\+Local\+User\+Observer}} &Releases the local user observer object.  \\\cline{1-2}
\end{longtabu}


\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_a1fe4d9e7b6abd7c3a18d75970d1f7937}{on\+Audio\+Track\+Publish\+Success}} &Occurs when the local audio track has published.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_a438116da0ad0a36b7e55e66dd002d8a5}{on\+Audio\+Track\+Publication\+Failure}} &Occurs when the local audio track fails to be published.  \\\cline{1-2}
on\+Local\+Audio\+Track\+State\+Changed &Occurs when the state of the local audio track changes.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_aa308da2febe75ed17423e8b231bb5519}{on\+User\+Audio\+Track\+Subscribed}} &Occurs when the first remote audio frame is received.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_ae69feaba3395bdbe820ab98150bdda38}{on\+User\+Audio\+Track\+State\+Changed}} &Occurs when the state of a remote audio track changes.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_a6aa9af78a8661e6edb90238ecb79c030}{on\+Video\+Track\+Publish\+Success}} &Occurs when the local video track is published.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_a1872ffbb8975ddfdabbb3b5cf554a7e8}{on\+Video\+Track\+Publication\+Failure}} &Occurs when the local video track fails to be published.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_a091810138312df9f6d570ed718abefee}{on\+Local\+Video\+Track\+State\+Changed}} &Occurs when the state of the local video track changes.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_a167b28d331295decd627a6a80907b168}{on\+Local\+Video\+Track\+Statistics}} &Reports the statistics of the local video track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_abbb459299d603804f38ad8b751ca71e6}{on\+User\+Video\+Track\+Subscribed}} &Occurs when the first remote video frame is received.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_a633eeef87c0b2ca62f6e05c9e8cbe87d}{on\+User\+Video\+Track\+State\+Changed}} &Occurs when the state of a remote video track changes.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_acb8043e4a0c46620830788126e5f31c9}{on\+Remote\+Video\+Track\+Statistics}} &Reports the statistics of the remote video track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_a08499ccc9e5bd513a961f58ac84e51e7}{on\+Audio\+Volume\+Indication}} &Reports which users are speaking, the speakers\textquotesingle{} volume, and whether the local user is speaking.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_observer_a33015fc17aed0131666c469b7dfcfdb0}{on\+User\+Info\+Updated}} &Occurs when the user information is updated.  \\\cline{1-2}
\end{longtabu}


\label{_localaudiotrack}%


\doxysubsection*{Local audio track}

A local audio track can be created by \mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_a80cdd14cd711c50b153ffb9a8961bf0a}{I\+Agora\+Service\+::create\+Local\+Audio\+Track}}. It originates from the default audio recording device, that is, the built-\/in microphone. You can also use the A\+P\+Is we provide in the \mbox{\hyperlink{classagora_1_1rtc_1_1_i_n_g_audio_device_manager}{I\+Audio\+Device\+Manager}} class if multiple recording devices are available in the system.

After the local audio track is created, you can publish one or multiple local audio tracks using \mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a5e5cc962971f99f07a692d82ac02ff1d}{I\+Local\+User\+::publish\+Audio}}.

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_audio_track_a6903e270c18fc5db08f49405f1749a5a}{set\+Enabled}} &Enables or disables the local audio track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_audio_track_aca03d4f431b5318472e2b1769cb09c17}{get\+State}} &Gets the state of the local audio.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_audio_track_aeb53201b4e4648dd714db4b1d4c66696}{get\+Stats}} &Gets the statistics of the local audio track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_audio_track_a1ac252072c46a22b71cf5484bb39576f}{adjust\+Playout\+Volume}} &Adjusts the audio volume for local playback.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_audio_track_a1068bd00b29242e1071e6905fa1ed509}{adjust\+Publish\+Volume}} &Adjusts the audio volume for publishing.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_audio_track_a787c463278c27ac38f12af04750f5db2}{enable\+Local\+Playback}} &Enables or disables local playback.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_audio_track_aac6996453ca667dac97eed202f0e6a5c}{enable\+Ear\+Monitor}} &Enables or disables ear monitor.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_audio_track_a97eef5de65076555c4277097a24af043}{add\+Audio\+Filter}} &Adds an audio filter.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_audio_track_a2ac2cb41622eb22d669fa888866a24cd}{remove\+Audio\+Filter}} &Removes the audio filter.  \\\cline{1-2}
\end{longtabu}


\label{_remoteaudiotrack}%


\doxysubsection*{Remote audio track}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_remote_audio_track_a7fa3cd504b1fdc3c06e133d358ab04e1}{get\+Statistics}} &Gets the statistics of the remote audio.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_remote_audio_track_abcf5b94e335602c43a25ac8e6c479bc5}{get\+State}} &Gets the state of the remote audio.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_audio_track_a97eef5de65076555c4277097a24af043}{add\+Audio\+Filter}} &Adds an audio filter.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_audio_track_a2ac2cb41622eb22d669fa888866a24cd}{remove\+Audio\+Filter}} &Removes the audio filter.  \\\cline{1-2}
\end{longtabu}


\label{_localvideotrack}%


\doxysubsection*{Local video track}

A local video track can be created by either of the following methods\+:
\begin{DoxyItemize}
\item \mbox{\hyperlink{classagora_1_1base_1_1_i_agora_service_aa7ba9cceccc73cbfb6bc1678264a5515}{I\+Agora\+Service\+::create\+Camera\+Video\+Track}}
\item I\+Agora\+Service\+::create\+Screen\+Video\+Track
\item I\+Agora\+Service\+::create\+Custom\+Video\+Track1
\item I\+Agora\+Service\+::create\+Custom\+Video\+Track2
\item I\+Agora\+Service\+::create\+Custom\+Video\+Track3
\end{DoxyItemize}

. It originates from one video source, for example, the camera capturer, the screen capturer, or a custom video source.

To customize the video track, choose the video node that you want to use, for example, the video source, the video filter, or video renderer in I\+Video\+Node\+Factory.

Apps can publish one or multiple local video tracks through \mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_user_a40690b61671aa9e6ceef1e7347fd3e38}{I\+Local\+User\+::publish\+Video}}. Each video track has its own video stream. In other words, you can send the camera capturing stream and screen sharing stream simultaneously.

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_video_track_ae3eb9f4a2a3b91cfe963ad0779991878}{set\+Enabled}} &Enables or disables the local video track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_video_track_a0c5423ecd9dcde4fda0ac56d329f456d}{set\+Video\+Encoder\+Configuration}} &Sets the video encoder configuration.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_video_track_ae9f954672d4b7a99e645459ce4c1083a}{set\+Simulcast\+Stream\+Mode}} &Set the simulcast stream mode.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_video_track_a36640f215f62a7fa34ba9cae81497468}{get\+State}} &Gets the state of the local video.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_local_video_track_a1aa1259d42007c44273b3e0a0369efe1}{get\+Statistics}} &Gets the statistics of the local video track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_track_ab0f5288ead2e809dd6d6bd37001dc257}{add\+Video\+Filter}} &Adds a video filter to the video track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_track_aa99f34743ed387c875aee89ceea19e63}{remove\+Video\+Filter}} &Removes the video filter added by add\+Video\+Filter.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_track_a790f34e2f3a304599468b7ba7f705507}{add\+Renderer}} &Adds a video renderer to the video track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_track_a91aab1cb54598025f7622ab6e3f97f12}{remove\+Renderer}} &Removes the video renderer added by add\+Video\+Renderer from the video track.  \\\cline{1-2}
\end{longtabu}


\label{_remotevideotrack}%


\doxysubsection*{Remote video track}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_remote_video_track_aea7a83b6554e74c363969eb80495ecb9}{get\+Statistics}} &Gets the statistics of the remote video track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_remote_video_track_a9198277c30a29b82237876d7bd63fb63}{get\+State}} &Gets the state of the remote video.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_remote_video_track_aae079a7139538bc5e9980b1259534c2e}{get\+Track\+Info}} &Gets the information of the remote video track.  \\\cline{1-2}
register\+Video\+Encoded\+Image\+Receiver &Registers an I\+Video\+Encoded\+Image\+Receiver object.  \\\cline{1-2}
unregister\+Video\+Encoded\+Image\+Receiver &Releases the I\+Video\+Encoded\+Image\+Receiver object.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_track_ab0f5288ead2e809dd6d6bd37001dc257}{add\+Video\+Filter}} &Adds a video filter to the video track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_track_aa99f34743ed387c875aee89ceea19e63}{remote\+Video\+Filter}} &Removes the video filter added by add\+Video\+Filter.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_track_a790f34e2f3a304599468b7ba7f705507}{add\+Renderer}} &Adds a video renderer to the video track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_track_a91aab1cb54598025f7622ab6e3f97f12}{remove\+Renderer}} &Removes the video renderer added by add\+Video\+Renderer from the video track.  \\\cline{1-2}
\end{longtabu}


\label{_medianodefactory}%


\doxysubsection*{Media node factory}

Use this factory to create audio and video nodes for the audio and video tracks.

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_node_factory_aa6b8aa23b839f89801ca90d5228d712d}{create\+Audio\+Pcm\+Data\+Sender}} &Creates a P\+CM audio data sender.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_node_factory_a8723328a619ac7786ff9f96a644d5db5}{create\+Audio\+Encoded\+Frame\+Sender}} &Creates an encoded audio data sender.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_node_factory_a02057168bd37ff4fe31c451b66627980}{create\+Audio\+Filter}} &Creates an audio filter.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_node_factory_a20eb23fcdd313834aa8341b371f9d9a8}{create\+Camera\+Capturer}} &Creates a camera capturer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_node_factory_a2672904f21ec2caeac7ad09b45033f2e}{create\+Screen\+Capturer}} &Creates a screen capturer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_node_factory_a7f42abf3ad8f948023d6b9de193073f4}{create\+Media\+Player\+Source}} &Creates a media player source object and returns the pointer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_node_factory_ae5c627b7b2671942a75f577dc64a22f7}{create\+Video\+Frame\+Sender}} &Creates a video frame sender.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_node_factory_a5313c5f02951817b9a7f41c156db0338}{create\+Video\+Encoded\+Image\+Sender}} &Creates an encoded video image sender.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_node_factory_ad7a3f17dfc04f9879a355e4636bd2aef}{create\+Video\+Renderer}} &Creates a built-\/in video renderer.  \\\cline{1-2}
\end{longtabu}


\label{_audiodatasender}%


\doxysubsection*{Audio data sender}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_audio_pcm_data_sender_a61b77d230dff1c1b1f16a8d4e9f8bad7}{send\+Audio\+Pcm\+Data}} &Sends the P\+CM audio data to the local audio track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_audio_encoded_frame_sender_a922bbc9eadb666ffd0f8560164a4fbe3}{send\+Encoded\+Audio\+Frame}} &Sends the encoded audio data to the local audio track.  \\\cline{1-2}
\end{longtabu}


\label{_audiofilter}%


\doxysubsection*{Audio filter}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_audio_filter_a0a90c8dc3c9458b3bdcfabc5d5b95c2f}{set\+Enabled}} &Enables or disables the audio filter.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_audio_filter_a25c7ab82e7f45061fbfc01377e5629ef}{is\+Enabled}} &Checks whether the audio filter is enabled.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_audio_filter_base_a669a920041dd38d7c2dbc47d9598e1ed}{adapt\+Audio\+Frame}} &Adapts the audio frame.  \\\cline{1-2}
\end{longtabu}


\label{_audiodevicemanager}%


\doxysubsection*{Audio device manager}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_n_g_audio_device_manager_a1766c05f7cb65d7f5f72a5ffea1a499d}{set\+Microphone\+Volume}} &Sets the volume of the microphone.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_n_g_audio_device_manager_a624095516e62b54d8e2aa8c032400882}{get\+Microphone\+Volume}} &Gets the volume of the microphone.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_n_g_audio_device_manager_a18021a940bcd54cdb5c1a7af53104c71}{set\+Speaker\+Volume}} &Sets the volume of the speaker.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_n_g_audio_device_manager_addb42b409f43045bda3788dfad18cbdc}{get\+Speaker\+Volume}} &Gets the volume of the speaker.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_n_g_audio_device_manager_adc8593929ec7dc280f8d33bd0f440f76}{set\+Microphone\+Mute}} &Captures or stop capturing the local audio with the microphone.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_n_g_audio_device_manager_aac3096dda5f78f870f195aa4561583a5}{get\+Microphone\+Mute}} &Gets the mute state of the microphone.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_n_g_audio_device_manager_aaaff18d4b611d9ec3124098996d6cd58}{set\+Speaker\+Mute}} &Plays or stops playing the remote audio with the speaker.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_n_g_audio_device_manager_a363ea70b1c383b331841b241faf1e9b0}{get\+Speaker\+Mute}} &Gets the mute state of the speaker.  \\\cline{1-2}
set\+Default\+Audio\+Routing &Sets the default audio routing. Applies to Android and i\+OS only.  \\\cline{1-2}
change\+Audio\+Routing &Changes the current audio routing. Applies to Android and i\+OS only.  \\\cline{1-2}
get\+Current\+Routing &Gets the current audio routing. Applies to Android and i\+OS only.  \\\cline{1-2}
get\+Number\+Of\+Playout\+Devices &Gets the index numbers of all playout devices. Applies to Windows and mac\+OS only.  \\\cline{1-2}
get\+Number\+Of\+Recording\+Devices &Gets the index numbers of all recording devices. Applies to Windows and mac\+OS only.  \\\cline{1-2}
get\+Playout\+Device\+Info &Gets the information of the current audio playout device. Applies to Windows and mac\+OS only.  \\\cline{1-2}
get\+Recording\+Device\+Info &Gets the information of the current recording device. Applies to Windows and mac\+OS only.  \\\cline{1-2}
set\+Playout\+Device &Sets the audio playback device. Applies to Windows and mac\+OS only.  \\\cline{1-2}
set\+Recording\+Device &Sets the recording device. Applies to Windows and mac\+OS only.  \\\cline{1-2}
set\+Application\+Volume &Sets the volume of the app. Applies to Windows only.  \\\cline{1-2}
get\+Application\+Volume &Gets the volume of the app. Applies to Windows only.  \\\cline{1-2}
set\+Application\+Mute\+State &Sets the mute state of the app.  \\\cline{1-2}
get\+Application\+Mute\+State &Gets the mute state of the app.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_n_g_audio_device_manager_a02c2603b689301765899d59b323d93e0}{register\+Observer}} &Registers an I\+Audio\+Device\+Manager\+Observer object.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_n_g_audio_device_manager_ad6f18aa988238908f44360f50857fed4}{unregister\+Observer}} &Releases the I\+Audio\+Device\+Manager\+Observer object.  \\\cline{1-2}
\end{longtabu}


\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_audio_device_manager_observer_a375f35a0d539c71308af749c7951afb9}{on\+Device\+State\+Changed}} &Occurs when the device state changes.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_audio_device_manager_observer_a08bf0851da201d25fb69e5d82d317fff}{on\+Routing\+Changed}} &Occurs when the audio route changes.  \\\cline{1-2}
\end{longtabu}


\label{_videodatasender}%


\doxysubsection*{Video data sender}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_frame_sender_aeb5af980ac6e118d4d2f400cb04f865e}{send\+Video\+Frame}} &Sends the video frame to the video track.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_encoded_image_sender_ac82a2f06f268b980503521d951d0d53d}{send\+Encoded\+Video\+Image}} &Sends the encoded video image to the video track.  \\\cline{1-2}
\end{longtabu}


\label{_videofilter}%


\doxysubsection*{Video filter}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_filter_ad9263aa3d99bdbeeb62649878d46b410}{set\+Enabled}} &Enables or disables the video filter.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_filter_a4c5f3b5dd8839bc9ede19e8abd4d4a07}{is\+Enabled}} &Checks whether the video filter is enabled.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_filter_a5668a9ffeffa7a41f808eda22c348ca5}{set\+Property}} &Sets a private property in the I\+Video\+Filter class.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_filter_ace25023628d634acb3b5fef1ef56f724}{get\+Property}} &Gets a private property in the I\+Video\+Filter class.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_beauty_filter_a24cc6b2219a776bf3f8a168a253b2b18}{set\+Beauty\+Effect\+Options}} &Sets the beauty effect options.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_filter_base_acbefe549175d0eaaa0eac47082849769}{adapt\+Video\+Frame}} &Adapts the video frame.  \\\cline{1-2}
\end{longtabu}


\label{_videorenderer}%


\doxysubsection*{Video renderer}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_renderer_a3d19ff43241782fbeeaaf2b7fb8749ea}{set\+Render\+Mode}} &Sets the render mode.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_renderer_ac6df6a03f85f1253975e889102cfbf8b}{set\+Mirror}} &Sets whether to mirror the video.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_renderer_a4cd2117161f249ad94c03df27fa687bb}{set\+View}} &Sets the video display window.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_renderer_a7f8a9187d3f25b2dca64203c15907740}{unset\+View}} &Stops rendering the video view on the window.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_video_sink_base_a12a4f7d2fd8bf581f81a56e937c2a322}{on\+Frame}} &Occurs when the I\+Video\+Sink\+Base object receives the video frame.  \\\cline{1-2}
\end{longtabu}


\label{_videocameracapturer}%


\doxysubsection*{Video camera capturer}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
set\+Camera\+Source &Sets the camera source. Applies to Android and i\+OS only.  \\\cline{1-2}
get\+Camera\+Source &Gets the camera source. Applies to Android and i\+OS only.  \\\cline{1-2}
init\+With\+Device\+Id &Initialize the device with the device ID. Applies to Windows, mac\+OS, and Linux only.  \\\cline{1-2}
init\+With\+Device\+Name &Initializes the device with the device name. Applies to Windows, mac\+OS, and Linux only.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_camera_capturer_ae555a88c9acacd0cd6e2b4bc0fc1f780}{set\+Capture\+Format}} &Sets the format of the video captured by the camera.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_camera_capturer_af1c257c904627391e828c043bc8fa26d}{get\+Capture\+Format}} &Gets the format of the video captured by the camera.  \\\cline{1-2}
\end{longtabu}


\label{_videoscreencapturer}%


\doxysubsection*{Video screen capturer}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
init\+With\+Display\+Id &Initializes the screen capturer by specifying a display ID. Applies to mac\+OS only.  \\\cline{1-2}
init\+With\+Screen\+Rect &Initializes the screen capturer by specifying a screen Rect. Applies to Windows only.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_screen_capturer_ac0d928d126e8feaa9ab35b46a09b07e9}{init\+With\+Window\+Id}} &Initializes the screen capturer by specifying a window ID. Applies to Windows and mac\+OS only.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_screen_capturer_adc289a9e600a7eae83f4b62dda468a60}{set\+Content\+Hint}} &Sets the content hint for screen sharing. Applies to Windows and mac\+OS only.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_screen_capturer_a12a5ab0d9862493107e8e4eaf61270f6}{update\+Screen\+Capture\+Region}} &Updates the screen capture region. Applies to Windows and mac\+OS only.  \\\cline{1-2}
\end{longtabu}


\label{_mediaplayer}%


\doxysubsection*{Media player}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_player_source_ab63f69c63c54beecdcb68cff585cb416}{open}} &Opens a media file with a specified U\+RL.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_player_source_afad229dd37e09325b06dac56de3d4b73}{play}} &Plays the media file.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_player_source_a351b858987899593bb76e0696acc89b0}{stop}} &Stops playing the current media file.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_player_source_ab3522b8414ee85dd4d3bc1285b903bb2}{pause}} &Pauses playing the media file.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_player_source_a51b113e924466f89a9591bc13ccc20b5}{get\+Duration}} &Gets the duration of the media file.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_player_source_a05825175c2aefe0ca97f8ab9687d44a6}{register\+Player\+Source\+Observer}} &Registers a media player source observer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_player_source_a2a5a21090d22bd840a653d29af9358ce}{unregister\+Player\+Source\+Observer}} &Releases the media player source observer.  \\\cline{1-2}
\end{longtabu}


\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_player_source_observer_a175672d68a5c5b252294e041dfdf5b12}{on\+Player\+Source\+State\+Changed}} &Occurs when the state of the media player has changed.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_media_player_source_observer_ae8f0f915a640ef64d4e4368ee669296e}{on\+Position\+Changed}} &Occurs when the playback position of the media player has changed.  \\\cline{1-2}
\end{longtabu}


\label{_rtmpstreamingservice}%


\doxysubsection*{R\+T\+MP streaming service}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
add\+Publish\+Stream\+Url &Publishes the local stream to the C\+DN.  \\\cline{1-2}
remove\+Publish\+Stream\+Url &Removes an R\+T\+MP stream from the C\+DN.  \\\cline{1-2}
set\+Live\+Transcoding &Sets the video layout and audio settings for C\+DN live.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtmp_streaming_service_aa6006ea354332388049169582544de85}{register\+Observer}} &Registers a R\+T\+MP streaming observer.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtmp_streaming_service_a4675c5372bb56c10dae29578aa3107d4}{unregister\+Observer}} &Releases the R\+T\+MP streaming observer.  \\\cline{1-2}
\end{longtabu}


\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtmp_streaming_observer_a6e05487493504d784bf63794d0c774e3}{on\+Rtmp\+Streaming\+State\+Changed}} &Occurs when the state of the R\+T\+MP streaming has changed.  \\\cline{1-2}
on\+Stream\+Published &Reports the result of calling add\+Publish\+Stream\+Url.  \\\cline{1-2}
on\+Stream\+Unpublished &Reports the result of calling remove\+Publish\+Stream\+Url.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtc_1_1_i_rtmp_streaming_observer_a3e974c6cbeb877267ad684b96702b307}{on\+Transcoding\+Updated}} &Occurs when the publisher\textquotesingle{}s transcoding settings are updated.  \\\cline{1-2}
\end{longtabu}


\label{_rtmservice}%


\doxysubsection*{R\+TM service}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_a4cdc69f903ee52d849834454742fe270}{initialize}} &Initializes and gets an I\+Rtm\+Service instance.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_a0efbaa6b2409e68144afeaa0c9a070bd}{unregister\+Observer}} &Releases the I\+Rtm\+Service\+Event\+Handler object.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_a40f5bb3bc5092620a1ec58597f45ada1}{release}} &Releases the I\+Rtm\+Service instance.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_ae14745f84c2713557233a76f87d813be}{login}} &Logs in the R\+TM service.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_a9338f44afa34d415ce050e9cdb01c364}{logout}} &Logs out of the R\+TM service.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_a9fd01f4122f34587caffc06bb66fee06}{send\+Message\+To\+Peer}} &Sends a peer message to s specified remote user.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_a0196e60ee165f6c97f561cf71499d377}{create\+Channel}} &Creates an R\+TM channel.  \\\cline{1-2}
\end{longtabu}


\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_event_handler_a8cf1b2be30172004f595484e0a194d76}{on\+Login\+Success}} &Occurs when the user successfully logs in the R\+TM service.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_event_handler_a4070957075f00a9a54ed60290838fec4}{on\+Login\+Failure}} &Occurs when the user fails to log in the R\+TM service.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_event_handler_a63ac6fe8d1038d864f0f4cea0a74bc34}{on\+Logout}} &Occurs when the user successfully logs out of the R\+TM service.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_event_handler_a2a1463bd16f93eb3510a31cd7d0c1913}{on\+Connection\+State\+Changed}} &Occurs when the connection state of the local user has changed.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_event_handler_a79262c88821504f3c24926320d09855f}{on\+Send\+Message\+State}} &Reports the state of sending a message.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_rtm_service_event_handler_afaf1e899bc3d39dbe33f7fa769897c9a}{on\+Message\+Received\+From\+Peer}} &Occurs when the local user receives a message from a remote user.  \\\cline{1-2}
\end{longtabu}


\label{_rtmchannel}%


\doxysubsection*{R\+TM channel}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_ae7a4c44225ee34dd3348b898a8396c0f}{set\+Event\+Handler}} &Sets an event handler for I\+Channel  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_a1d9ace5993885833eba138086d8261c4}{join}} &Joins the current channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_a5b62ab59b6786ba513cf2daefbcd1876}{leave}} &Leaves the current channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_a51caea048fc98a7d4f7a7e0f1fd1fc38}{send\+Message}} &Sends a channel message.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_a9fc51e74051535b671baec030b9cd7a9}{update\+Attributes}} &Updates the channel attributes.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_a1cb06e990208dca3618af0d7a2403042}{delete\+Attributes}} &Removes the channel attributes.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_aedbf0bee40a4cb0eba57a894a2735079}{get\+Id}} &Gets the current request ID.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_a801cd3b75b5b98896228af29e5b734df}{release}} &Releases the I\+Channel instance.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_member_adbde2802b698b0f03ec255af38fdbf33}{get\+Member\+Id}} &Gets the ID of the channel member.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_member_a5cb2938dcede0327638718d1cede2dfd}{get\+Channel\+Id}} &Gets the ID of the channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_member_ac7d929fe29faaa4f564441a0db69685c}{release}} &Release the I\+Channel\+Member class.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_attributes_a62030226738d193b3b569adbd895f2e9}{create\+Channel\+Attributes}} &Creates an I\+Channel\+Attributes instance.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_attributes_a75505fcd3e34f67d984942eb56466813}{add\+Attribute}} &Adds an attribute to a specified channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_attributes_ae6b2ed58f7ca4e4551fe20b93aebc7bb}{remove\+Attribute}} &Removes an attribute from the channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_attributes_a20d2960476d03b593522bf2fa8b3aee0}{get\+Attributes\+Size}} &Gets the size of the attributes.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_attributes_aeff5ae2e2b339c0bfb49993947ce5c9a}{get\+Attributes}} &Gets the channel attributes.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_attributes_aea1bb95a295bff14e992ac3fc91d9284}{get\+Attribute\+Value}} &Gets the value of a channel attribute using the attribute key.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_attributes_a8d2f4f6970bbd30282d919e0cc592f6b}{release}} &Releases the I\+Channel\+Attributes instance.  \\\cline{1-2}
\end{longtabu}


\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Event }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_event_handler_a361966f42e09627268734e43b1f7edb2}{on\+Join\+Success}} &Occurs when the local user successfully joins the channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_event_handler_aee257d37a2fe9a0dedde08a38d4fd356}{on\+Join\+Failure}} &Occurs when the local user fails to join the channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_event_handler_acd127e2282aaf719241f3527c8252070}{on\+Leave}} &Occurs when the local user leaves the channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_event_handler_aabe8e78b46553645640479b862f2cae2}{on\+Message\+Received}} &Occurs when the local user receives the channel message.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_event_handler_a26e19cde998d9ad9efb2505526d7427c}{on\+Send\+Message\+State}} &Reports the state od the message sent by the local user.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_event_handler_a57a5d0e1a084c75e3c0ace3a99090fbd}{on\+Member\+Joined}} &Occurs when another member joins the channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_event_handler_ae657b3507830a8162dc3a046dae2e60b}{on\+Member\+Left}} &Occurs when the other member leaves the channel.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_event_handler_a8f8e15e2f58886f92ecf4742159ad21e}{on\+Members\+Gotten}} &Reports all members in the channel  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_event_handler_a18d91586fe31c44a22c525e364e7cdb5}{on\+Attributes\+Updated}} &Occurs when the channel attributes are updated.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_event_handler_a915cbddd029d7cfa6ef4d55c9b1d9ead}{on\+Update\+Attributes\+Response}} &Occurs when the local user calls update\+Attributes.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_event_handler_afa059cea82a3dfcccd19b785541982b1}{on\+Attributed\+Deleted}} &Occurs when the channel attributed are deleted.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_channel_event_handler_afa6ee111be8c393b069cf225c230c37f}{on\+Delete\+Attributes\+Response}} &Occurs when the local user calls delete\+Attributes.  \\\cline{1-2}
\end{longtabu}


\label{_rtmmessage}%


\doxysubsection*{R\+TM message}

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Method }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description  }\\\cline{1-2}
\endhead
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_message_a4ddf418ff0663a4ad31b669481562a8f}{create\+Message}} &Creates an I\+Message instance.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_message_a6fc858856050e0ebb4101f716297310d}{get\+Message\+Id}} &Gets the ID of the message.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_message_a57e34dc8ff7dec74ad44b2d611f5bcaa}{get\+Message\+Type}} &Gets the message type.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_message_a2e93098d5a3819e9d4cf8d42641474ae}{set\+Text}} &Sets the content of the text message, or the text description of the raw message.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_message_a6b68b2abe8c9ead51bdfd2788c8cf694}{get\+Text}} &Gets the content of the text message, or the text description of the raw message.  \\\cline{1-2}
\mbox{\hyperlink{classagora_1_1rtm_1_1_i_message_a83840910fbb6104c414c30caf2359ffe}{release}} &Releases the I\+Message instance.  \\\cline{1-2}
\end{longtabu}
