\hypertarget{classio_1_1agora_1_1rte_1_1_player}{}\doxysection{io.\+agora.\+rte.\+Player Class Reference}
\label{classio_1_1agora_1_1rte_1_1_player}\index{io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a917e1b32d3e65e3f9785a5b3d2075490}{Player}} (\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_rte}{Rte}} rte, \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_initial_config}{Player\+Initial\+Config}} initial\+Config)
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a88280ab24ee7a046e5dd98eb0862c142}\label{classio_1_1agora_1_1rte_1_1_player_a88280ab24ee7a046e5dd98eb0862c142}} 
long {\bfseries get\+Native\+Handle} ()
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a3362b1868a8849c0e1042be2e55ed594}{open\+With\+Url}} (String url, long start\+Time, \mbox{\hyperlink{interfaceio_1_1agora_1_1rte_1_1callback_1_1_async_callback}{Async\+Callback}} callback)
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a219d9214421d6d79bbb38b0a419d4319}\label{classio_1_1agora_1_1rte_1_1_player_a219d9214421d6d79bbb38b0a419d4319}} 
void {\bfseries open\+With\+Custom\+Source\+Provider} (\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_custom_source_provider}{Player\+Custom\+Source\+Provider}} provider, long start\+Time, \mbox{\hyperlink{interfaceio_1_1agora_1_1rte_1_1callback_1_1_async_callback}{Async\+Callback}} callback)
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_afff7197bddff44a12018cf32828d4909}\label{classio_1_1agora_1_1rte_1_1_player_afff7197bddff44a12018cf32828d4909}} 
void {\bfseries open\+With\+Stream} (\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_stream}{Stream}} stream, \mbox{\hyperlink{interfaceio_1_1agora_1_1rte_1_1callback_1_1_async_callback}{Async\+Callback}} callback)
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a5e7ef73951b08213dc4cb78994756b96}{switch\+With\+Url}} (String url, boolean sync\+Pts, \mbox{\hyperlink{interfaceio_1_1agora_1_1rte_1_1callback_1_1_async_callback}{Async\+Callback}} callback)
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a4d60a7b3ce500b85633316d958c32288}{get\+Stats}} (\mbox{\hyperlink{interfaceio_1_1agora_1_1rte_1_1callback_1_1_player_get_stats_callback}{Player\+Get\+Stats\+Callback}} callback)
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a7d17448df479209d217bf4cf8e48a764}{set\+Canvas}} (\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_canvas}{Canvas}} canvas)  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a0dcaa97d267f163cb5b0682d23a0ae12}{play}} ()  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a6a9ec9bf1bc4d2ecc984073025481b5d}{stop}} ()  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a2b55b324408ff9ec105e6394934f1952}{pause}} ()  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a9a6251e875016549fca3a69e4b7aecbb}{seek}} (long new\+Time)  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a36e4edc7b3c280299953b80d8e4eb9e5}{mute\+Audio}} (boolean mute)  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a710cd051ff8059959f715f02971e081c}{mute\+Video}} (boolean mute)  throws Rte\+Exception 
\item 
long \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a62173a025ba374da621e45c3ecc7c426}{get\+Position}} ()  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a27fb0a75f54333ef5d2472840b739b61}{get\+Info}} (\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_info}{Player\+Info}} info)  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_ad796a4c4ee6017443786cdb0cc6cf1ca}{get\+Configs}} (\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config}{Player\+Config}} config)  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_af315c87bcc2ea538c098e9857f4e29b1}{set\+Configs}} (\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config}{Player\+Config}} config)  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a472bb781b498f91da61017b7e6d471f4}{register\+Observer}} (\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_observer}{Player\+Observer}} observer)  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_ac39ed6a3afda5f66188be926ee28560c}{unregister\+Observer}} (\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_observer}{Player\+Observer}} observer)  throws Rte\+Exception 
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_a7db73cb4e85581716756cf8fd9b9c773}{preload\+With\+Url}} (String url)  throws Rte\+Exception 
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a6f24c5b0517ab306c7c5362e4bfe900a}\label{classio_1_1agora_1_1rte_1_1_player_a6f24c5b0517ab306c7c5362e4bfe900a}} 
void {\bfseries finalize} ()
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} class can be used to play U\+RL resources. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a917e1b32d3e65e3f9785a5b3d2075490}\label{classio_1_1agora_1_1rte_1_1_player_a917e1b32d3e65e3f9785a5b3d2075490}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!Player@{Player}}
\index{Player@{Player}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{Player()}{Player()}}
{\footnotesize\ttfamily io.\+agora.\+rte.\+Player.\+Player (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_rte}{Rte}}}]{rte,  }\item[{\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_initial_config}{Player\+Initial\+Config}}}]{initial\+Config }\end{DoxyParamCaption})}

