\doxysection{com.\+tritondigital.\+player.\+Media\+Player Class Reference}
\hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer}{}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer}\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}


Base class for a media player.  


Inheritance diagram for com.\+tritondigital.\+player.\+Media\+Player\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=0.797721cm]{classcom_1_1tritondigital_1_1player_1_1MediaPlayer}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
interface \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnAnalyticsReceivedListener}{On\+Analytics\+Received\+Listener}}
\begin{DoxyCompactList}\small\item\em Callback for receiving analytics event. \end{DoxyCompactList}\item 
interface \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnCloudStreamInfoReceivedListener}{On\+Cloud\+Stream\+Info\+Received\+Listener}}
\begin{DoxyCompactList}\small\item\em Callback for receiving timeshift programs event. \end{DoxyCompactList}\item 
interface \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnCuePointReceivedListener}{On\+Cue\+Point\+Received\+Listener}}
\begin{DoxyCompactList}\small\item\em Callback for receiving Cue\+Point. \end{DoxyCompactList}\item 
interface \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnInfoListener}{On\+Info\+Listener}}
\begin{DoxyCompactList}\small\item\em Callback for receiving player info. \end{DoxyCompactList}\item 
interface \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnMetaDataReceivedListener}{On\+Meta\+Data\+Received\+Listener}}
\begin{DoxyCompactList}\small\item\em Callback for receiving Metadata. \end{DoxyCompactList}\item 
interface \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnStateChangedListener}{On\+State\+Changed\+Listener}}
\begin{DoxyCompactList}\small\item\em Callback for receiving state changes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a69f3431c27dd20522f632a92ee78811a}{Media\+Player}} (Context context, Bundle settings)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a935faad21a8d0c1377d3f7e69707847f}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a935faad21a8d0c1377d3f7e69707847f} 
Bundle {\bfseries get\+Settings} ()
\begin{DoxyCompactList}\small\item\em Returns the settings of this player. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a3e7cf43fb4f5006ed8c1dff2e056e6d1}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a3e7cf43fb4f5006ed8c1dff2e056e6d1} 
int {\bfseries get\+State} ()
\begin{DoxyCompactList}\small\item\em Returns the player\textquotesingle{}s state. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ab709608d1ff79fe0e4966c5fdba34631}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ab709608d1ff79fe0e4966c5fdba34631} 
Bundle {\bfseries get\+Last\+Cue\+Point} ()
\begin{DoxyCompactList}\small\item\em Returns the last received cue point. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a4585f77d12e3d5f3a5447ea2e5715a13}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a4585f77d12e3d5f3a5447ea2e5715a13} 
int {\bfseries get\+Last\+Error\+Code} ()
\begin{DoxyCompactList}\small\item\em Returns the last error code. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a09358e6c94ef2c270e0ea445fe9f9d0f}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a09358e6c94ef2c270e0ea445fe9f9d0f} 
\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnCuePointReceivedListener}{On\+Cue\+Point\+Received\+Listener}} {\bfseries get\+On\+Cue\+Point\+Received\+Listener} ()
\begin{DoxyCompactList}\small\item\em Returns the cue point listener. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ae79a5a04404d83fbc2f5018643dc0fee}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ae79a5a04404d83fbc2f5018643dc0fee} 
\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnMetaDataReceivedListener}{On\+Meta\+Data\+Received\+Listener}} {\bfseries get\+Metadata\+Listener} ()
\begin{DoxyCompactList}\small\item\em Returns the metadata listener. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a26c372668e0fd810c7c00477e83e65a8}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a26c372668e0fd810c7c00477e83e65a8} 
\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnInfoListener}{On\+Info\+Listener}} {\bfseries get\+On\+Info\+Listener} ()
\begin{DoxyCompactList}\small\item\em Returns the info listener. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a992c51371a0f0891d9d16dce7eeb6c6d}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a992c51371a0f0891d9d16dce7eeb6c6d} 
\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnStateChangedListener}{On\+State\+Changed\+Listener}} {\bfseries get\+On\+State\+Changed\+Listener} ()
\begin{DoxyCompactList}\small\item\em Returns the state changed listener. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a18fde232d033fa99c69bafdb35c15151}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a18fde232d033fa99c69bafdb35c15151} 
\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnAnalyticsReceivedListener}{On\+Analytics\+Received\+Listener}} {\bfseries get\+Analytics\+Received\+Listener} ()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a1cf980d6942604c5559633b783d2cffd}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a1cf980d6942604c5559633b783d2cffd} 
\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnCloudStreamInfoReceivedListener}{On\+Cloud\+Stream\+Info\+Received\+Listener}} {\bfseries get\+Cloud\+Stream\+Info\+Received\+Listener} ()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_abb1e2260279be31786e9a1bba7f73745}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_abb1e2260279be31786e9a1bba7f73745} 
void {\bfseries set\+On\+Cue\+Point\+Received\+Listener} (\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnCuePointReceivedListener}{On\+Cue\+Point\+Received\+Listener}} listener)
\begin{DoxyCompactList}\small\item\em Sets the cue point event listener. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aa3e0674c7c43c16f7a0e43977223eb8e}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aa3e0674c7c43c16f7a0e43977223eb8e} 
void {\bfseries set\+On\+Meta\+Data\+Received\+Listener} (\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnMetaDataReceivedListener}{On\+Meta\+Data\+Received\+Listener}} listener)
\begin{DoxyCompactList}\small\item\em Sets the cue point event listener. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a7c7fb78e2870c41d221f5666b1a5e1b6}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a7c7fb78e2870c41d221f5666b1a5e1b6} 
void {\bfseries set\+On\+Info\+Listener} (\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnInfoListener}{On\+Info\+Listener}} listener)
\begin{DoxyCompactList}\small\item\em Sets the info listener. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8e4dbe55266bf69589fee3e9cdcfc075}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8e4dbe55266bf69589fee3e9cdcfc075} 
void {\bfseries set\+On\+State\+Changed\+Listener} (\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnStateChangedListener}{On\+State\+Changed\+Listener}} listener)
\begin{DoxyCompactList}\small\item\em Sets the state changed listener. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af6b6950c356fff0dd5a62f4a9b83c9f6}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af6b6950c356fff0dd5a62f4a9b83c9f6} 
void {\bfseries set\+On\+Analytics\+Received\+Listener} (\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnAnalyticsReceivedListener}{On\+Analytics\+Received\+Listener}} listener)
\begin{DoxyCompactList}\small\item\em Sets the analytics changed listener. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aaf3295d0de15791228eefe8a39f94cfc}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aaf3295d0de15791228eefe8a39f94cfc} 
void {\bfseries set\+On\+Cloud\+Stream\+Info\+Received\+Listener} (\mbox{\hyperlink{interfacecom_1_1tritondigital_1_1player_1_1MediaPlayer_1_1OnCloudStreamInfoReceivedListener}{On\+Cloud\+Stream\+Info\+Received\+Listener}} listener)
\begin{DoxyCompactList}\small\item\em Sets the timeshift programs listener. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a848e4c2cb9593b1dae548809e30cc648}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a848e4c2cb9593b1dae548809e30cc648} 
abstract boolean {\bfseries is\+Timeshift\+Streaming} ()
\begin{DoxyCompactList}\small\item\em Returns if the player is in timeshift mode. \end{DoxyCompactList}\item 
abstract int \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a7f28cdc04551b40058a44a4bcfa35ef5}{get\+Duration}} ()
\begin{DoxyCompactList}\small\item\em Returns the duration of the current media in milliseconds. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aa3c9bebfa25eb07fdd75ea5506a27cf3}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aa3c9bebfa25eb07fdd75ea5506a27cf3} 
abstract int {\bfseries get\+Position} ()
\begin{DoxyCompactList}\small\item\em Returns the current position playback position in milliseconds. \end{DoxyCompactList}\item 
boolean \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a9211c666e7b048430b6d2e1b97fc5768}{is\+Seekable}} ()
\begin{DoxyCompactList}\small\item\em Returns true if the media is seekable in the current state. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a9cd17f8815530593ef302b8e2a2e08f8}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a9cd17f8815530593ef302b8e2a2e08f8} 
boolean {\bfseries is\+Pausable} ()
\begin{DoxyCompactList}\small\item\em Returns true if the media can be paused at the current state. \end{DoxyCompactList}\item 
final void \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a0b85bfd7ba27a59aa66e39394657f0c6}{seek\+To}} (int position, int original)
\begin{DoxyCompactList}\small\item\em Seek to the provided position. \end{DoxyCompactList}\item 
final void \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aea3bdb519a9f7310f0c880465ea17064}{seek\+To}} (int position)
\begin{DoxyCompactList}\small\item\em Seek to the provided position. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a36af0e1211d70d19d5149ff78f07f528}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a36af0e1211d70d19d5149ff78f07f528} 
void {\bfseries seek} (int delta)
\begin{DoxyCompactList}\small\item\em Seek to a time from the current position. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a213dec1478a693619c9de575e56543d1}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a213dec1478a693619c9de575e56543d1} 
final void {\bfseries seek\+To\+Live} ()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a6ccb76946205263bd620488996f96dbd}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a6ccb76946205263bd620488996f96dbd} 
void {\bfseries get\+Cloud\+Stream\+Info} ()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a6ea645af258663ce7155ab852736543c}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a6ea645af258663ce7155ab852736543c} 
void {\bfseries play\+Program} (String program\+Id)
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af46cf8d8704088df27231490670b4703}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af46cf8d8704088df27231490670b4703} 
abstract float {\bfseries get\+Volume} ()
\begin{DoxyCompactList}\small\item\em Returns the current volume (0.\+0f to 1.\+0f) \end{DoxyCompactList}\item 
abstract void \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a9dc760e46125b273ce80f4cd0a6267c7}{set\+Volume}} (float volume)
\begin{DoxyCompactList}\small\item\em Sets the volume on this player. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a67300c9db1773185706b0e687c1906bb}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a67300c9db1773185706b0e687c1906bb} 
final void {\bfseries play} ()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a0eacd5d0cd864384a6ab0f61b763e29e}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a0eacd5d0cd864384a6ab0f61b763e29e} 
final void {\bfseries play} (boolean timeshift\+Streaming)
\begin{DoxyCompactList}\small\item\em Starts the playback. \end{DoxyCompactList}\item 
final void \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aa9f6233637a15089831ed4faec5a6799}{pause}} ()
\begin{DoxyCompactList}\small\item\em Pauses the playback so it can be resumed at the same position by calling play(). \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a039a599ea8b81e19735370bffd978a9b}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a039a599ea8b81e19735370bffd978a9b} 
final void {\bfseries change\+Speed} (Float speed)
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aa1b882c5399ed979ccc2f02ec46577af}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aa1b882c5399ed979ccc2f02ec46577af} 
final void {\bfseries stop} ()
\begin{DoxyCompactList}\small\item\em Stops the playback. \end{DoxyCompactList}\item 
final void \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a2d0403557ffa5d482f75679baa2f6f13}{release}} ()
\begin{DoxyCompactList}\small\item\em Releases the player resources. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a281031f80d3d9b95a2ae72efbd45b860}{get\+Error\+Code}} ()
\end{DoxyCompactItemize}
\doxysubsubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8a594327bb27ffe108b8c6f35b62008a}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8a594327bb27ffe108b8c6f35b62008a} 
static boolean {\bfseries is\+Play\+Valid\+In\+State} (int state)
\begin{DoxyCompactList}\small\item\em Returns true if a play request is valid in the provided state. \end{DoxyCompactList}\item 
static boolean \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ad433d114dd8d7c533fa237372f5b921c}{is\+Transition\+Valid}} (int state0, int state1)
\begin{DoxyCompactList}\small\item\em Returns true if the provided state transition is valid. \end{DoxyCompactList}\item 
static String \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af2d532fc24b0cd17b7dbd59756f6496d}{debug\+Error\+To\+Str}} (int error\+Code)
\begin{DoxyCompactList}\small\item\em Utility method to convert an error code to a debug string. \end{DoxyCompactList}\item 
static String \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aca11b94dc739028007e1899bd1ddad6e}{debug\+Info\+To\+Str}} (int info)
\begin{DoxyCompactList}\small\item\em Utility method to convert an info code to a debug string. \end{DoxyCompactList}\item 
static String \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a7cf3837f8584f61f7dc04247b7dfdc13}{debug\+State\+To\+Str}} (int state)
\begin{DoxyCompactList}\small\item\em Utility method to convert the player state to a debug string. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a9b0f7544db9abfcb720d0add69475829}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a9b0f7544db9abfcb720d0add69475829} 
static final int {\bfseries ERROR\+\_\+\+LOW\+\_\+\+LEVEL\+\_\+\+PLAYER\+\_\+\+ERROR} = 210
\begin{DoxyCompactList}\small\item\em Error code indicating an error in the OS player or Google Cast. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a1bb18aa7ffca84c65cda54c9d54a1374}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a1bb18aa7ffca84c65cda54c9d54a1374} 
static final int {\bfseries ERROR\+\_\+\+CONNECTION\+\_\+\+FAILED} = 211
\begin{DoxyCompactList}\small\item\em Error code indicating a connection problem to the server. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_accf2ce8b0b1fee140c40d6296292a1e3}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_accf2ce8b0b1fee140c40d6296292a1e3} 
static final int {\bfseries ERROR\+\_\+\+CONNECTION\+\_\+\+TIMEOUT} = 408
\begin{DoxyCompactList}\small\item\em Error code indicating than the connection has timed out. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a14bd94f6b0348ddfc1ff46c4326208ec}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a14bd94f6b0348ddfc1ff46c4326208ec} 
static final int {\bfseries ERROR\+\_\+\+UNEXPECTED\+\_\+\+END\+\_\+\+OF\+\_\+\+MEDIA} = 213
\begin{DoxyCompactList}\small\item\em Error code indicating the end of a media which shouldn\textquotesingle{}t occur on live streaming. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a14ba4c6ad2ff9faece7774d477155cf0}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a14ba4c6ad2ff9faece7774d477155cf0} 
static final int {\bfseries ERROR\+\_\+\+UNEXPECTED\+\_\+\+END\+\_\+\+OF\+\_\+\+MEDIA\+\_\+\+ANDROID\+\_\+\+PLAYER} = 214
\begin{DoxyCompactList}\small\item\em Error code indicating the end of a media which shouldn\textquotesingle{}t occur on live streaming. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aed86c79e797318f34e58a048ea92e8cc}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aed86c79e797318f34e58a048ea92e8cc} 
static final int {\bfseries ERROR\+\_\+\+EXOPLAYER\+\_\+\+BUFFER\+\_\+\+RECONNECT} = 212
\begin{DoxyCompactList}\small\item\em Error code indicating that low delay increased 3 times an still did not fill the buffer. \end{DoxyCompactList}\item 
static final int \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a62d5aedde9b5868133a7f8eb5f7eba3c}{ERROR\+\_\+\+EXOPLAYER\+\_\+\+BUFFER\+\_\+\+TIMEOUT}} = 218
\begin{DoxyCompactList}\small\item\em Error code indicating buffer timed out. \end{DoxyCompactList}\item 
static final int \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a22190484ade67b33c7c2234a4d3b13c8}{ERROR\+\_\+\+EXOPLAYER\+\_\+\+ON\+\_\+\+ERROR}} = 219
\begin{DoxyCompactList}\small\item\em Error code indicating buffer timed out. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8de70ab20ce9401e68404fb1f778a07a}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8de70ab20ce9401e68404fb1f778a07a} 
static final int {\bfseries ERROR\+\_\+\+GEOBLOCKED} = 453
\begin{DoxyCompactList}\small\item\em Error code indicating that the stream can\textquotesingle{}t be used in the user location. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a80cf600bf667c82250ede9a37f84e599}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a80cf600bf667c82250ede9a37f84e599} 
static final int {\bfseries ERROR\+\_\+\+INVALID\+\_\+\+URL} = 216
\begin{DoxyCompactList}\small\item\em Error code indicating that the URL isn\textquotesingle{}t in a valid format. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a2af6f8ce537c6f022bd049ce33e41708}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a2af6f8ce537c6f022bd049ce33e41708} 
static final int {\bfseries ERROR\+\_\+\+NO\+\_\+\+NETWORK} = 217
\begin{DoxyCompactList}\small\item\em Error code indicating the lack of network connectivity. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ade5148760548dd8e88a3706986f65f5f}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ade5148760548dd8e88a3706986f65f5f} 
static final int {\bfseries ERROR\+\_\+\+NOT\+\_\+\+FOUND} = 404
\begin{DoxyCompactList}\small\item\em Error code indicating that the input source couldn\textquotesingle{}t be found. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aa65a3c348af8db00ea6265aab83134ae}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aa65a3c348af8db00ea6265aab83134ae} 
static final int {\bfseries ERROR\+\_\+\+SERVICE\+\_\+\+UNAVAILABLE} = 503
\begin{DoxyCompactList}\small\item\em Error code indicating that no server is available. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a16671bf4514a59339c3b0aa26bb83ca4}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a16671bf4514a59339c3b0aa26bb83ca4} 
static final int {\bfseries STATE\+\_\+\+COMPLETED} = 200
\begin{DoxyCompactList}\small\item\em The end of the media source has been reached (on-\/demand only) \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a5dabbef33d93452581ea81429f490b55}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a5dabbef33d93452581ea81429f490b55} 
static final int {\bfseries STATE\+\_\+\+CONNECTING} = 201
\begin{DoxyCompactList}\small\item\em The player is connecting to the server or buffering. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ab48f312147dc5a1dde7cf401e2f63c0f}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ab48f312147dc5a1dde7cf401e2f63c0f} 
static final int {\bfseries STATE\+\_\+\+ERROR} = 202
\begin{DoxyCompactList}\small\item\em An error has occurred. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a6a50c35502ea5869d4015177fcfe8cfc}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a6a50c35502ea5869d4015177fcfe8cfc} 
static final int {\bfseries STATE\+\_\+\+PLAYING} = 203
\begin{DoxyCompactList}\small\item\em The playback is started. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_abfc1946482e5e0d2ca52743f7f08fc61}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_abfc1946482e5e0d2ca52743f7f08fc61} 
static final int {\bfseries STATE\+\_\+\+RELEASED} = 204
\begin{DoxyCompactList}\small\item\em The resources have been released and this player instance can no longer be used. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ac867c67a9cfa2f601631e25bdc570634}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ac867c67a9cfa2f601631e25bdc570634} 
static final int {\bfseries STATE\+\_\+\+STOPPED} = 205
\begin{DoxyCompactList}\small\item\em The playback is stopped. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a9fd570cc6f7694e1b1a5d6a6c24e8326}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a9fd570cc6f7694e1b1a5d6a6c24e8326} 
static final int {\bfseries STATE\+\_\+\+PAUSED} = 206
\begin{DoxyCompactList}\small\item\em The playback is paused (on-\/demand only) \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a0f82691e485bcecd61f512016dabd8c7}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a0f82691e485bcecd61f512016dabd8c7} 
static final int {\bfseries DURATION\+\_\+\+LIVE\+\_\+\+STREAM} = Integer.\+MAX\+\_\+\+VALUE
\begin{DoxyCompactList}\small\item\em Live stream. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a76871003cb27c1e35da4b249d7df290b}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a76871003cb27c1e35da4b249d7df290b} 
static final int {\bfseries DURATION\+\_\+\+UNKNOWN} = -\/1
\begin{DoxyCompactList}\small\item\em Unknown duration. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af657ffb66e82a5bed1aa3643d5b3110d}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af657ffb66e82a5bed1aa3643d5b3110d} 
static final int {\bfseries POSITION\+\_\+\+UNKNOWN} = 0
\begin{DoxyCompactList}\small\item\em Unknown position. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a33b6f10b1ff2eba89f2fc3c9560842a8}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a33b6f10b1ff2eba89f2fc3c9560842a8} 
static final float {\bfseries VOLUME\+\_\+\+DUCK} = 0.\+2f
\begin{DoxyCompactList}\small\item\em Ducked volume. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a7d26510b9f962d1a298fdf30dd7c88f2}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a7d26510b9f962d1a298fdf30dd7c88f2} 
static final float {\bfseries VOLUME\+\_\+\+MUTE} = 0.\+0f
\begin{DoxyCompactList}\small\item\em Muted volume. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8d75dab86763c16444e9b0d3d59f1b9d}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8d75dab86763c16444e9b0d3d59f1b9d} 
static final float {\bfseries VOLUME\+\_\+\+NORMAL} = 1.\+0f
\begin{DoxyCompactList}\small\item\em Normal volume. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a00dbcfeef8c2bbfd0c574773f7d93a4e}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a00dbcfeef8c2bbfd0c574773f7d93a4e} 
static final int {\bfseries INFO\+\_\+\+ALTERNATE\+\_\+\+MOUNT} = 270
\begin{DoxyCompactList}\small\item\em A the player has connected to an alternate mount. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a891cf9f5eb4e9128c508767e780eb090}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a891cf9f5eb4e9128c508767e780eb090} 
static final int {\bfseries INFO\+\_\+\+SEEK\+\_\+\+COMPLETED} = 271
\begin{DoxyCompactList}\small\item\em A seek operation has completed. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a91e4f29cd58ee43d425a5f96c69bd7ce}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a91e4f29cd58ee43d425a5f96c69bd7ce} 
static final int {\bfseries INFO\+\_\+\+DURATION\+\_\+\+CHANGED} = 272
\begin{DoxyCompactList}\small\item\em Media duration changed (extra=duration) \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ac10eb55925e0061fcb9aefaecc6e3871}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ac10eb55925e0061fcb9aefaecc6e3871} 
static final int {\bfseries INFO\+\_\+\+SEEKABLE\+\_\+\+CHANGED} = 273
\begin{DoxyCompactList}\small\item\em Seekable state change (0=false / 1=true) \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a34885e0b58af78860ddde97a4f27d7e6}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a34885e0b58af78860ddde97a4f27d7e6} 
static final int {\bfseries INFO\+\_\+\+SEEK\+\_\+\+STARTED} = 274
\begin{DoxyCompactList}\small\item\em A seek operation has begun. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_acfdfe199ae754f66cb8cd529f03c67ee}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_acfdfe199ae754f66cb8cd529f03c67ee} 
static final int {\bfseries INFO\+\_\+\+BUFFERING\+\_\+\+START} = 275
\begin{DoxyCompactList}\small\item\em Temporarily pausing playback internally in order to buffer more data. \end{DoxyCompactList}\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aac5759f06dc94b867b9c201d7d798ec3}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aac5759f06dc94b867b9c201d7d798ec3} 
static final int {\bfseries INFO\+\_\+\+BUFFERING\+\_\+\+COMPLETED} = 276
\begin{DoxyCompactList}\small\item\em The playback is resumed after filling buffers. \end{DoxyCompactList}\item 
static final int \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_afd6c9cfbb8ad8b513a8d8c88a4e1ff3d}{ERROR\+\_\+\+END\+\_\+\+OF\+\_\+\+MEDIA}} = \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a14bd94f6b0348ddfc1ff46c4326208ec}{ERROR\+\_\+\+UNEXPECTED\+\_\+\+END\+\_\+\+OF\+\_\+\+MEDIA}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8778c633b9f25757798c1fbaf4bd81a0}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8778c633b9f25757798c1fbaf4bd81a0} 
abstract void {\bfseries internal\+Pause} ()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a3c69a79944be212dcb3b7c0601b472e9}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a3c69a79944be212dcb3b7c0601b472e9} 
abstract void {\bfseries internal\+Play} ()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ad25a34f6850748ef5fadc83329e44dc8}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ad25a34f6850748ef5fadc83329e44dc8} 
abstract void {\bfseries internal\+Play} (boolean timeshift\+Streaming)
\item 
abstract void \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af716d1f245220ef744d7442d2738a7c5}{internal\+Stop}} ()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af83f0d474e4291b7b44b6b5644cc38ee}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af83f0d474e4291b7b44b6b5644cc38ee} 
abstract void {\bfseries internal\+Release} ()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a70d3faa476d8713cff2ad5469bd759e9}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a70d3faa476d8713cff2ad5469bd759e9} 
abstract void {\bfseries internal\+Seek\+To} (int position, int original)
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a823be51540601d37ed57e71e1361ee7b}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a823be51540601d37ed57e71e1361ee7b} 
abstract String {\bfseries make\+Tag} ()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af0de4cf5f8e86b783721f5928739072d}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af0de4cf5f8e86b783721f5928739072d} 
abstract boolean {\bfseries is\+Event\+Logging\+Enabled} ()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8cb4b16c01acc79f22492f4e2d69d325}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8cb4b16c01acc79f22492f4e2d69d325} 
abstract void {\bfseries internal\+Get\+Cloud\+Stream\+Info} ()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a1e91b4943fedae348f29dcd9bde2ca33}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a1e91b4943fedae348f29dcd9bde2ca33} 
abstract void {\bfseries internal\+Play\+Program} (String program\+Id)
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ab2bc3636531d498f91bfe062f0eb81fa}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ab2bc3636531d498f91bfe062f0eb81fa} 
abstract void {\bfseries internal\+Change\+Speed} (Float speed)
\end{DoxyCompactItemize}
\doxysubsubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_adc0711dd3c6528648755516d078cf630}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_adc0711dd3c6528648755516d078cf630} 
final String {\bfseries TAG} = make\+Tag()
\item 
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8ebfedaba4cadfe0e3be96aabaa3e0be}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a8ebfedaba4cadfe0e3be96aabaa3e0be} 
final Bundle {\bfseries m\+Settings}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Base class for a media player. 

