2849 lines
204 KiB
HTML
2849 lines
204 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":10,"i39":6,"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,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":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.MediaItemData.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.MediaItemData</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">An immutable description of an item in the playlist, containing both static setup information
|
|
like <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> and dynamic data that is generally read from the media like the
|
|
duration.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected static class </code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SimpleBasePlayer.PeriodData.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.PeriodData</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">Data describing the properties of a period inside a <a href="SimpleBasePlayer.MediaItemData.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.MediaItemData</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected static interface </code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SimpleBasePlayer.PositionSupplier.html" title="interface in com.google.android.exoplayer2">SimpleBasePlayer.PositionSupplier</a></span></code></th>
|
|
<td class="colLast">
|
|
<div class="block">A supplier for a position.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<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.MediaItemData.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.MediaItemData</a></code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlaceholderMediaItemData(com.google.android.exoplayer2.MediaItem)">getPlaceholderMediaItemData</a></span>​(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a> mediaItem)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Returns the placeholder <a href="SimpleBasePlayer.MediaItemData.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.MediaItemData</code></a> used for a new <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> added to the
|
|
playlist.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i28" class="altColor">
|
|
<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="i29" class="rowColor">
|
|
<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="i30" class="altColor">
|
|
<td class="colFirst"><code>@com.google.android.exoplayer2.Player.State 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">playback state</a> of the player.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i31" class="rowColor">
|
|
<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="i32" class="altColor">
|
|
<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="i33" class="rowColor">
|
|
<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="i34" class="altColor">
|
|
<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="i35" class="rowColor">
|
|
<td class="colFirst"><code>@com.google.android.exoplayer2.Player.RepeatMode 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="i36" class="altColor">
|
|
<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="i37" class="rowColor">
|
|
<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="i38" class="altColor">
|
|
<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="i39" class="rowColor">
|
|
<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="i40" class="altColor">
|
|
<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="i41" class="rowColor">
|
|
<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="i42" class="altColor">
|
|
<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="i43" class="rowColor">
|
|
<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="i44" class="altColor">
|
|
<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="i45" class="rowColor">
|
|
<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="#handleAddMediaItems(int,java.util.List)">handleAddMediaItems</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">Handles calls to <a href="Player.html#addMediaItem(com.google.android.exoplayer2.MediaItem)"><code>Player.addMediaItem(com.google.android.exoplayer2.MediaItem)</code></a> and <a href="Player.html#addMediaItems(java.util.List)"><code>Player.addMediaItems(java.util.List<com.google.android.exoplayer2.MediaItem>)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i46" 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="#handleClearVideoOutput(java.lang.Object)">handleClearVideoOutput</a></span>​(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> videoOutput)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to clear the video output.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i47" class="rowColor">
|
|
<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="#handleDecreaseDeviceVolume()">handleDecreaseDeviceVolume</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#decreaseDeviceVolume()"><code>Player.decreaseDeviceVolume()</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i48" 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="#handleIncreaseDeviceVolume()">handleIncreaseDeviceVolume</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#increaseDeviceVolume()"><code>Player.increaseDeviceVolume()</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i49" class="rowColor">
|
|
<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="#handleMoveMediaItems(int,int,int)">handleMoveMediaItems</a></span>​(int fromIndex,
|
|
int toIndex,
|
|
int newIndex)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#moveMediaItem(int,int)"><code>Player.moveMediaItem(int, int)</code></a> and <a href="Player.html#moveMediaItems(int,int,int)"><code>Player.moveMediaItems(int, int, int)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i50" 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="#handlePrepare()">handlePrepare</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#prepare()"><code>Player.prepare()</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i51" class="rowColor">
|
|
<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="#handleRelease()">handleRelease</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#release()"><code>Player.release()</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i52" 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="#handleRemoveMediaItems(int,int)">handleRemoveMediaItems</a></span>​(int fromIndex,
|
|
int toIndex)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#removeMediaItem(int)"><code>Player.removeMediaItem(int)</code></a> and <a href="Player.html#removeMediaItems(int,int)"><code>Player.removeMediaItems(int, int)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i53" class="rowColor">
|
|
<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="#handleSeek(int,long,@com.google.android.exoplayer2.Player.Commandint)">handleSeek</a></span>​(int mediaItemIndex,
|
|
long positionMs,
|
|
@com.google.android.exoplayer2.Player.Command int seekCommand)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#seekTo(long)"><code>Player.seekTo(long)</code></a> and other seek operations (for example, <a href="Player.html#seekToNext()"><code>Player.seekToNext()</code></a>).</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i54" 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="#handleSetDeviceMuted(boolean)">handleSetDeviceMuted</a></span>​(boolean muted)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#setDeviceMuted(boolean)"><code>Player.setDeviceMuted(boolean)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i55" class="rowColor">
|
|
<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="#handleSetDeviceVolume(int)">handleSetDeviceVolume</a></span>​(int deviceVolume)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#setDeviceVolume(int)"><code>Player.setDeviceVolume(int)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i56" 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="#handleSetMediaItems(java.util.List,int,long)">handleSetMediaItems</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">Handles calls to <a href="Player.html#setMediaItem(com.google.android.exoplayer2.MediaItem)"><code>Player.setMediaItem(com.google.android.exoplayer2.MediaItem)</code></a> and <a href="Player.html#setMediaItems(java.util.List)"><code>Player.setMediaItems(java.util.List<com.google.android.exoplayer2.MediaItem>)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i57" class="rowColor">
|
|
<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="#handleSetPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">handleSetPlaybackParameters</a></span>​(<a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a> playbackParameters)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)"><code>Player.setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)</code></a> or <a href="Player.html#setPlaybackSpeed(float)"><code>Player.setPlaybackSpeed(float)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i58" 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="#handleSetPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)">handleSetPlaylistMetadata</a></span>​(<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a> playlistMetadata)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)"><code>Player.setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i59" class="rowColor">
|
|
<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 <a href="Player.html#setPlayWhenReady(boolean)"><code>Player.setPlayWhenReady(boolean)</code></a>, <a href="Player.html#play()"><code>Player.play()</code></a> and <a href="Player.html#pause()"><code>Player.pause()</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i60" 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="#handleSetRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)">handleSetRepeatMode</a></span>​(@com.google.android.exoplayer2.Player.RepeatMode int repeatMode)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#setRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)"><code>Player.setRepeatMode(@com.google.android.exoplayer2.Player.RepeatMode int)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i61" class="rowColor">
|
|
<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="#handleSetShuffleModeEnabled(boolean)">handleSetShuffleModeEnabled</a></span>​(boolean shuffleModeEnabled)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#setShuffleModeEnabled(boolean)"><code>Player.setShuffleModeEnabled(boolean)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i62" 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="#handleSetTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)">handleSetTrackSelectionParameters</a></span>​(<a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a> trackSelectionParameters)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)"><code>Player.setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i63" class="rowColor">
|
|
<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="#handleSetVideoOutput(java.lang.Object)">handleSetVideoOutput</a></span>​(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> videoOutput)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to set the video output.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i64" 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="#handleSetVolume(float)">handleSetVolume</a></span>​(float volume)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#setVolume(float)"><code>Player.setVolume(float)</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i65" class="rowColor">
|
|
<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="#handleStop()">handleStop</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Handles calls to <a href="Player.html#stop()"><code>Player.stop()</code></a>.</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="#increaseDeviceVolume()">increaseDeviceVolume</a></span>()</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Increases the volume of the device.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i67" class="rowColor">
|
|
<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="i68" class="altColor">
|
|
<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="i69" class="rowColor">
|
|
<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="i70" class="altColor">
|
|
<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="i71" class="rowColor">
|
|
<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="i72" class="altColor">
|
|
<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="i73" class="rowColor">
|
|
<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="i74" class="altColor">
|
|
<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="i75" class="rowColor">
|
|
<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="i76" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekTo(int,long,@com.google.android.exoplayer2.Player.Commandint,boolean)">seekTo</a></span>​(int mediaItemIndex,
|
|
long positionMs,
|
|
@com.google.android.exoplayer2.Player.Command int seekCommand,
|
|
boolean isRepeatingCurrentItem)</code></th>
|
|
<td class="colLast">
|
|
<div class="block">Seeks to a position in the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i77" class="rowColor">
|
|
<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="i78" class="altColor">
|
|
<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="i79" class="rowColor">
|
|
<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">media items</a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i80" class="altColor">
|
|
<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">media items</a>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr id="i81" class="rowColor">
|
|
<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="i82" class="altColor">
|
|
<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="i83" class="rowColor">
|
|
<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="i84" class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)">setRepeatMode</a></span>​(@com.google.android.exoplayer2.Player.RepeatMode 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="i85" class="rowColor">
|
|
<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="i86" class="altColor">
|
|
<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="i87" class="rowColor">
|
|
<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="i88" class="altColor">
|
|
<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="i89" class="rowColor">
|
|
<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="i90" class="altColor">
|
|
<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="i91" class="rowColor">
|
|
<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="i92" class="altColor">
|
|
<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="i93" class="rowColor">
|
|
<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#seekBack()">seekBack</a>, <a href="BasePlayer.html#seekForward()">seekForward</a>, <a href="BasePlayer.html#seekTo(int,long)">seekTo</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>.
|
|
|
|
<p>This method can be called from any thread.</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.
|
|
|
|
<p>This method can be called from any thread.</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.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_PLAY_PAUSE"><code>Player.COMMAND_PLAY_PAUSE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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">media items</a>.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_CHANGE_MEDIA_ITEMS"><code>Player.COMMAND_CHANGE_MEDIA_ITEMS</code></a> is <a href="Player.html#getAvailableCommands()">available</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">media items</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">media items</a>.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_CHANGE_MEDIA_ITEMS"><code>Player.COMMAND_CHANGE_MEDIA_ITEMS</code></a> is <a href="Player.html#getAvailableCommands()">available</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">media items</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_CHANGE_MEDIA_ITEMS"><code>Player.COMMAND_CHANGE_MEDIA_ITEMS</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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">media items</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_CHANGE_MEDIA_ITEMS"><code>Player.COMMAND_CHANGE_MEDIA_ITEMS</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>fromIndex</code> - The start of the range to move. If the index is larger than the size of the
|
|
playlist, the request is ignored.</dd>
|
|
<dd><code>toIndex</code> - The first item not to be included in the range (exclusive). If the index is
|
|
larger than the size of the playlist, items up to the end of the playlist are moved.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_CHANGE_MEDIA_ITEMS"><code>Player.COMMAND_CHANGE_MEDIA_ITEMS</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>fromIndex</code> - The index at which to start removing media items. If the index is larger than
|
|
the size of the playlist, the request is ignored.</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 up 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 method must only be called if <a href="Player.html#COMMAND_PREPARE"><code>Player.COMMAND_PREPARE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.
|
|
|
|
<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"><a href="Player.State.html" title="annotation in com.google.android.exoplayer2">@State</a>
|
|
public final @com.google.android.exoplayer2.Player.State 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">playback state</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">playback state</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>Player.PlaybackSuppressionReason</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(@com.google.android.exoplayer2.Player.RepeatModeint)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setRepeatMode</h4>
|
|
<pre class="methodSignature">public final void setRepeatMode​(<a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2">@RepeatMode</a>
|
|
@com.google.android.exoplayer2.Player.RepeatMode 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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_REPEAT_MODE"><code>Player.COMMAND_SET_REPEAT_MODE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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"><a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2">@RepeatMode</a>
|
|
public final @com.google.android.exoplayer2.Player.RepeatMode 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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_SHUFFLE_MODE"><code>Player.COMMAND_SET_SHUFFLE_MODE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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,@com.google.android.exoplayer2.Player.Commandint,boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>seekTo</h4>
|
|
<pre class="methodSignature">public final void seekTo​(int mediaItemIndex,
|
|
long positionMs,
|
|
<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
|
|
@com.google.android.exoplayer2.Player.Command int seekCommand,
|
|
boolean isRepeatingCurrentItem)</pre>
|
|
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="BasePlayer.html#seekTo(int,long,@com.google.android.exoplayer2.Player.Commandint,boolean)">BasePlayer</a></code></span></div>
|
|
<div class="block">Seeks to a position in the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
|
|
<dl>
|
|
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
|
|
<dd><code><a href="BasePlayer.html#seekTo(int,long,@com.google.android.exoplayer2.Player.Commandint,boolean)">seekTo</a></code> in class <code><a href="BasePlayer.html" title="class in com.google.android.exoplayer2">BasePlayer</a></code></dd>
|
|
<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> in milliseconds, or
|
|
<a href="C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> to seek to the media item's default position.</dd>
|
|
<dd><code>seekCommand</code> - The <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a> used to trigger the seek.</dd>
|
|
<dd><code>isRepeatingCurrentItem</code> - Whether this seeks repeats the current item.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_SPEED_AND_PITCH"><code>Player.COMMAND_SET_SPEED_AND_PITCH</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_STOP"><code>Player.COMMAND_STOP</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_TRACKS"><code>Player.COMMAND_GET_TRACKS</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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>
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_TRACK_SELECTION_PARAMETERS"><code>Player.COMMAND_SET_TRACK_SELECTION_PARAMETERS</code></a> is
|
|
<a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_MEDIA_ITEMS_METADATA"><code>Player.COMMAND_GET_MEDIA_ITEMS_METADATA</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_MEDIA_ITEMS_METADATA"><code>Player.COMMAND_GET_MEDIA_ITEMS_METADATA</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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>.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_MEDIA_ITEMS_METADATA"><code>Player.COMMAND_SET_MEDIA_ITEMS_METADATA</code></a> is <a href="Player.html#getAvailableCommands()">available</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_TIMELINE"><code>Player.COMMAND_GET_TIMELINE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_TIMELINE"><code>Player.COMMAND_GET_TIMELINE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_TIMELINE"><code>Player.COMMAND_GET_TIMELINE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_CURRENT_MEDIA_ITEM"><code>Player.COMMAND_GET_CURRENT_MEDIA_ITEM</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_CURRENT_MEDIA_ITEM"><code>Player.COMMAND_GET_CURRENT_MEDIA_ITEM</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_CURRENT_MEDIA_ITEM"><code>Player.COMMAND_GET_CURRENT_MEDIA_ITEM</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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">media items</a>.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_CURRENT_MEDIA_ITEM"><code>Player.COMMAND_GET_CURRENT_MEDIA_ITEM</code></a> is <a href="Player.html#getAvailableCommands()">available</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_CURRENT_MEDIA_ITEM"><code>Player.COMMAND_GET_CURRENT_MEDIA_ITEM</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_CURRENT_MEDIA_ITEM"><code>Player.COMMAND_GET_CURRENT_MEDIA_ITEM</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_CURRENT_MEDIA_ITEM"><code>Player.COMMAND_GET_CURRENT_MEDIA_ITEM</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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>.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_CURRENT_MEDIA_ITEM"><code>Player.COMMAND_GET_CURRENT_MEDIA_ITEM</code></a> is <a href="Player.html#getAvailableCommands()">available</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>.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_CURRENT_MEDIA_ITEM"><code>Player.COMMAND_GET_CURRENT_MEDIA_ITEM</code></a> is <a href="Player.html#getAvailableCommands()">available</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_AUDIO_ATTRIBUTES"><code>Player.COMMAND_GET_AUDIO_ATTRIBUTES</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_VOLUME"><code>Player.COMMAND_SET_VOLUME</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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).
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_VOLUME"><code>Player.COMMAND_GET_VOLUME</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The linear gain applied to all audio channels.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_VIDEO_SURFACE"><code>Player.COMMAND_SET_VIDEO_SURFACE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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>.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_VIDEO_SURFACE"><code>Player.COMMAND_SET_VIDEO_SURFACE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>surfaceHolder</code> - The surface holder.</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>.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_VIDEO_SURFACE"><code>Player.COMMAND_SET_VIDEO_SURFACE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>surfaceView</code> - The surface view.</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>.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_VIDEO_SURFACE"><code>Player.COMMAND_SET_VIDEO_SURFACE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>textureView</code> - The texture view.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_VIDEO_SURFACE"><code>Player.COMMAND_SET_VIDEO_SURFACE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_VIDEO_SURFACE"><code>Player.COMMAND_SET_VIDEO_SURFACE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>surface</code> - The surface to clear.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_VIDEO_SURFACE"><code>Player.COMMAND_SET_VIDEO_SURFACE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>surfaceHolder</code> - The surface holder to clear.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_VIDEO_SURFACE"><code>Player.COMMAND_SET_VIDEO_SURFACE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>surfaceView</code> - The texture view to clear.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_VIDEO_SURFACE"><code>Player.COMMAND_SET_VIDEO_SURFACE</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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>.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_TEXT"><code>Player.COMMAND_GET_TEXT</code></a> is <a href="Player.html#getAvailableCommands()">available</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_DEVICE_VOLUME"><code>Player.COMMAND_GET_DEVICE_VOLUME</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_GET_DEVICE_VOLUME"><code>Player.COMMAND_GET_DEVICE_VOLUME</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_SET_DEVICE_VOLUME"><code>Player.COMMAND_SET_DEVICE_VOLUME</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_ADJUST_DEVICE_VOLUME"><code>Player.COMMAND_ADJUST_DEVICE_VOLUME</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_ADJUST_DEVICE_VOLUME"><code>Player.COMMAND_ADJUST_DEVICE_VOLUME</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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.
|
|
|
|
<p>This method must only be called if <a href="Player.html#COMMAND_ADJUST_DEVICE_VOLUME"><code>Player.COMMAND_ADJUST_DEVICE_VOLUME</code></a> is <a href="Player.html#getAvailableCommands()">available</a>.</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="getPlaceholderMediaItemData(com.google.android.exoplayer2.MediaItem)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getPlaceholderMediaItemData</h4>
|
|
<pre class="methodSignature">@ForOverride
|
|
protected <a href="SimpleBasePlayer.MediaItemData.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.MediaItemData</a> getPlaceholderMediaItemData​(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a> mediaItem)</pre>
|
|
<div class="block">Returns the placeholder <a href="SimpleBasePlayer.MediaItemData.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.MediaItemData</code></a> used for a new <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> added to the
|
|
playlist.
|
|
|
|
<p>An implementation only needs to override this method if it can determine a more accurate
|
|
placeholder state than the default.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>mediaItem</code> - The <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> added to the playlist.</dd>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>The <a href="SimpleBasePlayer.MediaItemData.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.MediaItemData</code></a> used as placeholder while adding the item to the playlist is
|
|
in progress.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSetPlayWhenReady(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<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 <a href="Player.html#setPlayWhenReady(boolean)"><code>Player.setPlayWhenReady(boolean)</code></a>, <a href="Player.html#play()"><code>Player.play()</code></a> and <a href="Player.html#pause()"><code>Player.pause()</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handlePrepare()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handlePrepare</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><?> handlePrepare()</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#prepare()"><code>Player.prepare()</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_PREPARE"><code>Player.COMMAND_PREPARE</code></a> is available.</div>
|
|
<dl>
|
|
<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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleStop()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleStop</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><?> handleStop()</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#stop()"><code>Player.stop()</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_STOP"><code>Player.COMMAND_STOP</code></a> is available.</div>
|
|
<dl>
|
|
<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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleRelease()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleRelease</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><?> handleRelease()</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#release()"><code>Player.release()</code></a>.</div>
|
|
<dl>
|
|
<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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSetRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleSetRepeatMode</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><?> handleSetRepeatMode​(<a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2">@RepeatMode</a>
|
|
@com.google.android.exoplayer2.Player.RepeatMode int repeatMode)</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#setRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)"><code>Player.setRepeatMode(@com.google.android.exoplayer2.Player.RepeatMode int)</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_SET_REPEAT_MODE"><code>Player.COMMAND_SET_REPEAT_MODE</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>repeatMode</code> - The requested <a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2"><code>Player.RepeatMode</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSetShuffleModeEnabled(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleSetShuffleModeEnabled</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><?> handleSetShuffleModeEnabled​(boolean shuffleModeEnabled)</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#setShuffleModeEnabled(boolean)"><code>Player.setShuffleModeEnabled(boolean)</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_SET_SHUFFLE_MODE"><code>Player.COMMAND_SET_SHUFFLE_MODE</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>shuffleModeEnabled</code> - Whether shuffle mode was requested to be enabled.</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSetPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleSetPlaybackParameters</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><?> handleSetPlaybackParameters​(<a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a> playbackParameters)</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)"><code>Player.setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)</code></a> or <a href="Player.html#setPlaybackSpeed(float)"><code>Player.setPlaybackSpeed(float)</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_SET_SPEED_AND_PITCH"><code>Player.COMMAND_SET_SPEED_AND_PITCH</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>playbackParameters</code> - The requested <a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2"><code>PlaybackParameters</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSetTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleSetTrackSelectionParameters</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><?> handleSetTrackSelectionParameters​(<a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a> trackSelectionParameters)</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)"><code>Player.setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_SET_TRACK_SELECTION_PARAMETERS"><code>Player.COMMAND_SET_TRACK_SELECTION_PARAMETERS</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>trackSelectionParameters</code> - The requested <a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection"><code>TrackSelectionParameters</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSetPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleSetPlaylistMetadata</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><?> handleSetPlaylistMetadata​(<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a> playlistMetadata)</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)"><code>Player.setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_SET_MEDIA_ITEMS_METADATA"><code>Player.COMMAND_SET_MEDIA_ITEMS_METADATA</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>playlistMetadata</code> - The requested <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">playlist metadata</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSetVolume(float)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleSetVolume</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><?> handleSetVolume​(@FloatRange(from=0.0,to=1.0)
|
|
float volume)</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#setVolume(float)"><code>Player.setVolume(float)</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_SET_VOLUME"><code>Player.COMMAND_SET_VOLUME</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>volume</code> - The requested audio volume, with 0 being silence and 1 being unity gain (signal
|
|
unchanged).</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSetDeviceVolume(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleSetDeviceVolume</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><?> handleSetDeviceVolume​(@IntRange(from=0L)
|
|
int deviceVolume)</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#setDeviceVolume(int)"><code>Player.setDeviceVolume(int)</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_SET_DEVICE_VOLUME"><code>Player.COMMAND_SET_DEVICE_VOLUME</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>deviceVolume</code> - The requested device volume.</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleIncreaseDeviceVolume()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleIncreaseDeviceVolume</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><?> handleIncreaseDeviceVolume()</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#increaseDeviceVolume()"><code>Player.increaseDeviceVolume()</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_ADJUST_DEVICE_VOLUME"><code>Player.COMMAND_ADJUST_DEVICE_VOLUME</code></a> is available.</div>
|
|
<dl>
|
|
<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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleDecreaseDeviceVolume()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleDecreaseDeviceVolume</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><?> handleDecreaseDeviceVolume()</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#decreaseDeviceVolume()"><code>Player.decreaseDeviceVolume()</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_ADJUST_DEVICE_VOLUME"><code>Player.COMMAND_ADJUST_DEVICE_VOLUME</code></a> is available.</div>
|
|
<dl>
|
|
<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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSetDeviceMuted(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleSetDeviceMuted</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><?> handleSetDeviceMuted​(boolean muted)</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#setDeviceMuted(boolean)"><code>Player.setDeviceMuted(boolean)</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_ADJUST_DEVICE_VOLUME"><code>Player.COMMAND_ADJUST_DEVICE_VOLUME</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>muted</code> - Whether the device was requested to be muted.</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSetVideoOutput(java.lang.Object)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleSetVideoOutput</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><?> handleSetVideoOutput​(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> videoOutput)</pre>
|
|
<div class="block">Handles calls to set the video output.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_SET_VIDEO_SURFACE"><code>Player.COMMAND_SET_VIDEO_SURFACE</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>videoOutput</code> - The requested video output. This is either a <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/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/SurfaceView.html?is-external=true" title="class or interface in android.view" class="externalLink" target="_top"><code>SurfaceView</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleClearVideoOutput(java.lang.Object)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleClearVideoOutput</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><?> handleClearVideoOutput​(@Nullable
|
|
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> videoOutput)</pre>
|
|
<div class="block">Handles calls to clear the video output.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_SET_VIDEO_SURFACE"><code>Player.COMMAND_SET_VIDEO_SURFACE</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>videoOutput</code> - The video output to clear. If null any current output should be cleared. If
|
|
non-null, the output should only be cleared if it matches the provided argument. This is
|
|
either a <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/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/SurfaceView.html?is-external=true" title="class or interface in android.view" class="externalLink" target="_top"><code>SurfaceView</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSetMediaItems(java.util.List,int,long)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleSetMediaItems</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><?> handleSetMediaItems​(<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">Handles calls to <a href="Player.html#setMediaItem(com.google.android.exoplayer2.MediaItem)"><code>Player.setMediaItem(com.google.android.exoplayer2.MediaItem)</code></a> and <a href="Player.html#setMediaItems(java.util.List)"><code>Player.setMediaItems(java.util.List<com.google.android.exoplayer2.MediaItem>)</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_SET_MEDIA_ITEM"><code>Player.COMMAND_SET_MEDIA_ITEM</code></a> or <a href="Player.html#COMMAND_CHANGE_MEDIA_ITEMS"><code>Player.COMMAND_CHANGE_MEDIA_ITEMS</code></a> is available. If only <a href="Player.html#COMMAND_SET_MEDIA_ITEM"><code>Player.COMMAND_SET_MEDIA_ITEM</code></a>
|
|
is available, the list of media items will always contain exactly one item.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>mediaItems</code> - The media items to add.</dd>
|
|
<dd><code>startIndex</code> - The index at which to start playback from, or <a href="C.html#INDEX_UNSET"><code>C.INDEX_UNSET</code></a> to start
|
|
at the default item.</dd>
|
|
<dd><code>startPositionMs</code> - The position in milliseconds to start playback from, or <a href="C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> to start at the default position in the media item.</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleAddMediaItems(int,java.util.List)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleAddMediaItems</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><?> handleAddMediaItems​(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">Handles calls to <a href="Player.html#addMediaItem(com.google.android.exoplayer2.MediaItem)"><code>Player.addMediaItem(com.google.android.exoplayer2.MediaItem)</code></a> and <a href="Player.html#addMediaItems(java.util.List)"><code>Player.addMediaItems(java.util.List<com.google.android.exoplayer2.MediaItem>)</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_CHANGE_MEDIA_ITEMS"><code>Player.COMMAND_CHANGE_MEDIA_ITEMS</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>index</code> - The index at which to add the items. The index is in the range 0 <= <code>
|
|
index</code> <= <a href="BasePlayer.html#getMediaItemCount()"><code>BasePlayer.getMediaItemCount()</code></a>.</dd>
|
|
<dd><code>mediaItems</code> - The media items to add.</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleMoveMediaItems(int,int,int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleMoveMediaItems</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><?> handleMoveMediaItems​(int fromIndex,
|
|
int toIndex,
|
|
int newIndex)</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#moveMediaItem(int,int)"><code>Player.moveMediaItem(int, int)</code></a> and <a href="Player.html#moveMediaItems(int,int,int)"><code>Player.moveMediaItems(int, int, int)</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_CHANGE_MEDIA_ITEMS"><code>Player.COMMAND_CHANGE_MEDIA_ITEMS</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>fromIndex</code> - The start index of the items to move. The index is in the range 0 <= <code>
|
|
fromIndex</code> < <a href="BasePlayer.html#getMediaItemCount()"><code>BasePlayer.getMediaItemCount()</code></a>.</dd>
|
|
<dd><code>toIndex</code> - The index of the first item not to be included in the move (exclusive). The
|
|
index is in the range <code>fromIndex</code> < <code>toIndex</code> <= <a href="BasePlayer.html#getMediaItemCount()"><code>BasePlayer.getMediaItemCount()</code></a>.</dd>
|
|
<dd><code>newIndex</code> - The new index of the first moved item. The index is in the range <code>0</code>
|
|
<= <code>newIndex</code> < <a href="BasePlayer.html#getMediaItemCount()"><code>- (toIndex - fromIndex)</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleRemoveMediaItems(int,int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>handleRemoveMediaItems</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><?> handleRemoveMediaItems​(int fromIndex,
|
|
int toIndex)</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#removeMediaItem(int)"><code>Player.removeMediaItem(int)</code></a> and <a href="Player.html#removeMediaItems(int,int)"><code>Player.removeMediaItems(int, int)</code></a>.
|
|
|
|
<p>Will only be called if <a href="Player.html#COMMAND_CHANGE_MEDIA_ITEMS"><code>Player.COMMAND_CHANGE_MEDIA_ITEMS</code></a> is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>fromIndex</code> - The index at which to start removing media items. The index is in the range 0
|
|
<= <code>fromIndex</code> < <a href="BasePlayer.html#getMediaItemCount()"><code>BasePlayer.getMediaItemCount()</code></a>.</dd>
|
|
<dd><code>toIndex</code> - The index of the first item to be kept (exclusive). The index is in the range
|
|
<code>fromIndex</code> < <code>toIndex</code> <= <a href="BasePlayer.html#getMediaItemCount()"><code>BasePlayer.getMediaItemCount()</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>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a id="handleSeek(int,long,@com.google.android.exoplayer2.Player.Commandint)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockListLast">
|
|
<li class="blockList">
|
|
<h4>handleSeek</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><?> handleSeek​(int mediaItemIndex,
|
|
long positionMs,
|
|
<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
|
|
@com.google.android.exoplayer2.Player.Command int seekCommand)</pre>
|
|
<div class="block">Handles calls to <a href="Player.html#seekTo(long)"><code>Player.seekTo(long)</code></a> and other seek operations (for example, <a href="Player.html#seekToNext()"><code>Player.seekToNext()</code></a>).
|
|
|
|
<p>Will only be called if the appropriate <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a>, for example <a href="Player.html#COMMAND_SEEK_TO_MEDIA_ITEM"><code>Player.COMMAND_SEEK_TO_MEDIA_ITEM</code></a> or <a href="Player.html#COMMAND_SEEK_TO_NEXT"><code>Player.COMMAND_SEEK_TO_NEXT</code></a>, is available.</div>
|
|
<dl>
|
|
<dt><span class="paramLabel">Parameters:</span></dt>
|
|
<dd><code>mediaItemIndex</code> - The media item index to seek to. The index is in the range 0 <= <code>
|
|
mediaItemIndex</code> < <code>mediaItems.size()</code>.</dd>
|
|
<dd><code>positionMs</code> - The position in milliseconds to start playback from, or <a href="C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a>
|
|
to start at the default position in the media item.</dd>
|
|
<dd><code>seekCommand</code> - The <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a> used to trigger the seek.</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>
|
|
</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>
|