2122 lines
138 KiB
HTML
2122 lines
138 KiB
HTML
<!DOCTYPE HTML>
|
|
<!-- NewPage -->
|
|
<html lang="en">
|
|
<head><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="manifest" href="/assets/site.webmanifest"><link rel="mask-icon" href="/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/assets/favicon.ico"><meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/assets/browserconfig.xml"><meta name="theme-color" content="#ffffff"><!-- end favicons snippet -->
|
|
<title>SimpleBasePlayer (ExoPlayer library)</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
|
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
|
|
<script type="text/javascript" src="../../../../script.js"></script>
|
|
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
|
|
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
|
|
<!--[if IE]>
|
|
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
|
|
<![endif]-->
|
|
<script type="text/javascript" src="../../../../jquery/jquery-3.5.1.js"></script>
|
|
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
|
|
</head>
|
|
<body>
|
|
<script type="text/javascript"><!--
|
|
try {
|
|
if (location.href.indexOf('is-external=true') == -1) {
|
|
parent.document.title="SimpleBasePlayer (ExoPlayer library)";
|
|
}
|
|
}
|
|
catch(err) {
|
|
}
|
|
//-->
|
|
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":6,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10};
|
|
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
|
|
var altColor = "altColor";
|
|
var rowColor = "rowColor";
|
|
var tableTab = "tableTab";
|
|
var activeTableTab = "activeTableTab";
|
|
var pathtoroot = "../../../../";
|
|
var useModuleDirectories = false;
|
|
loadScripts(document, 'script');</script>
|
|
<noscript>
|
|
<div>JavaScript is disabled on your browser.</div>
|
|
</noscript>
|
|
<header role="banner">
|
|
<nav role="navigation">
|
|
<div class="fixedNav">
|
|
<!-- ========= START OF TOP NAVBAR ======= -->
|
|
<div class="topNav"><a id="navbar.top">
|
|
<!-- -->
|
|
</a>
|
|
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
|
|
<a id="navbar.top.firstrow">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="navList" title="Navigation">
|
|
<li><a href="../../../../index.html">Overview</a></li>
|
|
<li><a href="package-summary.html">Package</a></li>
|
|
<li class="navBarCell1Rev">Class</li>
|
|
<li><a href="package-tree.html">Tree</a></li>
|
|
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
|
|
<li><a href="../../../../index-all.html">Index</a></li>
|
|
<li><a href="../../../../help-doc.html">Help</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="subNav">
|
|
<ul class="navList" id="allclasses_navbar_top">
|
|
<li><a href="../../../../allclasses.html">All Classes</a></li>
|
|
</ul>
|
|
<ul class="navListSearch">
|
|
<li><label for="search">SEARCH:</label>
|
|
<input type="text" id="search" value="search" disabled="disabled">
|
|
<input type="reset" id="reset" value="reset" disabled="disabled">
|
|
</li>
|
|
</ul>
|
|
<div>
|
|
<script type="text/javascript"><!--
|
|
allClassesLink = document.getElementById("allclasses_navbar_top");
|
|
if(window==top) {
|
|
allClassesLink.style.display = "block";
|
|
}
|
|
else {
|
|
allClassesLink.style.display = "none";
|
|
}
|
|
//-->
|
|
</script>
|
|
<noscript>
|
|
<div>JavaScript is disabled on your browser.</div>
|
|
</noscript>
|
|
</div>
|
|
<div>
|
|
<ul class="subNavList">
|
|
<li>Summary: </li>
|
|
<li><a href="#nested.class.summary">Nested</a> | </li>
|
|
<li><a href="#field.summary">Field</a> | </li>
|
|
<li><a href="#constructor.summary">Constr</a> | </li>
|
|
<li><a href="#method.summary">Method</a></li>
|
|
</ul>
|
|
<ul class="subNavList">
|
|
<li>Detail: </li>
|
|
<li>Field | </li>
|
|
<li><a href="#constructor.detail">Constr</a> | </li>
|
|
<li><a href="#method.detail">Method</a></li>
|
|
</ul>
|
|
</div>
|
|
<a id="skip.navbar.top">
|
|
<!-- -->
|
|
</a></div>
|
|
<!-- ========= END OF TOP NAVBAR ========= -->
|
|
</div>
|
|
<div class="navPadding"> </div>
|
|
<script type="text/javascript"><!--
|
|
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
|
//-->
|
|
</script>
|
|
</nav>
|
|
</header>
|
|
<!-- ======== START OF CLASS DATA ======== -->
|
|
<main role="main">
|
|
<div class="header">
|
|
<div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">com.google.android.exoplayer2</a></div>
|
|
<h2 title="Class SimpleBasePlayer" class="title">Class SimpleBasePlayer</h2>
|
|
</div>
|
|
<div class="contentContainer">
|
|
<ul class="inheritance">
|
|
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
|
|
<li>
|
|
<ul class="inheritance">
|
|
<li><a href="BasePlayer.html" title="class in com.google.android.exoplayer2">com.google.android.exoplayer2.BasePlayer</a></li>
|
|
<li>
|
|
<ul class="inheritance">
|
|
<li>com.google.android.exoplayer2.SimpleBasePlayer</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<div class="description">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<dl>
|
|
<dt>All Implemented Interfaces:</dt>
|
|
<dd><code><a href="Player.html" title="interface in com.google.android.exoplayer2">Player</a></code></dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>Direct Known Subclasses:</dt>
|
|
<dd><code><a href="LegacyMediaPlayerWrapper.html" title="class in com.google.android.exoplayer2">LegacyMediaPlayerWrapper</a></code></dd>
|
|
</dl>
|
|
<hr>
|
|
<pre>public abstract class <span class="typeNameLabel">SimpleBasePlayer</span>
|
|
extends <a href="BasePlayer.html" title="class in com.google.android.exoplayer2">BasePlayer</a></pre>
|
|
<div class="block">A base implementation for <a href="Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> that reduces the number of methods to implement to a
|
|
minimum.
|
|
|
|
<p>Implementation notes:
|
|
|
|
<ul>
|
|
<li>Subclasses must override <a href="#getState()"><code>getState()</code></a> to populate the current player state on
|
|
request.
|
|
<li>The <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State</code></a> should set the <a href="SimpleBasePlayer.State.Builder.html#setAvailableCommands(com.google.android.exoplayer2.Player.Commands)">available
|
|
commands</a> to indicate which <a href="Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> methods are supported.
|
|
<li>All setter-like player methods (for example, <a href="#setPlayWhenReady(boolean)"><code>setPlayWhenReady(boolean)</code></a>) forward to
|
|
overridable methods (for example, <a href="#handleSetPlayWhenReady(boolean)"><code>handleSetPlayWhenReady(boolean)</code></a>) that can be used to
|
|
handle these requests. These methods return a <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink"><code>ListenableFuture</code></a> to indicate when the
|
|
request has been handled and is fully reflected in the values returned from <a href="#getState()"><code>getState()</code></a>. This class will automatically request a state update once the request is done.
|
|
If the state changes can be handled synchronously, these methods can return Guava's <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/util/concurrent/Futures.html?is-external=true#immediateVoidFuture()" title="class or interface in com.google.common.util.concurrent" class="externalLink"><code>Futures.immediateVoidFuture()</code></a>.
|
|
<li>Subclasses can manually trigger state updates with <a href="#invalidateState()"><code>invalidateState()</code></a>, for example if
|
|
something changes independent of <a href="Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> method calls.
|
|
</ul>
|
|
|
|
This base class handles various aspects of the player implementation to simplify the subclass:
|
|
|
|
<ul>
|
|
<li>The <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State</code></a> can only be created with allowed combinations of state values, avoiding
|
|
any invalid player states.
|
|
<li>Only functionality that is declared as <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">available</a> needs to be
|
|
implemented. Other methods are automatically ignored.
|
|
<li>Listener handling and informing listeners of state changes is handled automatically.
|
|
<li>The base class provides a framework for asynchronous handling of method calls. It changes
|
|
the visible playback state immediately to the most likely outcome to ensure the
|
|
user-visible state changes look like synchronous operations. The state is then updated
|
|
again once the asynchronous method calls have been fully handled.
|
|
</ul></div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="summary">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<!-- ======== NESTED CLASS SUMMARY ======== -->
|
|
<section role="region">
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="nested.class.summary">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Nested Class Summary</h3>
|
|
<table class="memberSummary">
|
|
<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption>
|
|
<tr>
|
|
<th class="colFirst" scope="col">Modifier and Type</th>
|
|
<th class="colSecond" scope="col">Class</th>
|
|
<th class="colLast" scope="col">Description</th>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected static class </code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">An immutable state description of the player.</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="nested.classes.inherited.from.class.com.google.android.exoplayer2.Player">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Nested classes/interfaces inherited from interface com.google.android.exoplayer2.<a href="Player.html" title="interface in com.google.android.exoplayer2">Player</a></h3>
|
|
<code><a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">Player.Command</a>, <a href="Player.Commands.html" title="class in com.google.android.exoplayer2">Player.Commands</a>, <a href="Player.DiscontinuityReason.html" title="annotation in com.google.android.exoplayer2">Player.DiscontinuityReason</a>, <a href="Player.Event.html" title="annotation in com.google.android.exoplayer2">Player.Event</a>, <a href="Player.Events.html" title="class in com.google.android.exoplayer2">Player.Events</a>, <a href="Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a>, <a href="Player.MediaItemTransitionReason.html" title="annotation in com.google.android.exoplayer2">Player.MediaItemTransitionReason</a>, <a href="Player.PlaybackSuppressionReason.html" title="annotation in com.google.android.exoplayer2">Player.PlaybackSuppressionReason</a>, <a href="Player.PlayWhenReadyChangeReason.html" title="annotation in com.google.android.exoplayer2">Player.PlayWhenReadyChangeReason</a>, <a href="Player.PositionInfo.html" title="class in com.google.android.exoplayer2">Player.PositionInfo</a>, <a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2">Player.RepeatMode</a>, <a href="Player.TimelineChangeReason.html" title="annotation in com.google.android.exoplayer2">Player.TimelineChangeReason</a></code></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<!-- =========== FIELD SUMMARY =========== -->
|
|
<section role="region">
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="field.summary">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Field Summary</h3>
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.BasePlayer">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Fields inherited from class com.google.android.exoplayer2.<a href="BasePlayer.html" title="class in com.google.android.exoplayer2">BasePlayer</a></h3>
|
|
<code><a href="BasePlayer.html#window">window</a></code></li>
|
|
</ul>
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.Player">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Fields inherited from interface com.google.android.exoplayer2.<a href="Player.html" title="interface in com.google.android.exoplayer2">Player</a></h3>
|
|
<code><a href="Player.html#COMMAND_ADJUST_DEVICE_VOLUME">COMMAND_ADJUST_DEVICE_VOLUME</a>, <a href="Player.html#COMMAND_CHANGE_MEDIA_ITEMS">COMMAND_CHANGE_MEDIA_ITEMS</a>, <a href="Player.html#COMMAND_GET_AUDIO_ATTRIBUTES">COMMAND_GET_AUDIO_ATTRIBUTES</a>, <a href="Player.html#COMMAND_GET_CURRENT_MEDIA_ITEM">COMMAND_GET_CURRENT_MEDIA_ITEM</a>, <a href="Player.html#COMMAND_GET_DEVICE_VOLUME">COMMAND_GET_DEVICE_VOLUME</a>, <a href="Player.html#COMMAND_GET_MEDIA_ITEMS_METADATA">COMMAND_GET_MEDIA_ITEMS_METADATA</a>, <a href="Player.html#COMMAND_GET_TEXT">COMMAND_GET_TEXT</a>, <a href="Player.html#COMMAND_GET_TIMELINE">COMMAND_GET_TIMELINE</a>, <a href="Player.html#COMMAND_GET_TRACKS">COMMAND_GET_TRACKS</a>, <a href="Player.html#COMMAND_GET_VOLUME">COMMAND_GET_VOLUME</a>, <a href="Player.html#COMMAND_INVALID">COMMAND_INVALID</a>, <a href="Player.html#COMMAND_PLAY_PAUSE">COMMAND_PLAY_PAUSE</a>, <a href="Player.html#COMMAND_PREPARE">COMMAND_PREPARE</a>, <a href="Player.html#COMMAND_SEEK_BACK">COMMAND_SEEK_BACK</a>, <a href="Player.html#COMMAND_SEEK_FORWARD">COMMAND_SEEK_FORWARD</a>, <a href="Player.html#COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM">COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM</a>, <a href="Player.html#COMMAND_SEEK_IN_CURRENT_WINDOW">COMMAND_SEEK_IN_CURRENT_WINDOW</a>, <a href="Player.html#COMMAND_SEEK_TO_DEFAULT_POSITION">COMMAND_SEEK_TO_DEFAULT_POSITION</a>, <a href="Player.html#COMMAND_SEEK_TO_MEDIA_ITEM">COMMAND_SEEK_TO_MEDIA_ITEM</a>, <a href="Player.html#COMMAND_SEEK_TO_NEXT">COMMAND_SEEK_TO_NEXT</a>, <a href="Player.html#COMMAND_SEEK_TO_NEXT_MEDIA_ITEM">COMMAND_SEEK_TO_NEXT_MEDIA_ITEM</a>, <a href="Player.html#COMMAND_SEEK_TO_NEXT_WINDOW">COMMAND_SEEK_TO_NEXT_WINDOW</a>, <a href="Player.html#COMMAND_SEEK_TO_PREVIOUS">COMMAND_SEEK_TO_PREVIOUS</a>, <a href="Player.html#COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM">COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM</a>, <a href="Player.html#COMMAND_SEEK_TO_PREVIOUS_WINDOW">COMMAND_SEEK_TO_PREVIOUS_WINDOW</a>, <a href="Player.html#COMMAND_SEEK_TO_WINDOW">COMMAND_SEEK_TO_WINDOW</a>, <a href="Player.html#COMMAND_SET_DEVICE_VOLUME">COMMAND_SET_DEVICE_VOLUME</a>, <a href="Player.html#COMMAND_SET_MEDIA_ITEM">COMMAND_SET_MEDIA_ITEM</a>, <a href="Player.html#COMMAND_SET_MEDIA_ITEMS_METADATA">COMMAND_SET_MEDIA_ITEMS_METADATA</a>, <a href="Player.html#COMMAND_SET_REPEAT_MODE">COMMAND_SET_REPEAT_MODE</a>, <a href="Player.html#COMMAND_SET_SHUFFLE_MODE">COMMAND_SET_SHUFFLE_MODE</a>, <a href="Player.html#COMMAND_SET_SPEED_AND_PITCH">COMMAND_SET_SPEED_AND_PITCH</a>, <a href="Player.html#COMMAND_SET_TRACK_SELECTION_PARAMETERS">COMMAND_SET_TRACK_SELECTION_PARAMETERS</a>, <a href="Player.html#COMMAND_SET_VIDEO_SURFACE">COMMAND_SET_VIDEO_SURFACE</a>, <a href="Player.html#COMMAND_SET_VOLUME">COMMAND_SET_VOLUME</a>, <a href="Player.html#COMMAND_STOP">COMMAND_STOP</a>, <a href="Player.html#DISCONTINUITY_REASON_AUTO_TRANSITION">DISCONTINUITY_REASON_AUTO_TRANSITION</a>, <a href="Player.html#DISCONTINUITY_REASON_INTERNAL">DISCONTINUITY_REASON_INTERNAL</a>, <a href="Player.html#DISCONTINUITY_REASON_REMOVE">DISCONTINUITY_REASON_REMOVE</a>, <a href="Player.html#DISCONTINUITY_REASON_SEEK">DISCONTINUITY_REASON_SEEK</a>, <a href="Player.html#DISCONTINUITY_REASON_SEEK_ADJUSTMENT">DISCONTINUITY_REASON_SEEK_ADJUSTMENT</a>, <a href="Player.html#DISCONTINUITY_REASON_SKIP">DISCONTINUITY_REASON_SKIP</a>, <a href="Player.html#EVENT_AUDIO_ATTRIBUTES_CHANGED">EVENT_AUDIO_ATTRIBUTES_CHANGED</a>, <a href="Player.html#EVENT_AUDIO_SESSION_ID">EVENT_AUDIO_SESSION_ID</a>, <a href="Player.html#EVENT_AVAILABLE_COMMANDS_CHANGED">EVENT_AVAILABLE_COMMANDS_CHANGED</a>, <a href="Player.html#EVENT_CUES">EVENT_CUES</a>, <a href="Player.html#EVENT_DEVICE_INFO_CHANGED">EVENT_DEVICE_INFO_CHANGED</a>, <a href="Player.html#EVENT_DEVICE_VOLUME_CHANGED">EVENT_DEVICE_VOLUME_CHANGED</a>, <a href="Player.html#EVENT_IS_LOADING_CHANGED">EVENT_IS_LOADING_CHANGED</a>, <a href="Player.html#EVENT_IS_PLAYING_CHANGED">EVENT_IS_PLAYING_CHANGED</a>, <a href="Player.html#EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED">EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED</a>, <a href="Player.html#EVENT_MEDIA_ITEM_TRANSITION">EVENT_MEDIA_ITEM_TRANSITION</a>, <a href="Player.html#EVENT_MEDIA_METADATA_CHANGED">EVENT_MEDIA_METADATA_CHANGED</a>, <a href="Player.html#EVENT_METADATA">EVENT_METADATA</a>, <a href="Player.html#EVENT_PLAY_WHEN_READY_CHANGED">EVENT_PLAY_WHEN_READY_CHANGED</a>, <a href="Player.html#EVENT_PLAYBACK_PARAMETERS_CHANGED">EVENT_PLAYBACK_PARAMETERS_CHANGED</a>, <a href="Player.html#EVENT_PLAYBACK_STATE_CHANGED">EVENT_PLAYBACK_STATE_CHANGED</a>, <a href="Player.html#EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED">EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED</a>, <a href="Player.html#EVENT_PLAYER_ERROR">EVENT_PLAYER_ERROR</a>, <a href="Player.html#EVENT_PLAYLIST_METADATA_CHANGED">EVENT_PLAYLIST_METADATA_CHANGED</a>, <a href="Player.html#EVENT_POSITION_DISCONTINUITY">EVENT_POSITION_DISCONTINUITY</a>, <a href="Player.html#EVENT_RENDERED_FIRST_FRAME">EVENT_RENDERED_FIRST_FRAME</a>, <a href="Player.html#EVENT_REPEAT_MODE_CHANGED">EVENT_REPEAT_MODE_CHANGED</a>, <a href="Player.html#EVENT_SEEK_BACK_INCREMENT_CHANGED">EVENT_SEEK_BACK_INCREMENT_CHANGED</a>, <a href="Player.html#EVENT_SEEK_FORWARD_INCREMENT_CHANGED">EVENT_SEEK_FORWARD_INCREMENT_CHANGED</a>, <a href="Player.html#EVENT_SHUFFLE_MODE_ENABLED_CHANGED">EVENT_SHUFFLE_MODE_ENABLED_CHANGED</a>, <a href="Player.html#EVENT_SKIP_SILENCE_ENABLED_CHANGED">EVENT_SKIP_SILENCE_ENABLED_CHANGED</a>, <a href="Player.html#EVENT_SURFACE_SIZE_CHANGED">EVENT_SURFACE_SIZE_CHANGED</a>, <a href="Player.html#EVENT_TIMELINE_CHANGED">EVENT_TIMELINE_CHANGED</a>, <a href="Player.html#EVENT_TRACK_SELECTION_PARAMETERS_CHANGED">EVENT_TRACK_SELECTION_PARAMETERS_CHANGED</a>, <a href="Player.html#EVENT_TRACKS_CHANGED">EVENT_TRACKS_CHANGED</a>, <a href="Player.html#EVENT_VIDEO_SIZE_CHANGED">EVENT_VIDEO_SIZE_CHANGED</a>, <a href="Player.html#EVENT_VOLUME_CHANGED">EVENT_VOLUME_CHANGED</a>, <a href="Player.html#MEDIA_ITEM_TRANSITION_REASON_AUTO">MEDIA_ITEM_TRANSITION_REASON_AUTO</a>, <a href="Player.html#MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED">MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED</a>, <a href="Player.html#MEDIA_ITEM_TRANSITION_REASON_REPEAT">MEDIA_ITEM_TRANSITION_REASON_REPEAT</a>, <a href="Player.html#MEDIA_ITEM_TRANSITION_REASON_SEEK">MEDIA_ITEM_TRANSITION_REASON_SEEK</a>, <a href="Player.html#PLAY_WHEN_READY_CHANGE_REASON_AUDIO_BECOMING_NOISY">PLAY_WHEN_READY_CHANGE_REASON_AUDIO_BECOMING_NOISY</a>, <a href="Player.html#PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS">PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS</a>, <a href="Player.html#PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM">PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM</a>, <a href="Player.html#PLAY_WHEN_READY_CHANGE_REASON_REMOTE">PLAY_WHEN_READY_CHANGE_REASON_REMOTE</a>, <a href="Player.html#PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST">PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST</a>, <a href="Player.html#PLAYBACK_SUPPRESSION_REASON_NONE">PLAYBACK_SUPPRESSION_REASON_NONE</a>, <a href="Player.html#PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS">PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS</a>, <a href="Player.html#REPEAT_MODE_ALL">REPEAT_MODE_ALL</a>, <a href="Player.html#REPEAT_MODE_OFF">REPEAT_MODE_OFF</a>, <a href="Player.html#REPEAT_MODE_ONE">REPEAT_MODE_ONE</a>, <a href="Player.html#STATE_BUFFERING">STATE_BUFFERING</a>, <a href="Player.html#STATE_ENDED">STATE_ENDED</a>, <a href="Player.html#STATE_IDLE">STATE_IDLE</a>, <a href="Player.html#STATE_READY">STATE_READY</a>, <a href="Player.html#TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED">TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED</a>, <a href="Player.html#TIMELINE_CHANGE_REASON_SOURCE_UPDATE">TIMELINE_CHANGE_REASON_SOURCE_UPDATE</a></code></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
|
<section role="region">
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="constructor.summary">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Constructor Summary</h3>
|
|
<table class="memberSummary">
|
|
<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
|
|
<tr>
|
|
<th class="colFirst" scope="col">Modifier</th>
|
|
<th class="colSecond" scope="col">Constructor</th>
|
|
<th class="colLast" scope="col">Description</th>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected </code></td>
|
|
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.os.Looper)">SimpleBasePlayer</a></span>​(<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a> applicationLooper)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Creates the base class.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected </code></td>
|
|
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.os.Looper,com.google.android.exoplayer2.util.Clock)">SimpleBasePlayer</a></span>​(<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a> applicationLooper,
|
|
<a href="util/Clock.html" title="interface in com.google.android.exoplayer2.util">Clock</a> clock)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Creates the base class.</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<!-- ========== METHOD SUMMARY =========== -->
|
|
<section role="region">
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="method.summary">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Method Summary</h3>
|
|
<table class="memberSummary">
|
|
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
|
|
<tr>
|
|
<th class="colFirst" scope="col">Modifier and Type</th>
|
|
<th class="colSecond" scope="col">Method</th>
|
|
<th class="colLast" scope="col">Description</th>
|
|
</tr>
|
|
<tr id="i0" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addListener(com.google.android.exoplayer2.Player.Listener)">addListener</a></span>​(<a href="Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a> listener)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Registers a listener to receive all events from the player.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i1" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addMediaItems(int,java.util.List)">addMediaItems</a></span>​(int index,
|
|
<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>> mediaItems)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Adds a list of media items at the given index of the playlist.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i2" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearVideoSurface()">clearVideoSurface</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Clears any <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink"><code>Surface</code></a>, <a href="https://developer.android.com/reference/android/view/SurfaceHolder.html?is-external=true" title="class or interface in android.view" class="externalLink"><code>SurfaceHolder</code></a>, <a href="https://developer.android.com/reference/android/view/SurfaceView.html?is-external=true" title="class or interface in android.view" class="externalLink"><code>SurfaceView</code></a> or <a href="https://developer.android.com/reference/android/view/TextureView.html?is-external=true" title="class or interface in android.view" class="externalLink" target="_top"><code>TextureView</code></a>
|
|
currently set on the player.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i3" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearVideoSurface(android.view.Surface)">clearVideoSurface</a></span>​(<a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top">Surface</a> surface)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Clears the <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a> onto which video is being rendered if it matches the one passed.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i4" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearVideoSurfaceHolder(android.view.SurfaceHolder)">clearVideoSurfaceHolder</a></span>​(<a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceHolder</a> surfaceHolder)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Clears the <a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink"><code>SurfaceHolder</code></a> that holds the <a href="https://developer.android.com/reference/android/view/Surface.html?is-external=true" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a> onto which video is being
|
|
rendered if it matches the one passed.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i5" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearVideoSurfaceView(android.view.SurfaceView)">clearVideoSurfaceView</a></span>​(<a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceView</a> surfaceView)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Clears the <a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>SurfaceView</code></a> onto which video is being rendered if it matches the one passed.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i6" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearVideoTextureView(android.view.TextureView)">clearVideoTextureView</a></span>​(<a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top">TextureView</a> textureView)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Clears the <a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>TextureView</code></a> onto which video is being rendered if it matches the one passed.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i7" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#decreaseDeviceVolume()">decreaseDeviceVolume</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Decreases the volume of the device.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i8" class="altColor">
|
|
<td class="colFirst"><code><a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getApplicationLooper()">getApplicationLooper</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the <a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Looper</code></a> associated with the application thread that's used to access the
|
|
player and on which player events are received.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i9" class="rowColor">
|
|
<td class="colFirst"><code><a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAudioAttributes()">getAudioAttributes</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the attributes for audio playback.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i10" class="altColor">
|
|
<td class="colFirst"><code><a href="Player.Commands.html" title="class in com.google.android.exoplayer2">Player.Commands</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAvailableCommands()">getAvailableCommands</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the player's currently available <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i11" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBufferedPosition()">getBufferedPosition</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns an estimate of the position in the current content or ad up to which data is buffered,
|
|
in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i12" class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContentBufferedPosition()">getContentBufferedPosition</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">If <a href="Player.html#isPlayingAd()"><code>Player.isPlayingAd()</code></a> returns <code>true</code>, returns an estimate of the content position in
|
|
the current content up to which data is buffered, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i13" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContentPosition()">getContentPosition</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">If <a href="Player.html#isPlayingAd()"><code>Player.isPlayingAd()</code></a> returns <code>true</code>, returns the content position that will be
|
|
played once all ads in the ad group have finished playing, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i14" class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCurrentAdGroupIndex()">getCurrentAdGroupIndex</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">If <a href="Player.html#isPlayingAd()"><code>Player.isPlayingAd()</code></a> returns true, returns the index of the ad group in the period
|
|
currently being played.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i15" class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCurrentAdIndexInAdGroup()">getCurrentAdIndexInAdGroup</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">If <a href="Player.html#isPlayingAd()"><code>Player.isPlayingAd()</code></a> returns true, returns the index of the ad in its ad group.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i16" class="altColor">
|
|
<td class="colFirst"><code><a href="text/CueGroup.html" title="class in com.google.android.exoplayer2.text">CueGroup</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCurrentCues()">getCurrentCues</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the current <a href="text/CueGroup.html" title="class in com.google.android.exoplayer2.text"><code>CueGroup</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i17" class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCurrentMediaItemIndex()">getCurrentMediaItemIndex</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the index of the current <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> in the <a href="Player.html#getCurrentTimeline()"><code>timeline</code></a>, or the prospective index if the <a href="Player.html#getCurrentTimeline()"><code>current timeline</code></a> is
|
|
empty.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i18" class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCurrentPeriodIndex()">getCurrentPeriodIndex</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the index of the period currently being played.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i19" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCurrentPosition()">getCurrentPosition</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the playback position in the current content or ad, in milliseconds, or the prospective
|
|
position in milliseconds if the <a href="Player.html#getCurrentTimeline()"><code>current timeline</code></a> is empty.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i20" class="altColor">
|
|
<td class="colFirst"><code><a href="Timeline.html" title="class in com.google.android.exoplayer2">Timeline</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCurrentTimeline()">getCurrentTimeline</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the current <a href="Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i21" class="rowColor">
|
|
<td class="colFirst"><code><a href="Tracks.html" title="class in com.google.android.exoplayer2">Tracks</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCurrentTracks()">getCurrentTracks</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the current tracks.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i22" class="altColor">
|
|
<td class="colFirst"><code><a href="DeviceInfo.html" title="class in com.google.android.exoplayer2">DeviceInfo</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDeviceInfo()">getDeviceInfo</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Gets the device information.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i23" class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDeviceVolume()">getDeviceVolume</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Gets the current volume of the device.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i24" class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDuration()">getDuration</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the duration of the current content or ad in milliseconds, or <a href="C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if
|
|
the duration is not known.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i25" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxSeekToPreviousPosition()">getMaxSeekToPreviousPosition</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the maximum position for which <a href="Player.html#seekToPrevious()"><code>Player.seekToPrevious()</code></a> seeks to the previous <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i26" class="altColor">
|
|
<td class="colFirst"><code><a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMediaMetadata()">getMediaMetadata</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the current combined <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2"><code>MediaMetadata</code></a>, or <a href="MediaMetadata.html#EMPTY"><code>MediaMetadata.EMPTY</code></a> if not
|
|
supported.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i27" class="rowColor">
|
|
<td class="colFirst"><code>protected <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlaceholderState(com.google.android.exoplayer2.SimpleBasePlayer.State)">getPlaceholderState</a></span>​(<a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State</a> suggestedPlaceholderState)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the placeholder state used while a player method is handled asynchronously.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i28" class="altColor">
|
|
<td class="colFirst"><code><a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlaybackParameters()">getPlaybackParameters</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the currently active playback parameters.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i29" class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlaybackState()">getPlaybackState</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the current <a href="Player.State.html" title="annotation in com.google.android.exoplayer2"><code>playback state</code></a> of the player.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i30" class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlaybackSuppressionReason()">getPlaybackSuppressionReason</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the reason why playback is suppressed even though <a href="Player.html#getPlayWhenReady()"><code>Player.getPlayWhenReady()</code></a> is <code>
|
|
true</code>, or <a href="Player.html#PLAYBACK_SUPPRESSION_REASON_NONE"><code>Player.PLAYBACK_SUPPRESSION_REASON_NONE</code></a> if playback is not suppressed.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i31" class="rowColor">
|
|
<td class="colFirst"><code><a href="PlaybackException.html" title="class in com.google.android.exoplayer2">PlaybackException</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlayerError()">getPlayerError</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the error that caused playback to fail.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i32" class="altColor">
|
|
<td class="colFirst"><code><a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlaylistMetadata()">getPlaylistMetadata</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the playlist <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2"><code>MediaMetadata</code></a>, as set by <a href="Player.html#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)"><code>Player.setPlaylistMetadata(MediaMetadata)</code></a>, or <a href="MediaMetadata.html#EMPTY"><code>MediaMetadata.EMPTY</code></a> if not supported.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i33" class="rowColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlayWhenReady()">getPlayWhenReady</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Whether playback will proceed when <a href="Player.html#getPlaybackState()"><code>Player.getPlaybackState()</code></a> == <a href="Player.html#STATE_READY"><code>Player.STATE_READY</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i34" class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRepeatMode()">getRepeatMode</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the current <a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2"><code>Player.RepeatMode</code></a> used for playback.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i35" class="rowColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSeekBackIncrement()">getSeekBackIncrement</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the <a href="Player.html#seekBack()"><code>Player.seekBack()</code></a> increment.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i36" class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSeekForwardIncrement()">getSeekForwardIncrement</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the <a href="Player.html#seekForward()"><code>Player.seekForward()</code></a> increment.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i37" class="rowColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getShuffleModeEnabled()">getShuffleModeEnabled</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns whether shuffling of media items is enabled.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i38" class="altColor">
|
|
<td class="colFirst"><code>protected abstract <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getState()">getState</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the current <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State</code></a> of the player.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i39" class="rowColor">
|
|
<td class="colFirst"><code><a href="util/Size.html" title="class in com.google.android.exoplayer2.util">Size</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSurfaceSize()">getSurfaceSize</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Gets the size of the surface on which the video is rendered.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i40" class="altColor">
|
|
<td class="colFirst"><code>long</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalBufferedDuration()">getTotalBufferedDuration</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns an estimate of the total buffered duration from the current position, in milliseconds.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i41" class="rowColor">
|
|
<td class="colFirst"><code><a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelectionParameters()">getTrackSelectionParameters</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the parameters constraining the track selection.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i42" class="altColor">
|
|
<td class="colFirst"><code><a href="video/VideoSize.html" title="class in com.google.android.exoplayer2.video">VideoSize</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoSize()">getVideoSize</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Gets the size of the video.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i43" class="rowColor">
|
|
<td class="colFirst"><code>float</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVolume()">getVolume</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i44" class="altColor">
|
|
<td class="colFirst"><code>protected <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink">ListenableFuture</a><?></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleSetPlayWhenReady(boolean)">handleSetPlayWhenReady</a></span>​(boolean playWhenReady)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to set <a href="SimpleBasePlayer.State.html#playWhenReady"><code>SimpleBasePlayer.State.playWhenReady</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i45" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#increaseDeviceVolume()">increaseDeviceVolume</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Increases the volume of the device.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i46" class="altColor">
|
|
<td class="colFirst"><code>protected void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#invalidateState()">invalidateState</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Invalidates the current state.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i47" class="rowColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDeviceMuted()">isDeviceMuted</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Gets whether the device is muted or not.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i48" class="altColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLoading()">isLoading</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Whether the player is currently loading the source.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i49" class="rowColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlayingAd()">isPlayingAd</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns whether the player is currently playing an ad.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i50" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moveMediaItems(int,int,int)">moveMediaItems</a></span>​(int fromIndex,
|
|
int toIndex,
|
|
int newIndex)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Moves the media item range to the new index.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i51" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Prepares the player.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i52" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Releases the player.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i53" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeListener(com.google.android.exoplayer2.Player.Listener)">removeListener</a></span>​(<a href="Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a> listener)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Unregister a listener registered through <a href="Player.html#addListener(com.google.android.exoplayer2.Player.Listener)"><code>Player.addListener(Listener)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i54" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMediaItems(int,int)">removeMediaItems</a></span>​(int fromIndex,
|
|
int toIndex)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Removes a range of media items from the playlist.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i55" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekTo(int,long)">seekTo</a></span>​(int mediaItemIndex,
|
|
long positionMs)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Seeks to a position specified in milliseconds in the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i56" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceMuted(boolean)">setDeviceMuted</a></span>​(boolean muted)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Sets the mute state of the device.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i57" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceVolume(int)">setDeviceVolume</a></span>​(int volume)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Sets the volume of the device.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i58" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,boolean)">setMediaItems</a></span>​(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>> mediaItems,
|
|
boolean resetPosition)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i59" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,int,long)">setMediaItems</a></span>​(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>> mediaItems,
|
|
int startIndex,
|
|
long startPositionMs)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i60" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>​(<a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a> playbackParameters)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Attempts to set the playback parameters.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i61" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)">setPlaylistMetadata</a></span>​(<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a> mediaMetadata)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Sets the playlist <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2"><code>MediaMetadata</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i62" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayWhenReady(boolean)">setPlayWhenReady</a></span>​(boolean playWhenReady)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Sets whether playback should proceed when <a href="Player.html#getPlaybackState()"><code>Player.getPlaybackState()</code></a> == <a href="Player.html#STATE_READY"><code>Player.STATE_READY</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i63" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRepeatMode(int)">setRepeatMode</a></span>​(int repeatMode)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Sets the <a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2"><code>Player.RepeatMode</code></a> to be used for playback.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i64" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setShuffleModeEnabled(boolean)">setShuffleModeEnabled</a></span>​(boolean shuffleModeEnabled)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Sets whether shuffling of media items is enabled.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i65" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)">setTrackSelectionParameters</a></span>​(<a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a> parameters)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Sets the parameters constraining the track selection.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i66" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurface(android.view.Surface)">setVideoSurface</a></span>​(<a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top">Surface</a> surface)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Sets the <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a> onto which video will be rendered.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i67" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceHolder(android.view.SurfaceHolder)">setVideoSurfaceHolder</a></span>​(<a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceHolder</a> surfaceHolder)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Sets the <a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink"><code>SurfaceHolder</code></a> that holds the <a href="https://developer.android.com/reference/android/view/Surface.html?is-external=true" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a> onto which video will be
|
|
rendered.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i68" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceView(android.view.SurfaceView)">setVideoSurfaceView</a></span>​(<a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceView</a> surfaceView)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Sets the <a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>SurfaceView</code></a> onto which video will be rendered.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i69" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoTextureView(android.view.TextureView)">setVideoTextureView</a></span>​(<a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top">TextureView</a> textureView)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Sets the <a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>TextureView</code></a> onto which video will be rendered.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i70" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>​(float volume)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Sets the audio volume, valid values are between 0 (silence) and 1 (unity gain, signal
|
|
unchanged), inclusive.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i71" class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Stops playback without resetting the playlist.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i72" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop(boolean)">stop</a></span>​(boolean reset)</code></th>
|
|
<td class="colLast"> </td>
|
|
</tr>
|
|
</table>
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.BasePlayer">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Methods inherited from class com.google.android.exoplayer2.<a href="BasePlayer.html" title="class in com.google.android.exoplayer2">BasePlayer</a></h3>
|
|
<code><a href="BasePlayer.html#addMediaItem(int,com.google.android.exoplayer2.MediaItem)">addMediaItem</a>, <a href="BasePlayer.html#addMediaItem(com.google.android.exoplayer2.MediaItem)">addMediaItem</a>, <a href="BasePlayer.html#addMediaItems(java.util.List)">addMediaItems</a>, <a href="BasePlayer.html#canAdvertiseSession()">canAdvertiseSession</a>, <a href="BasePlayer.html#clearMediaItems()">clearMediaItems</a>, <a href="BasePlayer.html#getBufferedPercentage()">getBufferedPercentage</a>, <a href="BasePlayer.html#getContentDuration()">getContentDuration</a>, <a href="BasePlayer.html#getCurrentLiveOffset()">getCurrentLiveOffset</a>, <a href="BasePlayer.html#getCurrentManifest()">getCurrentManifest</a>, <a href="BasePlayer.html#getCurrentMediaItem()">getCurrentMediaItem</a>, <a href="BasePlayer.html#getCurrentWindowIndex()">getCurrentWindowIndex</a>, <a href="BasePlayer.html#getMediaItemAt(int)">getMediaItemAt</a>, <a href="BasePlayer.html#getMediaItemCount()">getMediaItemCount</a>, <a href="BasePlayer.html#getNextMediaItemIndex()">getNextMediaItemIndex</a>, <a href="BasePlayer.html#getNextWindowIndex()">getNextWindowIndex</a>, <a href="BasePlayer.html#getPreviousMediaItemIndex()">getPreviousMediaItemIndex</a>, <a href="BasePlayer.html#getPreviousWindowIndex()">getPreviousWindowIndex</a>, <a href="BasePlayer.html#hasNext()">hasNext</a>, <a href="BasePlayer.html#hasNextMediaItem()">hasNextMediaItem</a>, <a href="BasePlayer.html#hasNextWindow()">hasNextWindow</a>, <a href="BasePlayer.html#hasPrevious()">hasPrevious</a>, <a href="BasePlayer.html#hasPreviousMediaItem()">hasPreviousMediaItem</a>, <a href="BasePlayer.html#hasPreviousWindow()">hasPreviousWindow</a>, <a href="BasePlayer.html#isCommandAvailable(@com.google.android.exoplayer2.Player.Commandint)">isCommandAvailable</a>, <a href="BasePlayer.html#isCurrentMediaItemDynamic()">isCurrentMediaItemDynamic</a>, <a href="BasePlayer.html#isCurrentMediaItemLive()">isCurrentMediaItemLive</a>, <a href="BasePlayer.html#isCurrentMediaItemSeekable()">isCurrentMediaItemSeekable</a>, <a href="BasePlayer.html#isCurrentWindowDynamic()">isCurrentWindowDynamic</a>, <a href="BasePlayer.html#isCurrentWindowLive()">isCurrentWindowLive</a>, <a href="BasePlayer.html#isCurrentWindowSeekable()">isCurrentWindowSeekable</a>, <a href="BasePlayer.html#isPlaying()">isPlaying</a>, <a href="BasePlayer.html#moveMediaItem(int,int)">moveMediaItem</a>, <a href="BasePlayer.html#next()">next</a>, <a href="BasePlayer.html#pause()">pause</a>, <a href="BasePlayer.html#play()">play</a>, <a href="BasePlayer.html#previous()">previous</a>, <a href="BasePlayer.html#removeMediaItem(int)">removeMediaItem</a>, <a href="BasePlayer.html#repeatCurrentMediaItem()">repeatCurrentMediaItem</a>, <a href="BasePlayer.html#seekBack()">seekBack</a>, <a href="BasePlayer.html#seekForward()">seekForward</a>, <a href="BasePlayer.html#seekTo(long)">seekTo</a>, <a href="BasePlayer.html#seekToDefaultPosition()">seekToDefaultPosition</a>, <a href="BasePlayer.html#seekToDefaultPosition(int)">seekToDefaultPosition</a>, <a href="BasePlayer.html#seekToNext()">seekToNext</a>, <a href="BasePlayer.html#seekToNextMediaItem()">seekToNextMediaItem</a>, <a href="BasePlayer.html#seekToNextWindow()">seekToNextWindow</a>, <a href="BasePlayer.html#seekToPrevious()">seekToPrevious</a>, <a href="BasePlayer.html#seekToPreviousMediaItem()">seekToPreviousMediaItem</a>, <a href="BasePlayer.html#seekToPreviousWindow()">seekToPreviousWindow</a>, <a href="BasePlayer.html#setMediaItem(com.google.android.exoplayer2.MediaItem)">setMediaItem</a>, <a href="BasePlayer.html#setMediaItem(com.google.android.exoplayer2.MediaItem,boolean)">setMediaItem</a>, <a href="BasePlayer.html#setMediaItem(com.google.android.exoplayer2.MediaItem,long)">setMediaItem</a>, <a href="BasePlayer.html#setMediaItems(java.util.List)">setMediaItems</a>, <a href="BasePlayer.html#setPlaybackSpeed(float)">setPlaybackSpeed</a></code></li>
|
|
</ul>
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Methods inherited from class java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
|
|
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="details">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
|
<section role="region">
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="constructor.detail">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Constructor Detail</h3>
|
|
<a id="<init>(android.os.Looper)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>SimpleBasePlayer</h4>
|
|
<pre>protected SimpleBasePlayer​(<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a> applicationLooper)</pre>
|
|
<div class="block">Creates the base class.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>applicationLooper</code> - The <a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Looper</code></a> that must be used for all calls to the player and
|
|
that is used to call listeners on.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="<init>(android.os.Looper,com.google.android.exoplayer2.util.Clock)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockListLast">
|
|
<li class="blockList">
|
|
<h4>SimpleBasePlayer</h4>
|
|
<pre>protected SimpleBasePlayer​(<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a> applicationLooper,
|
|
<a href="util/Clock.html" title="interface in com.google.android.exoplayer2.util">Clock</a> clock)</pre>
|
|
<div class="block">Creates the base class.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>applicationLooper</code> - The <a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Looper</code></a> that must be used for all calls to the player and
|
|
that is used to call listeners on.</dd>
|
|
<dd><code>clock</code> - The <a href="util/Clock.html" title="interface in com.google.android.exoplayer2.util"><code>Clock</code></a> that will be used by the player.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<!-- ============ METHOD DETAIL ========== -->
|
|
<section role="region">
|
|
<ul class="blockList">
|
|
<li class="blockList"><a id="method.detail">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Method Detail</h3>
|
|
<a id="addListener(com.google.android.exoplayer2.Player.Listener)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>addListener</h4>
|
|
<pre class="methodSignature">public final void addListener​(<a href="Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a> listener)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#addListener(com.google.android.exoplayer2.Player.Listener)">Player</a></code></span></div>
|
|
<div class="block">Registers a listener to receive all events from the player.
|
|
|
|
<p>The listener's methods will be called on the thread associated with <a href="Player.html#getApplicationLooper()"><code>Player.getApplicationLooper()</code></a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>listener</code> - The listener to register.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="removeListener(com.google.android.exoplayer2.Player.Listener)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>removeListener</h4>
|
|
<pre class="methodSignature">public final void removeListener​(<a href="Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a> listener)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#removeListener(com.google.android.exoplayer2.Player.Listener)">Player</a></code></span></div>
|
|
<div class="block">Unregister a listener registered through <a href="Player.html#addListener(com.google.android.exoplayer2.Player.Listener)"><code>Player.addListener(Listener)</code></a>. The listener will no
|
|
longer receive events.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>listener</code> - The listener to unregister.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getApplicationLooper()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getApplicationLooper</h4>
|
|
<pre class="methodSignature">public final <a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a> getApplicationLooper()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getApplicationLooper()">Player</a></code></span></div>
|
|
<div class="block">Returns the <a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Looper</code></a> associated with the application thread that's used to access the
|
|
player and on which player events are received.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getAvailableCommands()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getAvailableCommands</h4>
|
|
<pre class="methodSignature">public final <a href="Player.Commands.html" title="class in com.google.android.exoplayer2">Player.Commands</a> getAvailableCommands()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getAvailableCommands()">Player</a></code></span></div>
|
|
<div class="block">Returns the player's currently available <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a>.
|
|
|
|
<p>The returned <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a> are not updated when available commands change. Use <a href="Player.Listener.html#onAvailableCommandsChanged(com.google.android.exoplayer2.Player.Commands)"><code>Player.Listener.onAvailableCommandsChanged(Commands)</code></a> to get an update when the available commands
|
|
change.
|
|
|
|
<p>Executing a command that is not available (for example, calling <a href="Player.html#seekToNextMediaItem()"><code>Player.seekToNextMediaItem()</code></a> if <a href="Player.html#COMMAND_SEEK_TO_NEXT_MEDIA_ITEM"><code>Player.COMMAND_SEEK_TO_NEXT_MEDIA_ITEM</code></a> is unavailable) will
|
|
neither throw an exception nor generate a <a href="Player.html#getPlayerError()"><code>Player.getPlayerError()</code></a> player error}.
|
|
|
|
<p><a href="Player.html#COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM"><code>Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM</code></a> and <a href="Player.html#COMMAND_SEEK_TO_NEXT_MEDIA_ITEM"><code>Player.COMMAND_SEEK_TO_NEXT_MEDIA_ITEM</code></a>
|
|
are unavailable if there is no such <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The currently available <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a>.</dd>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onAvailableCommandsChanged(com.google.android.exoplayer2.Player.Commands)"><code>Player.Listener.onAvailableCommandsChanged(com.google.android.exoplayer2.Player.Commands)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="setPlayWhenReady(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setPlayWhenReady</h4>
|
|
<pre class="methodSignature">public final void setPlayWhenReady​(boolean playWhenReady)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setPlayWhenReady(boolean)">Player</a></code></span></div>
|
|
<div class="block">Sets whether playback should proceed when <a href="Player.html#getPlaybackState()"><code>Player.getPlaybackState()</code></a> == <a href="Player.html#STATE_READY"><code>Player.STATE_READY</code></a>.
|
|
|
|
<p>If the player is already in the ready state then this method pauses and resumes playback.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>playWhenReady</code> - Whether playback should proceed when ready.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getPlayWhenReady()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getPlayWhenReady</h4>
|
|
<pre class="methodSignature">public final boolean getPlayWhenReady()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getPlayWhenReady()">Player</a></code></span></div>
|
|
<div class="block">Whether playback will proceed when <a href="Player.html#getPlaybackState()"><code>Player.getPlaybackState()</code></a> == <a href="Player.html#STATE_READY"><code>Player.STATE_READY</code></a>.</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>Whether playback will proceed when ready.</dd>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onPlayWhenReadyChanged(boolean,@com.google.android.exoplayer2.Player.PlayWhenReadyChangeReasonint)"><code>Player.Listener.onPlayWhenReadyChanged(boolean, int)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="setMediaItems(java.util.List,boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setMediaItems</h4>
|
|
<pre class="methodSignature">public final void setMediaItems​(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>> mediaItems,
|
|
boolean resetPosition)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setMediaItems(java.util.List,boolean)">Player</a></code></span></div>
|
|
<div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>mediaItems</code> - The new <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</dd>
|
|
<dd><code>resetPosition</code> - Whether the playback position should be reset to the default position in
|
|
the first <a href="Timeline.Window.html" title="class in com.google.android.exoplayer2"><code>Timeline.Window</code></a>. If false, playback will start from the position defined
|
|
by <a href="Player.html#getCurrentMediaItemIndex()"><code>Player.getCurrentMediaItemIndex()</code></a> and <a href="Player.html#getCurrentPosition()"><code>Player.getCurrentPosition()</code></a>.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="setMediaItems(java.util.List,int,long)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setMediaItems</h4>
|
|
<pre class="methodSignature">public final void setMediaItems​(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>> mediaItems,
|
|
int startIndex,
|
|
long startPositionMs)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setMediaItems(java.util.List,int,long)">Player</a></code></span></div>
|
|
<div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>mediaItems</code> - The new <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</dd>
|
|
<dd><code>startIndex</code> - The <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> index to start playback from. If <a href="C.html#INDEX_UNSET"><code>C.INDEX_UNSET</code></a>
|
|
is passed, the current position is not reset.</dd>
|
|
<dd><code>startPositionMs</code> - The position in milliseconds to start playback from. If <a href="C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> is passed, the default position of the given <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> is used. In
|
|
any case, if <code>startIndex</code> is set to <a href="C.html#INDEX_UNSET"><code>C.INDEX_UNSET</code></a>, this parameter is ignored
|
|
and the position is not reset at all.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="addMediaItems(int,java.util.List)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>addMediaItems</h4>
|
|
<pre class="methodSignature">public final void addMediaItems​(int index,
|
|
<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a><<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>> mediaItems)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#addMediaItems(int,java.util.List)">Player</a></code></span></div>
|
|
<div class="block">Adds a list of media items at the given index of the playlist.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>index</code> - The index at which to add the media items. If the index is larger than the size of
|
|
the playlist, the media items are added to the end of the playlist.</dd>
|
|
<dd><code>mediaItems</code> - The <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a> to add.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="moveMediaItems(int,int,int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>moveMediaItems</h4>
|
|
<pre class="methodSignature">public final void moveMediaItems​(int fromIndex,
|
|
int toIndex,
|
|
int newIndex)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#moveMediaItems(int,int,int)">Player</a></code></span></div>
|
|
<div class="block">Moves the media item range to the new index.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>fromIndex</code> - The start of the range to move.</dd>
|
|
<dd><code>toIndex</code> - The first item not to be included in the range (exclusive).</dd>
|
|
<dd><code>newIndex</code> - The new index of the first media item of the range. If the new index is larger
|
|
than the size of the remaining playlist after removing the range, the range is moved to the
|
|
end of the playlist.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="removeMediaItems(int,int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>removeMediaItems</h4>
|
|
<pre class="methodSignature">public final void removeMediaItems​(int fromIndex,
|
|
int toIndex)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#removeMediaItems(int,int)">Player</a></code></span></div>
|
|
<div class="block">Removes a range of media items from the playlist.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>fromIndex</code> - The index at which to start removing media items.</dd>
|
|
<dd><code>toIndex</code> - The index of the first item to be kept (exclusive). If the index is larger than
|
|
the size of the playlist, media items to the end of the playlist are removed.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="prepare()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>prepare</h4>
|
|
<pre class="methodSignature">public final void prepare()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#prepare()">Player</a></code></span></div>
|
|
<div class="block">Prepares the player.
|
|
|
|
<p>This will move the player out of <a href="Player.html#STATE_IDLE"><code>idle state</code></a> and the player will start
|
|
loading media and acquire resources needed for playback.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getPlaybackState()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getPlaybackState</h4>
|
|
<pre class="methodSignature">public final int getPlaybackState()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getPlaybackState()">Player</a></code></span></div>
|
|
<div class="block">Returns the current <a href="Player.State.html" title="annotation in com.google.android.exoplayer2"><code>playback state</code></a> of the player.</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The current <a href="Player.State.html" title="annotation in com.google.android.exoplayer2"><code>playback state</code></a>.</dd>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onPlaybackStateChanged(@com.google.android.exoplayer2.Player.Stateint)"><code>Player.Listener.onPlaybackStateChanged(int)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getPlaybackSuppressionReason()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getPlaybackSuppressionReason</h4>
|
|
<pre class="methodSignature">public final int getPlaybackSuppressionReason()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getPlaybackSuppressionReason()">Player</a></code></span></div>
|
|
<div class="block">Returns the reason why playback is suppressed even though <a href="Player.html#getPlayWhenReady()"><code>Player.getPlayWhenReady()</code></a> is <code>
|
|
true</code>, or <a href="Player.html#PLAYBACK_SUPPRESSION_REASON_NONE"><code>Player.PLAYBACK_SUPPRESSION_REASON_NONE</code></a> if playback is not suppressed.</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The current <a href="Player.PlaybackSuppressionReason.html" title="annotation in com.google.android.exoplayer2"><code>playback suppression reason</code></a>.</dd>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onPlaybackSuppressionReasonChanged(@com.google.android.exoplayer2.Player.PlaybackSuppressionReasonint)"><code>Player.Listener.onPlaybackSuppressionReasonChanged(int)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getPlayerError()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getPlayerError</h4>
|
|
<pre class="methodSignature">@Nullable
|
|
public final <a href="PlaybackException.html" title="class in com.google.android.exoplayer2">PlaybackException</a> getPlayerError()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getPlayerError()">Player</a></code></span></div>
|
|
<div class="block">Returns the error that caused playback to fail. This is the same error that will have been
|
|
reported via <a href="Player.Listener.html#onPlayerError(com.google.android.exoplayer2.PlaybackException)"><code>Player.Listener.onPlayerError(PlaybackException)</code></a> at the time of failure. It can
|
|
be queried using this method until the player is re-prepared.
|
|
|
|
<p>Note that this method will always return <code>null</code> if <a href="Player.html#getPlaybackState()"><code>Player.getPlaybackState()</code></a> is not
|
|
<a href="Player.html#STATE_IDLE"><code>Player.STATE_IDLE</code></a>.</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The error, or <code>null</code>.</dd>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onPlayerError(com.google.android.exoplayer2.PlaybackException)"><code>Player.Listener.onPlayerError(PlaybackException)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="setRepeatMode(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setRepeatMode</h4>
|
|
<pre class="methodSignature">public final void setRepeatMode​(int repeatMode)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)">Player</a></code></span></div>
|
|
<div class="block">Sets the <a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2"><code>Player.RepeatMode</code></a> to be used for playback.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>repeatMode</code> - The repeat mode.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getRepeatMode()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getRepeatMode</h4>
|
|
<pre class="methodSignature">public final int getRepeatMode()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getRepeatMode()">Player</a></code></span></div>
|
|
<div class="block">Returns the current <a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2"><code>Player.RepeatMode</code></a> used for playback.</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The current repeat mode.</dd>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onRepeatModeChanged(@com.google.android.exoplayer2.Player.RepeatModeint)"><code>Player.Listener.onRepeatModeChanged(int)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="setShuffleModeEnabled(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setShuffleModeEnabled</h4>
|
|
<pre class="methodSignature">public final void setShuffleModeEnabled​(boolean shuffleModeEnabled)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setShuffleModeEnabled(boolean)">Player</a></code></span></div>
|
|
<div class="block">Sets whether shuffling of media items is enabled.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>shuffleModeEnabled</code> - Whether shuffling is enabled.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getShuffleModeEnabled()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getShuffleModeEnabled</h4>
|
|
<pre class="methodSignature">public final boolean getShuffleModeEnabled()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getShuffleModeEnabled()">Player</a></code></span></div>
|
|
<div class="block">Returns whether shuffling of media items is enabled.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onShuffleModeEnabledChanged(boolean)"><code>Player.Listener.onShuffleModeEnabledChanged(boolean)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="isLoading()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isLoading</h4>
|
|
<pre class="methodSignature">public final boolean isLoading()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#isLoading()">Player</a></code></span></div>
|
|
<div class="block">Whether the player is currently loading the source.</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>Whether the player is currently loading the source.</dd>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onIsLoadingChanged(boolean)"><code>Player.Listener.onIsLoadingChanged(boolean)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="seekTo(int,long)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>seekTo</h4>
|
|
<pre class="methodSignature">public final void seekTo​(int mediaItemIndex,
|
|
long positionMs)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#seekTo(int,long)">Player</a></code></span></div>
|
|
<div class="block">Seeks to a position specified in milliseconds in the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>mediaItemIndex</code> - The index of the <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</dd>
|
|
<dd><code>positionMs</code> - The seek position in the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>, or <a href="C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a>
|
|
to seek to the media item's default position.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getSeekBackIncrement()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getSeekBackIncrement</h4>
|
|
<pre class="methodSignature">public final long getSeekBackIncrement()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getSeekBackIncrement()">Player</a></code></span></div>
|
|
<div class="block">Returns the <a href="Player.html#seekBack()"><code>Player.seekBack()</code></a> increment.</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The seek back increment, in milliseconds.</dd>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onSeekBackIncrementChanged(long)"><code>Player.Listener.onSeekBackIncrementChanged(long)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getSeekForwardIncrement()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getSeekForwardIncrement</h4>
|
|
<pre class="methodSignature">public final long getSeekForwardIncrement()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getSeekForwardIncrement()">Player</a></code></span></div>
|
|
<div class="block">Returns the <a href="Player.html#seekForward()"><code>Player.seekForward()</code></a> increment.</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The seek forward increment, in milliseconds.</dd>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onSeekForwardIncrementChanged(long)"><code>Player.Listener.onSeekForwardIncrementChanged(long)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getMaxSeekToPreviousPosition()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMaxSeekToPreviousPosition</h4>
|
|
<pre class="methodSignature">public final long getMaxSeekToPreviousPosition()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getMaxSeekToPreviousPosition()">Player</a></code></span></div>
|
|
<div class="block">Returns the maximum position for which <a href="Player.html#seekToPrevious()"><code>Player.seekToPrevious()</code></a> seeks to the previous <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>, in milliseconds.</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The maximum seek to previous position, in milliseconds.</dd>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onMaxSeekToPreviousPositionChanged(long)"><code>Player.Listener.onMaxSeekToPreviousPositionChanged(long)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setPlaybackParameters</h4>
|
|
<pre class="methodSignature">public final void setPlaybackParameters​(<a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a> playbackParameters)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">Player</a></code></span></div>
|
|
<div class="block">Attempts to set the playback parameters. Passing <a href="PlaybackParameters.html#DEFAULT"><code>PlaybackParameters.DEFAULT</code></a> resets the
|
|
player to the default, which means there is no speed or pitch adjustment.
|
|
|
|
<p>Playback parameters changes may cause the player to buffer. <a href="Player.Listener.html#onPlaybackParametersChanged(com.google.android.exoplayer2.PlaybackParameters)"><code>Player.Listener.onPlaybackParametersChanged(PlaybackParameters)</code></a> will be called whenever the currently
|
|
active playback parameters change.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>playbackParameters</code> - The playback parameters.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getPlaybackParameters()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getPlaybackParameters</h4>
|
|
<pre class="methodSignature">public final <a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a> getPlaybackParameters()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getPlaybackParameters()">Player</a></code></span></div>
|
|
<div class="block">Returns the currently active playback parameters.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onPlaybackParametersChanged(com.google.android.exoplayer2.PlaybackParameters)"><code>Player.Listener.onPlaybackParametersChanged(PlaybackParameters)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="stop()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>stop</h4>
|
|
<pre class="methodSignature">public final void stop()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#stop()">Player</a></code></span></div>
|
|
<div class="block">Stops playback without resetting the playlist. Use <a href="Player.html#pause()"><code>Player.pause()</code></a> rather than this method if
|
|
the intention is to pause playback.
|
|
|
|
<p>Calling this method will cause the playback state to transition to <a href="Player.html#STATE_IDLE"><code>Player.STATE_IDLE</code></a> and
|
|
the player will release the loaded media and resources required for playback. The player
|
|
instance can still be used by calling <a href="Player.html#prepare()"><code>Player.prepare()</code></a> again, and <a href="Player.html#release()"><code>Player.release()</code></a> must
|
|
still be called on the player if it's no longer required.
|
|
|
|
<p>Calling this method does not clear the playlist, reset the playback position or the playback
|
|
error.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="stop(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>stop</h4>
|
|
<pre class="methodSignature">public final void stop​(boolean reset)</pre>
|
|
</li>
|
|
</ul>
|
|
<a id="release()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>release</h4>
|
|
<pre class="methodSignature">public final void release()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#release()">Player</a></code></span></div>
|
|
<div class="block">Releases the player. This method must be called when the player is no longer required. The
|
|
player must not be used after calling this method.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getCurrentTracks()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getCurrentTracks</h4>
|
|
<pre class="methodSignature">public final <a href="Tracks.html" title="class in com.google.android.exoplayer2">Tracks</a> getCurrentTracks()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getCurrentTracks()">Player</a></code></span></div>
|
|
<div class="block">Returns the current tracks.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onTracksChanged(com.google.android.exoplayer2.Tracks)"><code>Player.Listener.onTracksChanged(Tracks)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getTrackSelectionParameters()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getTrackSelectionParameters</h4>
|
|
<pre class="methodSignature">public final <a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a> getTrackSelectionParameters()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getTrackSelectionParameters()">Player</a></code></span></div>
|
|
<div class="block">Returns the parameters constraining the track selection.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onTrackSelectionParametersChanged(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)"><code>}</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setTrackSelectionParameters</h4>
|
|
<pre class="methodSignature">public final void setTrackSelectionParameters​(<a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a> parameters)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)">Player</a></code></span></div>
|
|
<div class="block">Sets the parameters constraining the track selection.
|
|
|
|
<p>Unsupported parameters will be silently ignored.
|
|
|
|
<p>Use <a href="Player.html#getTrackSelectionParameters()"><code>Player.getTrackSelectionParameters()</code></a> to retrieve the current parameters. For example,
|
|
the following snippet restricts video to SD whilst keep other track selection parameters
|
|
unchanged:
|
|
|
|
<pre><code>
|
|
player.setTrackSelectionParameters(
|
|
player.getTrackSelectionParameters()
|
|
.buildUpon()
|
|
.setMaxVideoSizeSd()
|
|
.build())
|
|
</code></pre></div>
|
|
</li>
|
|
</ul>
|
|
<a id="getMediaMetadata()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMediaMetadata</h4>
|
|
<pre class="methodSignature">public final <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a> getMediaMetadata()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getMediaMetadata()">Player</a></code></span></div>
|
|
<div class="block">Returns the current combined <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2"><code>MediaMetadata</code></a>, or <a href="MediaMetadata.html#EMPTY"><code>MediaMetadata.EMPTY</code></a> if not
|
|
supported.
|
|
|
|
<p>This <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2"><code>MediaMetadata</code></a> is a combination of the <a href="MediaItem.html#mediaMetadata"><code>MediaItem
|
|
metadata</code></a>, the static metadata in the media's <a href="Format.html#metadata"><code>Format</code></a>, and any timed
|
|
metadata that has been parsed from the media and output via <a href="Player.Listener.html#onMetadata(com.google.android.exoplayer2.metadata.Metadata)"><code>Player.Listener.onMetadata(Metadata)</code></a>. If a field is populated in the <a href="MediaItem.html#mediaMetadata"><code>MediaItem.mediaMetadata</code></a>,
|
|
it will be prioritised above the same field coming from static or timed metadata.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getPlaylistMetadata()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getPlaylistMetadata</h4>
|
|
<pre class="methodSignature">public final <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a> getPlaylistMetadata()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getPlaylistMetadata()">Player</a></code></span></div>
|
|
<div class="block">Returns the playlist <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2"><code>MediaMetadata</code></a>, as set by <a href="Player.html#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)"><code>Player.setPlaylistMetadata(MediaMetadata)</code></a>, or <a href="MediaMetadata.html#EMPTY"><code>MediaMetadata.EMPTY</code></a> if not supported.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setPlaylistMetadata</h4>
|
|
<pre class="methodSignature">public final void setPlaylistMetadata​(<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a> mediaMetadata)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)">Player</a></code></span></div>
|
|
<div class="block">Sets the playlist <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2"><code>MediaMetadata</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getCurrentTimeline()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getCurrentTimeline</h4>
|
|
<pre class="methodSignature">public final <a href="Timeline.html" title="class in com.google.android.exoplayer2">Timeline</a> getCurrentTimeline()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getCurrentTimeline()">Player</a></code></span></div>
|
|
<div class="block">Returns the current <a href="Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a>. Never null, but may be empty.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onTimelineChanged(com.google.android.exoplayer2.Timeline,@com.google.android.exoplayer2.Player.TimelineChangeReasonint)"><code>Player.Listener.onTimelineChanged(Timeline, int)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getCurrentPeriodIndex()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getCurrentPeriodIndex</h4>
|
|
<pre class="methodSignature">public final int getCurrentPeriodIndex()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getCurrentPeriodIndex()">Player</a></code></span></div>
|
|
<div class="block">Returns the index of the period currently being played.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getCurrentMediaItemIndex()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getCurrentMediaItemIndex</h4>
|
|
<pre class="methodSignature">public final int getCurrentMediaItemIndex()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getCurrentMediaItemIndex()">Player</a></code></span></div>
|
|
<div class="block">Returns the index of the current <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> in the <a href="Player.html#getCurrentTimeline()"><code>timeline</code></a>, or the prospective index if the <a href="Player.html#getCurrentTimeline()"><code>current timeline</code></a> is
|
|
empty.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getDuration()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getDuration</h4>
|
|
<pre class="methodSignature">public final long getDuration()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getDuration()">Player</a></code></span></div>
|
|
<div class="block">Returns the duration of the current content or ad in milliseconds, or <a href="C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if
|
|
the duration is not known.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getCurrentPosition()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getCurrentPosition</h4>
|
|
<pre class="methodSignature">public final long getCurrentPosition()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getCurrentPosition()">Player</a></code></span></div>
|
|
<div class="block">Returns the playback position in the current content or ad, in milliseconds, or the prospective
|
|
position in milliseconds if the <a href="Player.html#getCurrentTimeline()"><code>current timeline</code></a> is empty.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getBufferedPosition()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getBufferedPosition</h4>
|
|
<pre class="methodSignature">public final long getBufferedPosition()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getBufferedPosition()">Player</a></code></span></div>
|
|
<div class="block">Returns an estimate of the position in the current content or ad up to which data is buffered,
|
|
in milliseconds.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getTotalBufferedDuration()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getTotalBufferedDuration</h4>
|
|
<pre class="methodSignature">public final long getTotalBufferedDuration()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getTotalBufferedDuration()">Player</a></code></span></div>
|
|
<div class="block">Returns an estimate of the total buffered duration from the current position, in milliseconds.
|
|
This includes pre-buffered data for subsequent ads and <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>media items</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="isPlayingAd()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isPlayingAd</h4>
|
|
<pre class="methodSignature">public final boolean isPlayingAd()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#isPlayingAd()">Player</a></code></span></div>
|
|
<div class="block">Returns whether the player is currently playing an ad.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getCurrentAdGroupIndex()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getCurrentAdGroupIndex</h4>
|
|
<pre class="methodSignature">public final int getCurrentAdGroupIndex()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getCurrentAdGroupIndex()">Player</a></code></span></div>
|
|
<div class="block">If <a href="Player.html#isPlayingAd()"><code>Player.isPlayingAd()</code></a> returns true, returns the index of the ad group in the period
|
|
currently being played. Returns <a href="C.html#INDEX_UNSET"><code>C.INDEX_UNSET</code></a> otherwise.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getCurrentAdIndexInAdGroup()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getCurrentAdIndexInAdGroup</h4>
|
|
<pre class="methodSignature">public final int getCurrentAdIndexInAdGroup()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getCurrentAdIndexInAdGroup()">Player</a></code></span></div>
|
|
<div class="block">If <a href="Player.html#isPlayingAd()"><code>Player.isPlayingAd()</code></a> returns true, returns the index of the ad in its ad group. Returns
|
|
<a href="C.html#INDEX_UNSET"><code>C.INDEX_UNSET</code></a> otherwise.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getContentPosition()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getContentPosition</h4>
|
|
<pre class="methodSignature">public final long getContentPosition()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getContentPosition()">Player</a></code></span></div>
|
|
<div class="block">If <a href="Player.html#isPlayingAd()"><code>Player.isPlayingAd()</code></a> returns <code>true</code>, returns the content position that will be
|
|
played once all ads in the ad group have finished playing, in milliseconds. If there is no ad
|
|
playing, the returned position is the same as that returned by <a href="Player.html#getCurrentPosition()"><code>Player.getCurrentPosition()</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getContentBufferedPosition()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getContentBufferedPosition</h4>
|
|
<pre class="methodSignature">public final long getContentBufferedPosition()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getContentBufferedPosition()">Player</a></code></span></div>
|
|
<div class="block">If <a href="Player.html#isPlayingAd()"><code>Player.isPlayingAd()</code></a> returns <code>true</code>, returns an estimate of the content position in
|
|
the current content up to which data is buffered, in milliseconds. If there is no ad playing,
|
|
the returned position is the same as that returned by <a href="Player.html#getBufferedPosition()"><code>Player.getBufferedPosition()</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getAudioAttributes()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getAudioAttributes</h4>
|
|
<pre class="methodSignature">public final <a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes</a> getAudioAttributes()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getAudioAttributes()">Player</a></code></span></div>
|
|
<div class="block">Returns the attributes for audio playback.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="setVolume(float)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setVolume</h4>
|
|
<pre class="methodSignature">public final void setVolume​(float volume)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setVolume(float)">Player</a></code></span></div>
|
|
<div class="block">Sets the audio volume, valid values are between 0 (silence) and 1 (unity gain, signal
|
|
unchanged), inclusive.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>volume</code> - Linear output gain to apply to all audio channels.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getVolume()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getVolume</h4>
|
|
<pre class="methodSignature">public final float getVolume()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getVolume()">Player</a></code></span></div>
|
|
<div class="block">Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The linear gain applied to all audio channels.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="clearVideoSurface()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>clearVideoSurface</h4>
|
|
<pre class="methodSignature">public final void clearVideoSurface()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#clearVideoSurface()">Player</a></code></span></div>
|
|
<div class="block">Clears any <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink"><code>Surface</code></a>, <a href="https://developer.android.com/reference/android/view/SurfaceHolder.html?is-external=true" title="class or interface in android.view" class="externalLink"><code>SurfaceHolder</code></a>, <a href="https://developer.android.com/reference/android/view/SurfaceView.html?is-external=true" title="class or interface in android.view" class="externalLink"><code>SurfaceView</code></a> or <a href="https://developer.android.com/reference/android/view/TextureView.html?is-external=true" title="class or interface in android.view" class="externalLink" target="_top"><code>TextureView</code></a>
|
|
currently set on the player.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="clearVideoSurface(android.view.Surface)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>clearVideoSurface</h4>
|
|
<pre class="methodSignature">public final void clearVideoSurface​(@Nullable
|
|
<a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top">Surface</a> surface)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#clearVideoSurface(android.view.Surface)">Player</a></code></span></div>
|
|
<div class="block">Clears the <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a> onto which video is being rendered if it matches the one passed.
|
|
Else does nothing.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>surface</code> - The surface to clear.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="setVideoSurface(android.view.Surface)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setVideoSurface</h4>
|
|
<pre class="methodSignature">public final void setVideoSurface​(@Nullable
|
|
<a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top">Surface</a> surface)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setVideoSurface(android.view.Surface)">Player</a></code></span></div>
|
|
<div class="block">Sets the <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a> onto which video will be rendered. The caller is responsible for
|
|
tracking the lifecycle of the surface, and must clear the surface by calling <code>
|
|
setVideoSurface(null)</code> if the surface is destroyed.
|
|
|
|
<p>If the surface is held by a <a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink"><code>SurfaceView</code></a>, <a href="https://developer.android.com/reference/android/view/TextureView.html?is-external=true" title="class or interface in android.view" class="externalLink"><code>TextureView</code></a> or <a href="https://developer.android.com/reference/android/view/SurfaceHolder.html?is-external=true" title="class or interface in android.view" class="externalLink"><code>SurfaceHolder</code></a> then it's recommended to use <a href="Player.html#setVideoSurfaceView(android.view.SurfaceView)"><code>Player.setVideoSurfaceView(SurfaceView)</code></a>, <a href="Player.html#setVideoTextureView(android.view.TextureView)"><code>Player.setVideoTextureView(TextureView)</code></a> or <a href="Player.html#setVideoSurfaceHolder(android.view.SurfaceHolder)" target="_top"><code>Player.setVideoSurfaceHolder(SurfaceHolder)</code></a> rather than
|
|
this method, since passing the holder allows the player to track the lifecycle of the surface
|
|
automatically.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>surface</code> - The <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a>.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="setVideoSurfaceHolder(android.view.SurfaceHolder)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setVideoSurfaceHolder</h4>
|
|
<pre class="methodSignature">public final void setVideoSurfaceHolder​(@Nullable
|
|
<a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceHolder</a> surfaceHolder)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setVideoSurfaceHolder(android.view.SurfaceHolder)">Player</a></code></span></div>
|
|
<div class="block">Sets the <a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink"><code>SurfaceHolder</code></a> that holds the <a href="https://developer.android.com/reference/android/view/Surface.html?is-external=true" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a> onto which video will be
|
|
rendered. The player will track the lifecycle of the surface automatically.
|
|
|
|
<p>The thread that calls the <a href="https://developer.android.com/reference/android/view/SurfaceHolder.Callback.html" title="class or interface in android.view" class="externalLink" target="_top"><code>SurfaceHolder.Callback</code></a> methods must be the thread
|
|
associated with <a href="Player.html#getApplicationLooper()"><code>Player.getApplicationLooper()</code></a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>surfaceHolder</code> - The surface holder.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="clearVideoSurfaceHolder(android.view.SurfaceHolder)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>clearVideoSurfaceHolder</h4>
|
|
<pre class="methodSignature">public final void clearVideoSurfaceHolder​(@Nullable
|
|
<a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceHolder</a> surfaceHolder)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#clearVideoSurfaceHolder(android.view.SurfaceHolder)">Player</a></code></span></div>
|
|
<div class="block">Clears the <a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink"><code>SurfaceHolder</code></a> that holds the <a href="https://developer.android.com/reference/android/view/Surface.html?is-external=true" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a> onto which video is being
|
|
rendered if it matches the one passed. Else does nothing.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>surfaceHolder</code> - The surface holder to clear.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="setVideoSurfaceView(android.view.SurfaceView)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setVideoSurfaceView</h4>
|
|
<pre class="methodSignature">public final void setVideoSurfaceView​(@Nullable
|
|
<a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceView</a> surfaceView)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setVideoSurfaceView(android.view.SurfaceView)">Player</a></code></span></div>
|
|
<div class="block">Sets the <a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>SurfaceView</code></a> onto which video will be rendered. The player will track the
|
|
lifecycle of the surface automatically.
|
|
|
|
<p>The thread that calls the <a href="https://developer.android.com/reference/android/view/SurfaceHolder.Callback.html" title="class or interface in android.view" class="externalLink" target="_top"><code>SurfaceHolder.Callback</code></a> methods must be the thread
|
|
associated with <a href="Player.html#getApplicationLooper()"><code>Player.getApplicationLooper()</code></a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>surfaceView</code> - The surface view.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="clearVideoSurfaceView(android.view.SurfaceView)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>clearVideoSurfaceView</h4>
|
|
<pre class="methodSignature">public final void clearVideoSurfaceView​(@Nullable
|
|
<a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceView</a> surfaceView)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#clearVideoSurfaceView(android.view.SurfaceView)">Player</a></code></span></div>
|
|
<div class="block">Clears the <a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>SurfaceView</code></a> onto which video is being rendered if it matches the one passed.
|
|
Else does nothing.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>surfaceView</code> - The texture view to clear.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="setVideoTextureView(android.view.TextureView)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setVideoTextureView</h4>
|
|
<pre class="methodSignature">public final void setVideoTextureView​(@Nullable
|
|
<a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top">TextureView</a> textureView)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setVideoTextureView(android.view.TextureView)">Player</a></code></span></div>
|
|
<div class="block">Sets the <a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>TextureView</code></a> onto which video will be rendered. The player will track the
|
|
lifecycle of the surface automatically.
|
|
|
|
<p>The thread that calls the <a href="https://developer.android.com/reference/android/view/TextureView.SurfaceTextureListener.html" title="class or interface in android.view" class="externalLink" target="_top"><code>TextureView.SurfaceTextureListener</code></a> methods must be the
|
|
thread associated with <a href="Player.html#getApplicationLooper()"><code>Player.getApplicationLooper()</code></a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>textureView</code> - The texture view.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="clearVideoTextureView(android.view.TextureView)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>clearVideoTextureView</h4>
|
|
<pre class="methodSignature">public final void clearVideoTextureView​(@Nullable
|
|
<a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top">TextureView</a> textureView)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#clearVideoTextureView(android.view.TextureView)">Player</a></code></span></div>
|
|
<div class="block">Clears the <a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>TextureView</code></a> onto which video is being rendered if it matches the one passed.
|
|
Else does nothing.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>textureView</code> - The texture view to clear.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getVideoSize()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getVideoSize</h4>
|
|
<pre class="methodSignature">public final <a href="video/VideoSize.html" title="class in com.google.android.exoplayer2.video">VideoSize</a> getVideoSize()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getVideoSize()">Player</a></code></span></div>
|
|
<div class="block">Gets the size of the video.
|
|
|
|
<p>The video's width and height are <code>0</code> if there is no video or its size has not been
|
|
determined yet.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onVideoSizeChanged(com.google.android.exoplayer2.video.VideoSize)"><code>Player.Listener.onVideoSizeChanged(VideoSize)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getSurfaceSize()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getSurfaceSize</h4>
|
|
<pre class="methodSignature">public final <a href="util/Size.html" title="class in com.google.android.exoplayer2.util">Size</a> getSurfaceSize()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getSurfaceSize()">Player</a></code></span></div>
|
|
<div class="block">Gets the size of the surface on which the video is rendered.</div>
|
|
<dl>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.Listener.html#onSurfaceSizeChanged(int,int)"><code>Player.Listener.onSurfaceSizeChanged(int, int)</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="getCurrentCues()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getCurrentCues</h4>
|
|
<pre class="methodSignature">public final <a href="text/CueGroup.html" title="class in com.google.android.exoplayer2.text">CueGroup</a> getCurrentCues()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getCurrentCues()">Player</a></code></span></div>
|
|
<div class="block">Returns the current <a href="text/CueGroup.html" title="class in com.google.android.exoplayer2.text"><code>CueGroup</code></a>.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getDeviceInfo()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getDeviceInfo</h4>
|
|
<pre class="methodSignature">public final <a href="DeviceInfo.html" title="class in com.google.android.exoplayer2">DeviceInfo</a> getDeviceInfo()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getDeviceInfo()">Player</a></code></span></div>
|
|
<div class="block">Gets the device information.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getDeviceVolume()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getDeviceVolume</h4>
|
|
<pre class="methodSignature">public final int getDeviceVolume()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#getDeviceVolume()">Player</a></code></span></div>
|
|
<div class="block">Gets the current volume of the device.
|
|
|
|
<p>For devices with <a href="DeviceInfo.html#PLAYBACK_TYPE_LOCAL"><code>local playback</code></a>, the volume returned
|
|
by this method varies according to the current <a href="C.StreamType.html" title="annotation in com.google.android.exoplayer2"><code>stream type</code></a>. The stream
|
|
type is determined by <a href="audio/AudioAttributes.html#usage"><code>AudioAttributes.usage</code></a> which can be converted to stream type with
|
|
<a href="util/Util.html#getStreamTypeForAudioUsage(@com.google.android.exoplayer2.C.AudioUsageint)"><code>Util.getStreamTypeForAudioUsage(int)</code></a>.
|
|
|
|
<p>For devices with <a href="DeviceInfo.html#PLAYBACK_TYPE_REMOTE"><code>remote playback</code></a>, the volume of the
|
|
remote device is returned.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="isDeviceMuted()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isDeviceMuted</h4>
|
|
<pre class="methodSignature">public final boolean isDeviceMuted()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#isDeviceMuted()">Player</a></code></span></div>
|
|
<div class="block">Gets whether the device is muted or not.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="setDeviceVolume(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setDeviceVolume</h4>
|
|
<pre class="methodSignature">public final void setDeviceVolume​(int volume)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setDeviceVolume(int)">Player</a></code></span></div>
|
|
<div class="block">Sets the volume of the device.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>volume</code> - The volume to set.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="increaseDeviceVolume()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>increaseDeviceVolume</h4>
|
|
<pre class="methodSignature">public final void increaseDeviceVolume()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#increaseDeviceVolume()">Player</a></code></span></div>
|
|
<div class="block">Increases the volume of the device.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="decreaseDeviceVolume()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>decreaseDeviceVolume</h4>
|
|
<pre class="methodSignature">public final void decreaseDeviceVolume()</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#decreaseDeviceVolume()">Player</a></code></span></div>
|
|
<div class="block">Decreases the volume of the device.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="setDeviceMuted(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setDeviceMuted</h4>
|
|
<pre class="methodSignature">public final void setDeviceMuted​(boolean muted)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Player.html#setDeviceMuted(boolean)">Player</a></code></span></div>
|
|
<div class="block">Sets the mute state of the device.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="invalidateState()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>invalidateState</h4>
|
|
<pre class="methodSignature">protected final void invalidateState()</pre>
|
|
<div class="block">Invalidates the current state.
|
|
|
|
<p>Triggers a call to <a href="#getState()"><code>getState()</code></a> and informs listeners if the state changed.
|
|
|
|
<p>Note that this may not have an immediate effect while there are still player methods being
|
|
handled asynchronously. The state will be invalidated automatically once these pending
|
|
synchronous operations are finished and there is no need to call this method again.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getState()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getState</h4>
|
|
<pre class="methodSignature">@ForOverride
|
|
protected abstract <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State</a> getState()</pre>
|
|
<div class="block">Returns the current <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State</code></a> of the player.
|
|
|
|
<p>The <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State</code></a> should include all <a href="SimpleBasePlayer.State.Builder.html#setAvailableCommands(com.google.android.exoplayer2.Player.Commands)">available commands</a> indicating which player
|
|
methods are allowed to be called.
|
|
|
|
<p>Note that this method won't be called while asynchronous handling of player methods is in
|
|
progress. This means that the implementation doesn't need to handle state changes caused by
|
|
these asynchronous operations until they are done and can return the currently known state
|
|
directly. The placeholder state used while these asynchronous operations are in progress can be
|
|
customized by overriding <a href="#getPlaceholderState(com.google.android.exoplayer2.SimpleBasePlayer.State)"><code>getPlaceholderState(State)</code></a> if required.</div>
|
|
</li>
|
|
</ul>
|
|
<a id="getPlaceholderState(com.google.android.exoplayer2.SimpleBasePlayer.State)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getPlaceholderState</h4>
|
|
<pre class="methodSignature">@ForOverride
|
|
protected <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State</a> getPlaceholderState​(<a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State</a> suggestedPlaceholderState)</pre>
|
|
<div class="block">Returns the placeholder state used while a player method is handled asynchronously.
|
|
|
|
<p>The <code>suggestedPlaceholderState</code> already contains the most likely state update, for
|
|
example setting <a href="SimpleBasePlayer.State.html#playWhenReady"><code>SimpleBasePlayer.State.playWhenReady</code></a> to true if <code>player.setPlayWhenReady(true)</code> is
|
|
called, and an implementations only needs to override this method if it can determine a more
|
|
accurate placeholder state.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>suggestedPlaceholderState</code> - The suggested placeholder <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State</code></a>, including the most
|
|
likely outcome of handling all pending asynchronous operations.</dd>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The placeholder <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State</code></a> to use while asynchronous operations are pending.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSetPlayWhenReady(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockListLast">
|
|
<li class="blockList">
|
|
<h4>handleSetPlayWhenReady</h4>
|
|
<pre class="methodSignature">@ForOverride
|
|
protected <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink">ListenableFuture</a><?> handleSetPlayWhenReady​(boolean playWhenReady)</pre>
|
|
<div class="block">Handles calls to set <a href="SimpleBasePlayer.State.html#playWhenReady"><code>SimpleBasePlayer.State.playWhenReady</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_PLAY_PAUSE"><code>Player.COMMAND_PLAY_PAUSE</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>playWhenReady</code> - The requested <a href="SimpleBasePlayer.State.html#playWhenReady"><code>SimpleBasePlayer.State.playWhenReady</code></a></dd>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>A <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink"><code>ListenableFuture</code></a> indicating the completion of all immediate <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State</code></a>
|
|
changes caused by this call.</dd>
|
|
<dt><span class="seeLabel">See Also:</span></dt>
|
|
<dd><a href="Player.html#setPlayWhenReady(boolean)"><code>Player.setPlayWhenReady(boolean)</code></a>,
|
|
<a href="Player.html#play()"><code>Player.play()</code></a>,
|
|
<a href="Player.html#pause()"><code>Player.pause()</code></a></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
<!-- ========= END OF CLASS DATA ========= -->
|
|
<footer role="contentinfo">
|
|
<nav role="navigation">
|
|
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
|
<div class="bottomNav"><a id="navbar.bottom">
|
|
<!-- -->
|
|
</a>
|
|
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
|
|
<a id="navbar.bottom.firstrow">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="navList" title="Navigation">
|
|
<li><a href="../../../../index.html">Overview</a></li>
|
|
<li><a href="package-summary.html">Package</a></li>
|
|
<li class="navBarCell1Rev">Class</li>
|
|
<li><a href="package-tree.html">Tree</a></li>
|
|
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
|
|
<li><a href="../../../../index-all.html">Index</a></li>
|
|
<li><a href="../../../../help-doc.html">Help</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="subNav">
|
|
<ul class="navList" id="allclasses_navbar_bottom">
|
|
<li><a href="../../../../allclasses.html">All Classes</a></li>
|
|
</ul>
|
|
<div>
|
|
<script type="text/javascript"><!--
|
|
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
|
if(window==top) {
|
|
allClassesLink.style.display = "block";
|
|
}
|
|
else {
|
|
allClassesLink.style.display = "none";
|
|
}
|
|
//-->
|
|
</script>
|
|
<noscript>
|
|
<div>JavaScript is disabled on your browser.</div>
|
|
</noscript>
|
|
</div>
|
|
<div>
|
|
<ul class="subNavList">
|
|
<li>Summary: </li>
|
|
<li><a href="#nested.class.summary">Nested</a> | </li>
|
|
<li><a href="#field.summary">Field</a> | </li>
|
|
<li><a href="#constructor.summary">Constr</a> | </li>
|
|
<li><a href="#method.summary">Method</a></li>
|
|
</ul>
|
|
<ul class="subNavList">
|
|
<li>Detail: </li>
|
|
<li>Field | </li>
|
|
<li><a href="#constructor.detail">Constr</a> | </li>
|
|
<li><a href="#method.detail">Method</a></li>
|
|
</ul>
|
|
</div>
|
|
<a id="skip.navbar.bottom">
|
|
<!-- -->
|
|
</a></div>
|
|
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
|
</nav>
|
|
</footer>
|
|
</body>
|
|
</html>
|