Always use the constants instead of hardcoding the values in your app.

\begin{DoxyParagraph}{Life Cycle}

\end{DoxyParagraph}
 

\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a69f3431c27dd20522f632a92ee78811a}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a69f3431c27dd20522f632a92ee78811a} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!MediaPlayer@{MediaPlayer}}
\index{MediaPlayer@{MediaPlayer}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{MediaPlayer()}{MediaPlayer()}}
{\footnotesize\ttfamily com.\+tritondigital.\+player.\+Media\+Player.\+Media\+Player (\begin{DoxyParamCaption}\item[{Context}]{context,  }\item[{Bundle}]{settings }\end{DoxyParamCaption})}



Constructor. 

A copy "{}settings"{} is made to make sure the client doesn\textquotesingle{}t modified it while the Media\+Player is using it.


\begin{DoxyExceptions}{Exceptions}
{\em Illegal\+Argument\+Exception} & if context is null \\
\hline
{\em Illegal\+Argument\+Exception} & if settings is null \\
\hline
\end{DoxyExceptions}


\doxysubsection{Member Function Documentation}
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af2d532fc24b0cd17b7dbd59756f6496d}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af2d532fc24b0cd17b7dbd59756f6496d} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!debugErrorToStr@{debugErrorToStr}}
\index{debugErrorToStr@{debugErrorToStr}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{debugErrorToStr()}{debugErrorToStr()}}
{\footnotesize\ttfamily static String com.\+tritondigital.\+player.\+Media\+Player.\+debug\+Error\+To\+Str (\begin{DoxyParamCaption}\item[{int}]{error\+Code }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Utility method to convert an error code to a debug string. 

\begin{DoxyNote}{Note}
To be used only for debugging purpose. 
\end{DoxyNote}
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aca11b94dc739028007e1899bd1ddad6e}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aca11b94dc739028007e1899bd1ddad6e} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!debugInfoToStr@{debugInfoToStr}}
\index{debugInfoToStr@{debugInfoToStr}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{debugInfoToStr()}{debugInfoToStr()}}
{\footnotesize\ttfamily static String com.\+tritondigital.\+player.\+Media\+Player.\+debug\+Info\+To\+Str (\begin{DoxyParamCaption}\item[{int}]{info }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Utility method to convert an info code to a debug string. 

\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a7cf3837f8584f61f7dc04247b7dfdc13}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a7cf3837f8584f61f7dc04247b7dfdc13} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!debugStateToStr@{debugStateToStr}}
\index{debugStateToStr@{debugStateToStr}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{debugStateToStr()}{debugStateToStr()}}
{\footnotesize\ttfamily static String com.\+tritondigital.\+player.\+Media\+Player.\+debug\+State\+To\+Str (\begin{DoxyParamCaption}\item[{int}]{state }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Utility method to convert the player state to a debug string. 

\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a7f28cdc04551b40058a44a4bcfa35ef5}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a7f28cdc04551b40058a44a4bcfa35ef5} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!getDuration@{getDuration}}
\index{getDuration@{getDuration}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{getDuration()}{getDuration()}}
{\footnotesize\ttfamily abstract int com.\+tritondigital.\+player.\+Media\+Player.\+get\+Duration (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [abstract]}}