Construct a \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em rte} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_rte}{Rte}} object. \\
\hline
{\em initial\+Config} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_initial_config}{Player\+Initial\+Config}} initialization configuration object. Currently, a null pointer can be passed. \\
\hline
\end{DoxyParams}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a7db73cb4e85581716756cf8fd9b9c773}\label{classio_1_1agora_1_1rte_1_1_player_a7db73cb4e85581716756cf8fd9b9c773}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!preloadWithUrl@{preloadWithUrl}}
\index{preloadWithUrl@{preloadWithUrl}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{preloadWithUrl()}{preloadWithUrl()}}
{\footnotesize\ttfamily static void io.\+agora.\+rte.\+Player.\+preload\+With\+Url (\begin{DoxyParamCaption}\item[{String}]{url }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}\hspace{0.3cm}{\ttfamily [static]}}

Preload U\+RL, only valid for rte type U\+R\+Ls. This interface can speed up the open\+With\+Url operation. Up to 20 U\+R\+Ls can be preloaded. If the limit is exceeded, new preloads will replace old ones. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em url} & rte type U\+RL \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+A\+R\+G\+U\+M\+E\+NT\+: The passed U\+RL is empty or has an invalid format. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a3362b1868a8849c0e1042be2e55ed594}\label{classio_1_1agora_1_1rte_1_1_player_a3362b1868a8849c0e1042be2e55ed594}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!openWithUrl@{openWithUrl}}
\index{openWithUrl@{openWithUrl}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{openWithUrl()}{openWithUrl()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+open\+With\+Url (\begin{DoxyParamCaption}\item[{String}]{url,  }\item[{long}]{start\+Time,  }\item[{\mbox{\hyperlink{interfaceio_1_1agora_1_1rte_1_1callback_1_1_async_callback}{Async\+Callback}}}]{callback }\end{DoxyParamCaption})}

Open U\+RL resource. Currently, the rte U\+R\+Ls and cdn U\+R\+Ls and files are supported. This interface can also be used to refresh the token of an already opened R\+TE U\+RL. For R\+TE U\+RL format definition and token refresh method description, refer to the doc\+: \href{https://doc.shengwang.cn/doc/rtc/android/best-practice/playing-url}{\texttt{ https\+://doc.\+shengwang.\+cn/doc/rtc/android/best-\/practice/playing-\/url}} \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em url} & The U\+RL resource to open \\
\hline
{\em start\+Time} & Set the starting position for playback, in ms. \\
\hline
{\em callback} & Asynchronous callback to notify the result of the open operation. If an error occurs during open, it will enter the Player\+State.\+F\+A\+I\+L\+ED state. You need to call the stop method before calling open\+With\+Url again. \\
\hline
{\em error} & Possible Error\+Code returns. At this time, the new\+\_\+state value corresponds to Player\+State.\+F\+A\+I\+L\+ED.
\begin{DoxyItemize}
\item Error\+Code.\+OK\+: Success
\item Error\+Code.\+D\+E\+F\+A\+U\+LT\+: For specific reasons, see Error.\+Message, including the following situations\+:
\begin{DoxyItemize}
\item Failed to connect to the channel
\end{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+A\+R\+G\+U\+M\+E\+NT\+:
\begin{DoxyItemize}
\item Invalid appid
\item Invalid channelid
\item Invalid uid
\end{DoxyItemize}
\item Error\+Code.\+A\+U\+T\+H\+E\+N\+T\+I\+C\+A\+T\+I\+O\+N\+\_\+\+F\+A\+I\+L\+ED\+:
\begin{DoxyItemize}
\item Invalid token
\item Token expired
\end{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+:
\begin{DoxyItemize}
\item Engine not initialized 
\end{DoxyItemize}
\end{DoxyItemize}\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a5e7ef73951b08213dc4cb78994756b96}\label{classio_1_1agora_1_1rte_1_1_player_a5e7ef73951b08213dc4cb78994756b96}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!switchWithUrl@{switchWithUrl}}
\index{switchWithUrl@{switchWithUrl}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{switchWithUrl()}{switchWithUrl()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+switch\+With\+Url (\begin{DoxyParamCaption}\item[{String}]{url,  }\item[{boolean}]{sync\+Pts,  }\item[{\mbox{\hyperlink{interfaceio_1_1agora_1_1rte_1_1callback_1_1_async_callback}{Async\+Callback}}}]{callback }\end{DoxyParamCaption})}

Switch to a new U\+RL. This interface can be used to switch to a new U\+RL during playback.

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This method is only valid when the player opens a non-\/\+R\+TE U\+RL.
\item Call this method when the sdk returns the player state as Player\+State.\+O\+P\+E\+N\+\_\+\+C\+O\+M\+P\+L\+E\+T\+ED.
\end{DoxyItemize}
\end{DoxyNote}
\begin{DoxySince}{Since}
v4.\+5.\+1 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em url} & The U\+RL resource to switch to. \\
\hline
{\em sync\+Pts} & Whether to synchronize the playback position (ms) after the switch operation\+:
\begin{DoxyItemize}
\item true\+: Synchronize the playback position.
\item false\+: (Default)Do not synchronize the playback position. 
\end{DoxyItemize}\\
\hline
{\em callback} & Asynchronous callback to notify the result of the switch operation. \\
\hline
{\em error} & Possible Error\+Code returns.
\begin{DoxyItemize}
\item Error\+Code.\+OK\+: Success
\item Error\+Code.\+D\+E\+F\+A\+U\+LT\+: Failed to switch to the new U\+RL.
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+A\+R\+G\+U\+M\+E\+NT\+: The passed U\+RL is empty or has an invalid format.
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+:
\begin{DoxyItemize}
\item The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid.
\item The opened U\+RL is an R\+TE U\+RL, switch to a new U\+RL is not supported. 
\end{DoxyItemize}
\end{DoxyItemize}\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a4d60a7b3ce500b85633316d958c32288}\label{classio_1_1agora_1_1rte_1_1_player_a4d60a7b3ce500b85633316d958c32288}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!getStats@{getStats}}
\index{getStats@{getStats}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{getStats()}{getStats()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+get\+Stats (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{interfaceio_1_1agora_1_1rte_1_1callback_1_1_player_get_stats_callback}{Player\+Get\+Stats\+Callback}}}]{callback }\end{DoxyParamCaption})}

