\hypertarget{classio_1_1agora_1_1rte_1_1_player_config}{}\doxysection{io.\+agora.\+rte.\+Player\+Config Class Reference}
\label{classio_1_1agora_1_1rte_1_1_player_config}\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}


This class provides methods related to Media player options.  


\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a7996cc008bc64d47122a080d0434a841}\label{classio_1_1agora_1_1rte_1_1_player_config_a7996cc008bc64d47122a080d0434a841}} 
long {\bfseries get\+Native\+Handle} ()
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_a4bdd7a5adfbe250757c99dfa5204f45b}{set\+Auto\+Play}} (boolean auto\+Play)  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Sets whether to enable autoplay. \end{DoxyCompactList}\item 
boolean \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_a3304229b4cbabc22ff4ae8c511ff021c}{get\+Auto\+Play}} ()  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Gets the autoplay setting. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_a85791f83f95bdf1f4ffd39f7367fbd44}{set\+Playback\+Speed}} (int speed)  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Sets the playback speed parameter. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_a445d4a3ccfc4c7ac15ca8c36048d0d82}{get\+Playback\+Speed}} ()  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Gets the playback speed parameter. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_ab1175171cc864e8d22a882aae99a74d9}\label{classio_1_1agora_1_1rte_1_1_player_config_ab1175171cc864e8d22a882aae99a74d9}} 
void {\bfseries set\+Playout\+Audio\+Track\+Idx} (int idx)  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a84ed30ea3f632541f779bc4ac68ead4e}\label{classio_1_1agora_1_1rte_1_1_player_config_a84ed30ea3f632541f779bc4ac68ead4e}} 
int {\bfseries get\+Playout\+Audio\+Track\+Idx} ()  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a028582078f74ec2b42a71a47c46817c5}\label{classio_1_1agora_1_1rte_1_1_player_config_a028582078f74ec2b42a71a47c46817c5}} 
void {\bfseries set\+Publish\+Audio\+Track\+Idx} (int idx)  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a4ccd158ccf4311f636559c1c798ed832}\label{classio_1_1agora_1_1rte_1_1_player_config_a4ccd158ccf4311f636559c1c798ed832}} 
int {\bfseries get\+Publish\+Audio\+Track\+Idx} ()  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a9ca5043f43bcd837984f339a338a49d4}\label{classio_1_1agora_1_1rte_1_1_player_config_a9ca5043f43bcd837984f339a338a49d4}} 
void {\bfseries set\+Audio\+Track\+Idx} (int idx)  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_af1ae5a7fcfc869b7c0687709726cf150}\label{classio_1_1agora_1_1rte_1_1_player_config_af1ae5a7fcfc869b7c0687709726cf150}} 
int {\bfseries get\+Audio\+Track\+Idx} ()  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a9250a711dc510dfff27429c354348f25}\label{classio_1_1agora_1_1rte_1_1_player_config_a9250a711dc510dfff27429c354348f25}} 
void {\bfseries set\+Subtitle\+Track\+Idx} (int idx)  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_acf1b6fb43a1bfd6d8a07b9f3cfcf8757}\label{classio_1_1agora_1_1rte_1_1_player_config_acf1b6fb43a1bfd6d8a07b9f3cfcf8757}} 
int {\bfseries get\+Subtitle\+Track\+Idx} ()  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a47ad5be5bc576c25e8cc20bb6f356713}\label{classio_1_1agora_1_1rte_1_1_player_config_a47ad5be5bc576c25e8cc20bb6f356713}} 
void {\bfseries set\+External\+Subtitle\+Track\+Idx} (int idx)  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_ab703360fd3f44f162b6ea29636fe2fd9}\label{classio_1_1agora_1_1rte_1_1_player_config_ab703360fd3f44f162b6ea29636fe2fd9}} 
int {\bfseries get\+External\+Subtitle\+Track\+Idx} ()  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_aea92fe81c00117f7cc59e6947d05df1b}\label{classio_1_1agora_1_1rte_1_1_player_config_aea92fe81c00117f7cc59e6947d05df1b}} 
void {\bfseries set\+Audio\+Pitch} (int audio\+Pitch)  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_aaa7af42141c8c2dfb36bdaaaf9facfc6}\label{classio_1_1agora_1_1rte_1_1_player_config_aaa7af42141c8c2dfb36bdaaaf9facfc6}} 
int {\bfseries get\+Audio\+Pitch} ()  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_aa0f1b98d40a8a4edb11d1c9b9b69ddd4}{set\+Playout\+Volume}} (int volume)  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Sets the playback volume parameter. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_af4a5d8ad93fa35b3a57825c7e8ac4140}{get\+Playout\+Volume}} ()  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Gets the playback volume of the media player. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_aeca38f01c271d2304dfbb9a8cf15023d}\label{classio_1_1agora_1_1rte_1_1_player_config_aeca38f01c271d2304dfbb9a8cf15023d}} 
void {\bfseries set\+Audio\+Playback\+Delay} (int delay)  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a3d5510ae56bbe5631aa41316b5ba5ba3}\label{classio_1_1agora_1_1rte_1_1_player_config_a3d5510ae56bbe5631aa41316b5ba5ba3}} 
int {\bfseries get\+Audio\+Playback\+Delay} ()  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_aa6ce912c0304e9c6f3e8b3a46ced4c62}\label{classio_1_1agora_1_1rte_1_1_player_config_aa6ce912c0304e9c6f3e8b3a46ced4c62}} 
void {\bfseries set\+Audio\+Dual\+Mono\+Mode} (int mode)  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a07e7dc9b21e1d9e4fee5290c0500c452}\label{classio_1_1agora_1_1rte_1_1_player_config_a07e7dc9b21e1d9e4fee5290c0500c452}} 
int {\bfseries get\+Audio\+Dual\+Mono\+Mode} ()  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_acbc2e0a3187612b8fe69c03f831e90eb}\label{classio_1_1agora_1_1rte_1_1_player_config_acbc2e0a3187612b8fe69c03f831e90eb}} 
void {\bfseries set\+Publish\+Volume} (int volume)  throws Rte\+Exception 
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a9db7552b7de5f8c75b71be883e4d4f63}\label{classio_1_1agora_1_1rte_1_1_player_config_a9db7552b7de5f8c75b71be883e4d4f63}} 
int {\bfseries get\+Publish\+Volume} ()  throws Rte\+Exception 
\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_a6a269fc4a3b9a3638105a8fe2125bdcc}{set\+Loop\+Count}} (int count)  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Sets the number of times the media file loops during playback. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_a896202f2f22bf2f85a64fe2c77eb9c71}{get\+Loop\+Count}} ()  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Gets the loop count parameter of the media file. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_a935bb9e3b6020425eb13de5623ac2a66}{set\+Json\+Parameter}} (String json\+Parameter)  throws Rte\+Exception 
\item 
String \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_aabf1d75aac7dd0d207ed724b29637d8a}{get\+Json\+Parameter}} ()  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Gets the configured S\+DK J\+S\+ON settings. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_ae95643b37330b33fe03729b8a73941a3}{set\+Abr\+Subscription\+Layer}} (Constants.\+Abr\+Subscription\+Layer subscription\+Layer)  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Sets the quality level of the subscribed media stream. \end{DoxyCompactList}\item 
Constants.\+Abr\+Subscription\+Layer \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_a7f7f02c3fefc9a9915dedf352bac5715}{get\+Abr\+Subscription\+Layer}} ()  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Gets the quality layer of the subscribed video stream. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_ac999538392818d530cad83c0baa470c7}{set\+Abr\+Fallback\+Layer}} (Constants.\+Abr\+Fallback\+Layer fallback\+Layer)  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Sets the fallback option for subscribed remote video streams. \end{DoxyCompactList}\item 
Constants.\+Abr\+Fallback\+Layer \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1_player_config_a720c4aabee8923ca14c4b5b9b3e8deba}{get\+Abr\+Fallback\+Layer}} ()  throws Rte\+Exception 
\begin{DoxyCompactList}\small\item\em Gets the configured video stream fallback option. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_ace31fa8883cfbfd30ddf8df0095049d2}\label{classio_1_1agora_1_1rte_1_1_player_config_ace31fa8883cfbfd30ddf8df0095049d2}} 
void {\bfseries finalize} ()
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This class provides methods related to Media player options. 

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


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a4bdd7a5adfbe250757c99dfa5204f45b}\label{classio_1_1agora_1_1rte_1_1_player_config_a4bdd7a5adfbe250757c99dfa5204f45b}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!setAutoPlay@{setAutoPlay}}
\index{setAutoPlay@{setAutoPlay}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{setAutoPlay()}{setAutoPlay()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player\+Config.\+set\+Auto\+Play (\begin{DoxyParamCaption}\item[{boolean}]{auto\+Play }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Sets whether to enable autoplay. 

\begin{DoxySince}{Since}
v4.\+4.\+0
\end{DoxySince}
You can call this method to set whether to enable autoplay before calling {\ttfamily open\+With\+Url} to open a media pull stream. If not set, autoplay is enabled by default. ~\newline
 Call timing\+: This method must be called before {\ttfamily open\+With\+Url}.


\begin{DoxyParams}{Parameters}
{\em auto\+Play} & Whether to enable autoplay\+:
\begin{DoxyItemize}
\item {\ttfamily true}\+: (Default) Enables autoplay.
\item {\ttfamily false}\+: Disables autoplay.
\end{DoxyItemize}\\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & If the method call fails, the S\+DK throws an {\ttfamily Rte\+Exception} with the corresponding error information. You need to catch and handle the exception. \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a3304229b4cbabc22ff4ae8c511ff021c}\label{classio_1_1agora_1_1rte_1_1_player_config_a3304229b4cbabc22ff4ae8c511ff021c}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!getAutoPlay@{getAutoPlay}}
\index{getAutoPlay@{getAutoPlay}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{getAutoPlay()}{getAutoPlay()}}
{\footnotesize\ttfamily boolean io.\+agora.\+rte.\+Player\+Config.\+get\+Auto\+Play (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Gets the autoplay setting. 

\begin{DoxySince}{Since}
v4.\+4.\+0
\end{DoxySince}
You can call this method to retrieve the current autoplay setting of the media player. Call timing\+: This method must be called after {\ttfamily get\+Configs(\+Player\+Config config)}.

\begin{DoxyReturn}{Returns}
Whether the autoplay setting was retrieved successfully\+:
\begin{DoxyItemize}
\item {\ttfamily true}\+: Retrieved successfully.
\item {\ttfamily false}\+: Failed to retrieve. 
\end{DoxyItemize}
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a85791f83f95bdf1f4ffd39f7367fbd44}\label{classio_1_1agora_1_1rte_1_1_player_config_a85791f83f95bdf1f4ffd39f7367fbd44}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!setPlaybackSpeed@{setPlaybackSpeed}}
\index{setPlaybackSpeed@{setPlaybackSpeed}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{setPlaybackSpeed()}{setPlaybackSpeed()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player\+Config.\+set\+Playback\+Speed (\begin{DoxyParamCaption}\item[{int}]{speed }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Sets the playback speed parameter. 

\begin{DoxySince}{Since}
v4.\+5.\+1
\end{DoxySince}
You can call this method after calling the {\ttfamily open\+With\+Url} method.


\begin{DoxyParams}{Parameters}
{\em speed} & Playback speed. Valid range is \mbox{[}50, 400\mbox{]}. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a445d4a3ccfc4c7ac15ca8c36048d0d82}\label{classio_1_1agora_1_1rte_1_1_player_config_a445d4a3ccfc4c7ac15ca8c36048d0d82}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!getPlaybackSpeed@{getPlaybackSpeed}}
\index{getPlaybackSpeed@{getPlaybackSpeed}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{getPlaybackSpeed()}{getPlaybackSpeed()}}
{\footnotesize\ttfamily int io.\+agora.\+rte.\+Player\+Config.\+get\+Playback\+Speed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Gets the playback speed parameter. 

\begin{DoxySince}{Since}
v4.\+5.\+1
\end{DoxySince}
\begin{DoxyReturn}{Returns}
If the method call succeeds, returns the value of the playback speed. 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_aa0f1b98d40a8a4edb11d1c9b9b69ddd4}\label{classio_1_1agora_1_1rte_1_1_player_config_aa0f1b98d40a8a4edb11d1c9b9b69ddd4}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!setPlayoutVolume@{setPlayoutVolume}}
\index{setPlayoutVolume@{setPlayoutVolume}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{setPlayoutVolume()}{setPlayoutVolume()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player\+Config.\+set\+Playout\+Volume (\begin{DoxyParamCaption}\item[{int}]{volume }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Sets the playback volume parameter. 

\begin{DoxySince}{Since}
v4.\+5.\+1
\end{DoxySince}
You can use this method to set the playback volume. The valid range is \mbox{[}0, 400\mbox{]}.


\begin{DoxyParams}{Parameters}
{\em volume} & The volume value of the player. The valid range is \mbox{[}0, 400\mbox{]}. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_af4a5d8ad93fa35b3a57825c7e8ac4140}\label{classio_1_1agora_1_1rte_1_1_player_config_af4a5d8ad93fa35b3a57825c7e8ac4140}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!getPlayoutVolume@{getPlayoutVolume}}
\index{getPlayoutVolume@{getPlayoutVolume}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{getPlayoutVolume()}{getPlayoutVolume()}}
{\footnotesize\ttfamily int io.\+agora.\+rte.\+Player\+Config.\+get\+Playout\+Volume (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Gets the playback volume of the media player. 

\begin{DoxySince}{Since}
v4.\+5.\+1
\end{DoxySince}
\begin{DoxyReturn}{Returns}
If the method call succeeds, returns the volume level of the media player. 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a6a269fc4a3b9a3638105a8fe2125bdcc}\label{classio_1_1agora_1_1rte_1_1_player_config_a6a269fc4a3b9a3638105a8fe2125bdcc}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!setLoopCount@{setLoopCount}}
\index{setLoopCount@{setLoopCount}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{setLoopCount()}{setLoopCount()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player\+Config.\+set\+Loop\+Count (\begin{DoxyParamCaption}\item[{int}]{count }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Sets the number of times the media file loops during playback. 

\begin{DoxySince}{Since}
v4.\+5.\+1
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em count} & The number of times to loop the media file\+:
\begin{DoxyItemize}
\item {\ttfamily 1}\+: Play once.
\item {\ttfamily 2}\+: Play twice.
\item {\ttfamily -\/1}\+: Loop indefinitely until {\ttfamily stop} is called to stop playback. 
\end{DoxyItemize}\\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a896202f2f22bf2f85a64fe2c77eb9c71}\label{classio_1_1agora_1_1rte_1_1_player_config_a896202f2f22bf2f85a64fe2c77eb9c71}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!getLoopCount@{getLoopCount}}
\index{getLoopCount@{getLoopCount}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{getLoopCount()}{getLoopCount()}}
{\footnotesize\ttfamily int io.\+agora.\+rte.\+Player\+Config.\+get\+Loop\+Count (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Gets the loop count parameter of the media file. 

\begin{DoxySince}{Since}
v4.\+5.\+1
\end{DoxySince}
\begin{DoxyReturn}{Returns}
Returns the number of times the media file loops when the method call succeeds. 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a935bb9e3b6020425eb13de5623ac2a66}\label{classio_1_1agora_1_1rte_1_1_player_config_a935bb9e3b6020425eb13de5623ac2a66}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!setJsonParameter@{setJsonParameter}}
\index{setJsonParameter@{setJsonParameter}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{setJsonParameter()}{setJsonParameter()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player\+Config.\+set\+Json\+Parameter (\begin{DoxyParamCaption}\item[{String}]{json\+Parameter }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}

Set player private parameters. This parameter setting can be done according to actual needs, referring to the suggestions of Agora SA. \begin{DoxySince}{Since}
v4.\+4.\+0 
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em json\+Parameter} & J\+S\+ON formatted string \\
\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\+: Indicates that the json\+Parameter parameter is empty. 
\end{DoxyItemize}\\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
void 
\end{DoxyReturn}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_aabf1d75aac7dd0d207ed724b29637d8a}\label{classio_1_1agora_1_1rte_1_1_player_config_aabf1d75aac7dd0d207ed724b29637d8a}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!getJsonParameter@{getJsonParameter}}
\index{getJsonParameter@{getJsonParameter}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{getJsonParameter()}{getJsonParameter()}}
{\footnotesize\ttfamily String io.\+agora.\+rte.\+Player\+Config.\+get\+Json\+Parameter (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Gets the configured S\+DK J\+S\+ON settings. 

\begin{DoxySince}{Since}
v4.\+4.\+0
\end{DoxySince}
After you call {\ttfamily set\+Json\+Parameter} to set the J\+S\+ON configuration, you can call this method to retrieve the configured settings. Call timing\+: This method must be called after {\ttfamily get\+Configs(\+Config config)}.

\begin{DoxyReturn}{Returns}
The configured J\+S\+ON settings. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & If the method call fails, the S\+DK throws an {\ttfamily Rte\+Exception} with the corresponding error information. You need to catch and handle the exception. \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_ae95643b37330b33fe03729b8a73941a3}\label{classio_1_1agora_1_1rte_1_1_player_config_ae95643b37330b33fe03729b8a73941a3}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!setAbrSubscriptionLayer@{setAbrSubscriptionLayer}}
\index{setAbrSubscriptionLayer@{setAbrSubscriptionLayer}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{setAbrSubscriptionLayer()}{setAbrSubscriptionLayer()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player\+Config.\+set\+Abr\+Subscription\+Layer (\begin{DoxyParamCaption}\item[{Constants.\+Abr\+Subscription\+Layer}]{subscription\+Layer }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Sets the quality level of the subscribed media stream. 

\begin{DoxySince}{Since}
v4.\+4.\+0
\end{DoxySince}
You can switch between different video quality levels of the subscribed stream based on actual network conditions, corresponding to different resolutions. By default, after calling this method, viewers can only switch between the {\ttfamily H\+I\+GH} and {\ttfamily L\+OW} quality levels of the video stream. If you require more advanced control over video resolution switching, you can contact technical support to enable the A\+BR (Adaptive Bitrate) feature. Once enabled, you can customize the resolution for each video quality level, allowing viewers to switch between all levels of the multi-\/layer video stream based on their needs. For detailed implementation, see the {\ttfamily Viewer-\/side U\+RL Media Pull}. Applicable scenarios\+: In unstable network environments, the viewer can select an appropriate video quality level based on actual network conditions to ensure smooth viewing experience. Call timing\+: This method must be called before {\ttfamily set\+Configs(\+Player\+Config config)}.

\begin{DoxyNote}{Note}
If the A\+BR feature is not enabled, you can only subscribe to the {\ttfamily H\+I\+GH} or {\ttfamily L\+OW} video quality levels.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em subscription\+Layer} & The video quality level to subscribe to. See {\ttfamily Abr\+Subscription\+Layer}. When customizing resolutions for {\ttfamily L\+A\+Y\+E\+R1} to {\ttfamily L\+A\+Y\+E\+R6}, you can refer to the table below, or configure them based on your actual requirements\+: Note\+: When customizing resolutions, be sure to sort the video quality levels (Layers) in descending order of resolution, and by descending frame rate if resolutions are the same. {\begin{tabularx}{\linewidth}{|*{2}{>{\raggedright\arraybackslash}X|}}\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Video Quality Layer }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Resolution  }\\\cline{1-2}
{\ttfamily L\+A\+Y\+E\+R1} &2160p (4K)  \\\cline{1-2}
{\ttfamily L\+A\+Y\+E\+R2} &1440p (2K)  \\\cline{1-2}
{\ttfamily L\+A\+Y\+E\+R3} &1080p (HD)  \\\cline{1-2}
{\ttfamily L\+A\+Y\+E\+R4} &720p (HD)  \\\cline{1-2}
{\ttfamily L\+A\+Y\+E\+R5} &540p (SD)  \\\cline{1-2}
{\ttfamily L\+A\+Y\+E\+R6} &480p (SD)  \\\cline{1-2}
\end{tabularx}}
\\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & If the method call fails, the S\+DK throws an {\ttfamily Rte\+Exception} with corresponding error information. You need to catch and handle the exception. \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a7f7f02c3fefc9a9915dedf352bac5715}\label{classio_1_1agora_1_1rte_1_1_player_config_a7f7f02c3fefc9a9915dedf352bac5715}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!getAbrSubscriptionLayer@{getAbrSubscriptionLayer}}
\index{getAbrSubscriptionLayer@{getAbrSubscriptionLayer}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{getAbrSubscriptionLayer()}{getAbrSubscriptionLayer()}}
{\footnotesize\ttfamily Constants.\+Abr\+Subscription\+Layer io.\+agora.\+rte.\+Player\+Config.\+get\+Abr\+Subscription\+Layer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Gets the quality layer of the subscribed video stream. 

\begin{DoxySince}{Since}
v4.\+4.\+0
\end{DoxySince}
Call timing\+: You need to call this method after {\ttfamily get\+Configs(\+Player\+Config config)}.

\begin{DoxyReturn}{Returns}
The currently set video quality layer. See {\ttfamily Abr\+Subscription\+Layer} for details. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & If the method call fails, the S\+DK throws an {\ttfamily Rte\+Exception} with the corresponding error information. You need to catch and handle the exception. \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_ac999538392818d530cad83c0baa470c7}\label{classio_1_1agora_1_1rte_1_1_player_config_ac999538392818d530cad83c0baa470c7}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!setAbrFallbackLayer@{setAbrFallbackLayer}}
\index{setAbrFallbackLayer@{setAbrFallbackLayer}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{setAbrFallbackLayer()}{setAbrFallbackLayer()}}
{\footnotesize\ttfamily void io.\+agora.\+rte.\+Player\+Config.\+set\+Abr\+Fallback\+Layer (\begin{DoxyParamCaption}\item[{Constants.\+Abr\+Fallback\+Layer}]{fallback\+Layer }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Sets the fallback option for subscribed remote video streams. 

\begin{DoxySince}{Since}
v4.\+4.\+0
\end{DoxySince}
In suboptimal network conditions, the quality of real-\/time audio and video communication may degrade. After calling this method, the S\+DK downgrades the resolution of the video stream to the specified quality layer when network conditions worsen. Each video quality layer corresponds to a specific resolution and bitrate. At the same time, the S\+DK continuously monitors network conditions and restores the subscribed remote video streams to the original quality layer when the network improves. By default, after calling this method, you can only choose to fall back to {\ttfamily L\+OW} or {\ttfamily A\+U\+D\+I\+O\+\_\+\+O\+N\+LY}. If you require higher video quality, you can contact technical support to enable the A\+BR feature. Once enabled, you can fall back to any quality layer of the multi-\/layer video stream and customize the resolution corresponding to each layer. Applicable scenarios\+:
\begin{DoxyItemize}
\item In general video scenarios, you can call this method and set the fallback quality layer to {\ttfamily L\+OW} or {\ttfamily A\+U\+D\+I\+O\+\_\+\+O\+N\+LY}. The S\+DK downgrades the video stream to a lower-\/quality stream or receives only the audio stream when the network is poor.
\item If you have higher requirements for the resolution of fallback video streams, you can contact technical support to enable the A\+BR feature. Once enabled, you can customize the resolution of each layer. The S\+DK dynamically adjusts the resolution within the range starting from the lowest resolution layer you specify, depending on the network conditions. For implementation details, refer to {\ttfamily Audience-\/side U\+RL streaming}. Call timing\+: You must call this method before {\ttfamily set\+Configs(\+Player\+Config config)}.
\end{DoxyItemize}

\begin{DoxyNote}{Note}
If you have not enabled the A\+BR feature when calling this method, the fallback quality layer of the video stream can only be set to {\ttfamily L\+OW} or {\ttfamily A\+U\+D\+I\+O\+\_\+\+O\+N\+LY}.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em fallback\+Layer} & The fallback quality layer for the video stream. See {\ttfamily Abr\+Fallback\+Layer}. When customizing the resolution for {\ttfamily L\+A\+Y\+E\+R1} through {\ttfamily L\+A\+Y\+E\+R6}, you can refer to the table below or define them based on your actual needs\+: {\begin{tabularx}{\linewidth}{|*{2}{>{\raggedright\arraybackslash}X|}}\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Video Quality Layer }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Resolution  }\\\cline{1-2}
{\ttfamily L\+A\+Y\+E\+R1} &2160p (4K)  \\\cline{1-2}
{\ttfamily L\+A\+Y\+E\+R2} &1440p (2K)  \\\cline{1-2}
{\ttfamily L\+A\+Y\+E\+R3} &1080p (HD)  \\\cline{1-2}
{\ttfamily L\+A\+Y\+E\+R4} &720p (HD)  \\\cline{1-2}
{\ttfamily L\+A\+Y\+E\+R5} &540p (SD)  \\\cline{1-2}
{\ttfamily L\+A\+Y\+E\+R6} &480p (SD)  \\\cline{1-2}
\end{tabularx}}
Note\+: When customizing resolutions, make sure to sort the video quality layers from highest to lowest resolution. If the resolutions are the same, sort them by frame rate in descending order.\\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & If this method call fails, the S\+DK throws an {\ttfamily Rte\+Exception} with the corresponding error information. You need to catch and handle the exception accordingly. \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classio_1_1agora_1_1rte_1_1_player_config_a720c4aabee8923ca14c4b5b9b3e8deba}\label{classio_1_1agora_1_1rte_1_1_player_config_a720c4aabee8923ca14c4b5b9b3e8deba}} 
\index{io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}!getAbrFallbackLayer@{getAbrFallbackLayer}}
\index{getAbrFallbackLayer@{getAbrFallbackLayer}!io.agora.rte.PlayerConfig@{io.agora.rte.PlayerConfig}}
\doxysubsubsection{\texorpdfstring{getAbrFallbackLayer()}{getAbrFallbackLayer()}}
{\footnotesize\ttfamily Constants.\+Abr\+Fallback\+Layer io.\+agora.\+rte.\+Player\+Config.\+get\+Abr\+Fallback\+Layer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classio_1_1agora_1_1rte_1_1exception_1_1_rte_exception}{Rte\+Exception}}}



Gets the configured video stream fallback option. 

\begin{DoxySince}{Since}
v4.\+4.\+0
\end{DoxySince}
Call timing\+: You must call this method after {\ttfamily get\+Configs(\+Player\+Config config)}.

\begin{DoxyReturn}{Returns}
The configured video stream fallback option. See {\ttfamily Abr\+Fallback\+Layer} for details. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em Rte\+Exception} & If the method call fails, the S\+DK throws an {\ttfamily Rte\+Exception} with the corresponding error information. You need to catch and handle the exception. \\
\hline
\end{DoxyExceptions}