Returns the duration of the current media in milliseconds. 


\begin{DoxyRetVals}{Return values}
{\em Media\+Player.\+DURATION\+\_\+\+LIVE\+\_\+\+STREAM} & Live stream \\
\hline
{\em Media\+Player.\+DURATION\+\_\+\+UNKNOWN} & Unavailable duration \\
\hline
\end{DoxyRetVals}
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a281031f80d3d9b95a2ae72efbd45b860}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a281031f80d3d9b95a2ae72efbd45b860} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!getErrorCode@{getErrorCode}}
\index{getErrorCode@{getErrorCode}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{getErrorCode()}{getErrorCode()}}
{\footnotesize\ttfamily int com.\+tritondigital.\+player.\+Media\+Player.\+get\+Error\+Code (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\begin{DoxyParagraph}{Deprecated}
Use Media\+Player\+::get\+Last\+Error\+Code() instead 
\end{DoxyParagraph}
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af716d1f245220ef744d7442d2738a7c5}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_af716d1f245220ef744d7442d2738a7c5} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!internalStop@{internalStop}}
\index{internalStop@{internalStop}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{internalStop()}{internalStop()}}
{\footnotesize\ttfamily abstract void com.\+tritondigital.\+player.\+Media\+Player.\+internal\+Stop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [abstract]}, {\ttfamily [protected]}}