Get player playback statistics. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em callback} & Asynchronous callback for statistical data. \\
\hline
{\em player\+Stats} & Statistical values. \\
\hline
{\em error} & Possible Error\+Code returns\+:
\begin{DoxyItemize}
\item Error\+Code.\+OK\+: Success 
\end{DoxyItemize}\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a7d17448df479209d217bf4cf8e48a764}\label{classio_1_1agora_1_1rte_1_1_player_a7d17448df479209d217bf4cf8e48a764}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!setCanvas@{setCanvas}}
\index{setCanvas@{setCanvas}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{setCanvas()}{setCanvas()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+set\+Canvas (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_canvas}{Canvas}}}]{canvas }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Set canvas. After the stream is successfully pulled, the video frame will be rendered on the set canvas. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em canvas} & The canvas object used to render video frames. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+A\+R\+G\+U\+M\+E\+NT\+: The canvas is null.
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+: The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a0dcaa97d267f163cb5b0682d23a0ae12}\label{classio_1_1agora_1_1rte_1_1_player_a0dcaa97d267f163cb5b0682d23a0ae12}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!play@{play}}
\index{play@{play}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{play()}{play()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+play (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Start stream playback. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+: The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a6a9ec9bf1bc4d2ecc984073025481b5d}\label{classio_1_1agora_1_1rte_1_1_player_a6a9ec9bf1bc4d2ecc984073025481b5d}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!stop@{stop}}
\index{stop@{stop}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{stop()}{stop()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+stop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Stop playback. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+: The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a2b55b324408ff9ec105e6394934f1952}\label{classio_1_1agora_1_1rte_1_1_player_a2b55b324408ff9ec105e6394934f1952}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!pause@{pause}}
\index{pause@{pause}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{pause()}{pause()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+pause (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Pause playback. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+: The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a9a6251e875016549fca3a69e4b7aecbb}\label{classio_1_1agora_1_1rte_1_1_player_a9a6251e875016549fca3a69e4b7aecbb}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!seek@{seek}}
\index{seek@{seek}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{seek()}{seek()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+seek (\begin{DoxyParamCaption}\item[{long}]{new\+Time }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Seek the playback position. \begin{DoxySince}{Since}
v4.\+5.\+1 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em new\+Time} & The new playback position to seek to. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+:
\begin{DoxyItemize}
\item The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid.
\item The opened U\+RL is an R\+TE U\+RL, Seek is not supported. 
\end{DoxyItemize}
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a36e4edc7b3c280299953b80d8e4eb9e5}\label{classio_1_1agora_1_1rte_1_1_player_a36e4edc7b3c280299953b80d8e4eb9e5}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!muteAudio@{muteAudio}}
\index{muteAudio@{muteAudio}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{muteAudio()}{muteAudio()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+mute\+Audio (\begin{DoxyParamCaption}\item[{boolean}]{mute }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Mute/unmute audio separately. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em mute} & Whether to mute. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+: The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a710cd051ff8059959f715f02971e081c}\label{classio_1_1agora_1_1rte_1_1_player_a710cd051ff8059959f715f02971e081c}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!muteVideo@{muteVideo}}
\index{muteVideo@{muteVideo}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{muteVideo()}{muteVideo()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+mute\+Video (\begin{DoxyParamCaption}\item[{boolean}]{mute }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Mute/unmute video separately. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em mute} & Whether to mute. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+: The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a62173a025ba374da621e45c3ecc7c426}\label{classio_1_1agora_1_1rte_1_1_player_a62173a025ba374da621e45c3ecc7c426}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!getPosition@{getPosition}}
\index{getPosition@{getPosition}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{getPosition()}{getPosition()}}
{\footnotesize\ttfamily long io.\+agora.\+rte.\+Player.\+get\+Position (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Get the playback position. \begin{DoxySince}{Since}
v4.\+5.\+1 
\end{DoxySince}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+:
\begin{DoxyItemize}
\item The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid.
\item The opened U\+RL is an R\+TE U\+RL, get\+Position is not supported. 
\end{DoxyItemize}
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
The current playback position, in milliseconds. 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a27fb0a75f54333ef5d2472840b739b61}\label{classio_1_1agora_1_1rte_1_1_player_a27fb0a75f54333ef5d2472840b739b61}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!getInfo@{getInfo}}
\index{getInfo@{getInfo}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{getInfo()}{getInfo()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+get\+Info (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_info}{Player\+Info}}}]{info }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Get player information. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em info} & The object used to receive player information. After the interface call is successful, the player information will be copied to the info object. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+: The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid.
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+A\+R\+G\+U\+M\+E\+NT\+: The info object is null. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_ad796a4c4ee6017443786cdb0cc6cf1ca}\label{classio_1_1agora_1_1rte_1_1_player_ad796a4c4ee6017443786cdb0cc6cf1ca}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!getConfigs@{getConfigs}}
\index{getConfigs@{getConfigs}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{getConfigs()}{getConfigs()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+get\+Configs (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config}{Player\+Config}}}]{config }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Get the configuration of \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em config} & The object used to receive \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config}{Player\+Config}} information. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+: The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid.
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+A\+R\+G\+U\+M\+E\+NT\+: The config object is null. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_af315c87bcc2ea538c098e9857f4e29b1}\label{classio_1_1agora_1_1rte_1_1_player_af315c87bcc2ea538c098e9857f4e29b1}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!setConfigs@{setConfigs}}
\index{setConfigs@{setConfigs}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{setConfigs()}{setConfigs()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+set\+Configs (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config}{Player\+Config}}}]{config }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Configure the \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em config} & The object used to change the player configuration. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+: The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid.
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+A\+R\+G\+U\+M\+E\+NT\+: The config object is null. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
voiod 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_a472bb781b498f91da61017b7e6d471f4}\label{classio_1_1agora_1_1rte_1_1_player_a472bb781b498f91da61017b7e6d471f4}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!registerObserver@{registerObserver}}
\index{registerObserver@{registerObserver}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{registerObserver()}{registerObserver()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+register\+Observer (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_observer}{Player\+Observer}}}]{observer }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Register player observer. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em observer} & The object used to receive player-\/related callbacks. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+: The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid.
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+A\+R\+G\+U\+M\+E\+NT\+: The observer object is null. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_ac39ed6a3afda5f66188be926ee28560c}\label{classio_1_1agora_1_1rte_1_1_player_ac39ed6a3afda5f66188be926ee28560c}} 
\index{io.agora.rte.Player@{io.agora.rte.Player}!unregisterObserver@{unregisterObserver}}
\index{unregisterObserver@{unregisterObserver}!io.agora.rte.Player@{io.agora.rte.Player}}
\doxysubsubsection{\texorpdfstring{unregisterObserver()}{unregisterObserver()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player.\+unregister\+Observer (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_observer}{Player\+Observer}}}]{observer }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Unregister player observer. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em observer} & The object used to receive player-\/related callbacks. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception_a2867a6ee1090dc015bbbae3dd380feb3}{Rte\+Exception.\+error\+Code()}} may return the following Error\+Code\+:
\begin{DoxyItemize}
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+O\+P\+E\+R\+A\+T\+I\+ON\+: The corresponding internal \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player}{Player}} object has been destroyed or is invalid.
\item Error\+Code.\+I\+N\+V\+A\+L\+I\+D\+\_\+\+A\+R\+G\+U\+M\+E\+NT\+: The observer object is null. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