Reimplemented in \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1AndroidPlayer_a29a198d9241d3deb20908f541ee12166}{com.\+tritondigital.\+player.\+Android\+Player}}, and \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1TdExoPlayer_a3578a568fc9fc6ef3dea391c66083524}{com.\+tritondigital.\+player.\+Td\+Exo\+Player}}.

\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a9211c666e7b048430b6d2e1b97fc5768}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a9211c666e7b048430b6d2e1b97fc5768} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!isSeekable@{isSeekable}}
\index{isSeekable@{isSeekable}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{isSeekable()}{isSeekable()}}
{\footnotesize\ttfamily boolean com.\+tritondigital.\+player.\+Media\+Player.\+is\+Seekable (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Returns true if the media is seekable in the current state. 

For now, it is the same as Media\+Player.\+is\+Pausable() \Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ad433d114dd8d7c533fa237372f5b921c}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_ad433d114dd8d7c533fa237372f5b921c} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!isTransitionValid@{isTransitionValid}}
\index{isTransitionValid@{isTransitionValid}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{isTransitionValid()}{isTransitionValid()}}
{\footnotesize\ttfamily static boolean com.\+tritondigital.\+player.\+Media\+Player.\+is\+Transition\+Valid (\begin{DoxyParamCaption}\item[{int}]{state0,  }\item[{int}]{state1 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Returns true if the provided state transition is valid. 


\begin{DoxyParams}{Parameters}
{\em state0} & Initial state. \\
\hline
{\em state1} & Final state. \\
\hline
\end{DoxyParams}
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aa9f6233637a15089831ed4faec5a6799}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aa9f6233637a15089831ed4faec5a6799} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!pause@{pause}}
\index{pause@{pause}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{pause()}{pause()}}
{\footnotesize\ttfamily final void com.\+tritondigital.\+player.\+Media\+Player.\+pause (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Pauses the playback so it can be resumed at the same position by calling play(). 

For live content, this method does the same as Media\+Player.\+stop(). \Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a2d0403557ffa5d482f75679baa2f6f13}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a2d0403557ffa5d482f75679baa2f6f13} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!release@{release}}
\index{release@{release}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{release()}{release()}}
{\footnotesize\ttfamily final void com.\+tritondigital.\+player.\+Media\+Player.\+release (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Releases the player resources. 

No other method may be called on this instance after release. \Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aea3bdb519a9f7310f0c880465ea17064}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_aea3bdb519a9f7310f0c880465ea17064} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!seekTo@{seekTo}}
\index{seekTo@{seekTo}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{seekTo()}{seekTo()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily final void com.\+tritondigital.\+player.\+Media\+Player.\+seek\+To (\begin{DoxyParamCaption}\item[{int}]{position }\end{DoxyParamCaption})}



Seek to the provided position. 

Does nothing if the media isn\textquotesingle{}t loaded or seekable. \Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a0b85bfd7ba27a59aa66e39394657f0c6}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a0b85bfd7ba27a59aa66e39394657f0c6} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!seekTo@{seekTo}}
\index{seekTo@{seekTo}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{seekTo()}{seekTo()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily final void com.\+tritondigital.\+player.\+Media\+Player.\+seek\+To (\begin{DoxyParamCaption}\item[{int}]{position,  }\item[{int}]{original }\end{DoxyParamCaption})}



Seek to the provided position. 

Does nothing if the media isn\textquotesingle{}t loaded or seekable. \Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a9dc760e46125b273ce80f4cd0a6267c7}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a9dc760e46125b273ce80f4cd0a6267c7} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!setVolume@{setVolume}}
\index{setVolume@{setVolume}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{setVolume()}{setVolume()}}
{\footnotesize\ttfamily abstract void com.\+tritondigital.\+player.\+Media\+Player.\+set\+Volume (\begin{DoxyParamCaption}\item[{float}]{volume }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [abstract]}}



Sets the volume on this player. 

This method can be used to lower the volume when losing the device audio focus. \href{http://developer.android.com/training/managing-audio/audio-focus.html}{\texttt{ http\+://developer.\+android.\+com/training/managing-\/audio/audio-\/focus.\+html}}


\begin{DoxyParams}{Parameters}
{\em volume} & Volume (0.\+0f to 1.\+0f) \\
\hline
\end{DoxyParams}


\doxysubsection{Member Data Documentation}
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_afd6c9cfbb8ad8b513a8d8c88a4e1ff3d}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_afd6c9cfbb8ad8b513a8d8c88a4e1ff3d} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!ERROR\_END\_OF\_MEDIA@{ERROR\_END\_OF\_MEDIA}}
\index{ERROR\_END\_OF\_MEDIA@{ERROR\_END\_OF\_MEDIA}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{ERROR\_END\_OF\_MEDIA}{ERROR\_END\_OF\_MEDIA}}
{\footnotesize\ttfamily final int com.\+tritondigital.\+player.\+Media\+Player.\+ERROR\+\_\+\+END\+\_\+\+OF\+\_\+\+MEDIA = \mbox{\hyperlink{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a14bd94f6b0348ddfc1ff46c4326208ec}{ERROR\+\_\+\+UNEXPECTED\+\_\+\+END\+\_\+\+OF\+\_\+\+MEDIA}}\hspace{0.3cm}{\ttfamily [static]}}

\begin{DoxyParagraph}{Deprecated}
Use Media\+Player\+::\+ERROR\+\_\+\+UNEXPECTED\+\_\+\+END\+\_\+\+OF\+\_\+\+MEDIA instead 
\end{DoxyParagraph}
\Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a62d5aedde9b5868133a7f8eb5f7eba3c}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a62d5aedde9b5868133a7f8eb5f7eba3c} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!ERROR\_EXOPLAYER\_BUFFER\_TIMEOUT@{ERROR\_EXOPLAYER\_BUFFER\_TIMEOUT}}
\index{ERROR\_EXOPLAYER\_BUFFER\_TIMEOUT@{ERROR\_EXOPLAYER\_BUFFER\_TIMEOUT}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{ERROR\_EXOPLAYER\_BUFFER\_TIMEOUT}{ERROR\_EXOPLAYER\_BUFFER\_TIMEOUT}}
{\footnotesize\ttfamily final int com.\+tritondigital.\+player.\+Media\+Player.\+ERROR\+\_\+\+EXOPLAYER\+\_\+\+BUFFER\+\_\+\+TIMEOUT = 218\hspace{0.3cm}{\ttfamily [static]}}



Error code indicating buffer timed out. 

Increase the lowdelay value \Hypertarget{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a22190484ade67b33c7c2234a4d3b13c8}\label{classcom_1_1tritondigital_1_1player_1_1MediaPlayer_a22190484ade67b33c7c2234a4d3b13c8} 
\index{com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}!ERROR\_EXOPLAYER\_ON\_ERROR@{ERROR\_EXOPLAYER\_ON\_ERROR}}
\index{ERROR\_EXOPLAYER\_ON\_ERROR@{ERROR\_EXOPLAYER\_ON\_ERROR}!com.tritondigital.player.MediaPlayer@{com.tritondigital.player.MediaPlayer}}
\doxysubsubsection{\texorpdfstring{ERROR\_EXOPLAYER\_ON\_ERROR}{ERROR\_EXOPLAYER\_ON\_ERROR}}
{\footnotesize\ttfamily final int com.\+tritondigital.\+player.\+Media\+Player.\+ERROR\+\_\+\+EXOPLAYER\+\_\+\+ON\+\_\+\+ERROR = 219\hspace{0.3cm}{\ttfamily [static]}}



Error code indicating buffer timed out. 

Increase the lowdelay value 

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
sdk/src/main/java/com/tritondigital/player/Media\+Player.\+java\end{DoxyCompactItemize}
