bachinger 3da5ab74b9 Update JavaDoc
#minor-release

PiperOrigin-RevId: 455361427
(cherry picked from commit 87420fcdabbe362d571edfd09f3128b6bb3ae873)
2022-06-16 13:04:43 +00:00

707 lines
33 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>Tracks.Group (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="Tracks.Group (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};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance 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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</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">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2</a></div>
<h2 title="Class Tracks.Group" class="title">Class Tracks.Group</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>com.google.android.exoplayer2.Tracks.Group</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="Bundleable.html" title="interface in com.google.android.exoplayer2">Bundleable</a></code></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="Tracks.html" title="class in com.google.android.exoplayer2">Tracks</a></dd>
</dl>
<hr>
<pre>public static final class <span class="typeNameLabel">Tracks.Group</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="Bundleable.html" title="interface in com.google.android.exoplayer2">Bundleable</a></pre>
<div class="block">Information about a single group of tracks, including the underlying <a href="source/TrackGroup.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroup</code></a>, the
level to which each track is supported by the player, and whether any of the tracks are
selected.</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>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.com.google.android.exoplayer2.Bundleable">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;com.google.android.exoplayer2.<a href="Bundleable.html" title="interface in com.google.android.exoplayer2">Bundleable</a></h3>
<code><a href="Bundleable.Creator.html" title="interface in com.google.android.exoplayer2">Bundleable.Creator</a>&lt;<a href="Bundleable.Creator.html" title="type parameter in Bundleable.Creator">T</a> extends <a href="Bundleable.html" title="interface in com.google.android.exoplayer2">Bundleable</a>&gt;</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>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="Bundleable.Creator.html" title="interface in com.google.android.exoplayer2">Bundleable.Creator</a>&lt;<a href="Tracks.Group.html" title="class in com.google.android.exoplayer2">Tracks.Group</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CREATOR">CREATOR</a></span></code></th>
<td class="colLast">
<div class="block">Object that can restore a group of tracks from a <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundle</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#length">length</a></span></code></th>
<td class="colLast">
<div class="block">The number of tracks in the group.</div>
</td>
</tr>
</table>
</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">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(com.google.android.exoplayer2.source.TrackGroup,boolean,@com.google.android.exoplayer2.C.FormatSupportint%5B%5D,boolean%5B%5D)">Group</a></span>&#8203;(<a href="source/TrackGroup.html" title="class in com.google.android.exoplayer2.source">TrackGroup</a>&nbsp;mediaTrackGroup,
boolean&nbsp;adaptiveSupported,
@com.google.android.exoplayer2.C.FormatSupport int[]&nbsp;trackSupport,
boolean[]&nbsp;trackSelected)</code></th>
<td class="colLast">
<div class="block">Constructs an instance.</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">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</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>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;other)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="source/TrackGroup.html" title="class in com.google.android.exoplayer2.source">TrackGroup</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMediaTrackGroup()">getMediaTrackGroup</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the underlying <a href="source/TrackGroup.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroup</code></a> defined by the media.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="Format.html" title="class in com.google.android.exoplayer2">Format</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackFormat(int)">getTrackFormat</a></span>&#8203;(int&nbsp;trackIndex)</code></th>
<td class="colLast">
<div class="block">Returns the <a href="Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a> for a specified track.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>@com.google.android.exoplayer2.C.FormatSupport int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSupport(int)">getTrackSupport</a></span>&#8203;(int&nbsp;trackIndex)</code></th>
<td class="colLast">
<div class="block">Returns the level of support for a specified track.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>@com.google.android.exoplayer2.C.TrackType int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getType()">getType</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the <a href="C.TrackType.html" title="annotation in com.google.android.exoplayer2"><code>C.TrackType</code></a> of the group.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAdaptiveSupported()">isAdaptiveSupported</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether adaptive selections containing more than one track are supported.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSelected()">isSelected</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether at least one track in the group is selected for playback.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSupported()">isSupported</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether at least one track in the group is supported for playback, without exceeding
the advertised capabilities of the device.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSupported(boolean)">isSupported</a></span>&#8203;(boolean&nbsp;allowExceedsCapabilities)</code></th>
<td class="colLast">
<div class="block">Returns whether at least one track in the group is supported for playback.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isTrackSelected(int)">isTrackSelected</a></span>&#8203;(int&nbsp;trackIndex)</code></th>
<td class="colLast">
<div class="block">Returns whether a specified track is selected for playback.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isTrackSupported(int)">isTrackSupported</a></span>&#8203;(int&nbsp;trackIndex)</code></th>
<td class="colLast">
<div class="block">Returns whether a specified track is supported for playback, without exceeding the advertised
capabilities of the device.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isTrackSupported(int,boolean)">isTrackSupported</a></span>&#8203;(int&nbsp;trackIndex,
boolean&nbsp;allowExceedsCapabilities)</code></th>
<td class="colLast">
<div class="block">Returns whether a specified track is supported for playback.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toBundle()">toBundle</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundle</code></a> representing the information stored in this object.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;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#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#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">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="length">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>length</h4>
<pre>public final&nbsp;int length</pre>
<div class="block">The number of tracks in the group.</div>
</li>
</ul>
<a id="CREATOR">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CREATOR</h4>
<pre>public static final&nbsp;<a href="Bundleable.Creator.html" title="interface in com.google.android.exoplayer2">Bundleable.Creator</a>&lt;<a href="Tracks.Group.html" title="class in com.google.android.exoplayer2">Tracks.Group</a>&gt; CREATOR</pre>
<div class="block">Object that can restore a group of tracks from a <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundle</code></a>.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(com.google.android.exoplayer2.source.TrackGroup,boolean,@com.google.android.exoplayer2.C.FormatSupportint[],boolean[])">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Group</h4>
<pre>public&nbsp;Group&#8203;(<a href="source/TrackGroup.html" title="class in com.google.android.exoplayer2.source">TrackGroup</a>&nbsp;mediaTrackGroup,
boolean&nbsp;adaptiveSupported,
<a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">@FormatSupport</a>
@com.google.android.exoplayer2.C.FormatSupport int[]&nbsp;trackSupport,
boolean[]&nbsp;trackSelected)</pre>
<div class="block">Constructs an instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mediaTrackGroup</code> - The underlying <a href="source/TrackGroup.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroup</code></a> defined by the media.</dd>
<dd><code>adaptiveSupported</code> - Whether the player supports adaptive selections containing more than
one track in the group.</dd>
<dd><code>trackSupport</code> - The <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> of each track in the group.</dd>
<dd><code>trackSelected</code> - Whether each track in the <code>trackGroup</code> is selected.</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="getMediaTrackGroup()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMediaTrackGroup</h4>
<pre class="methodSignature">public&nbsp;<a href="source/TrackGroup.html" title="class in com.google.android.exoplayer2.source">TrackGroup</a>&nbsp;getMediaTrackGroup()</pre>
<div class="block">Returns the underlying <a href="source/TrackGroup.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroup</code></a> defined by the media.
<p>Unlike this class, <a href="source/TrackGroup.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroup</code></a> only contains information defined by the media
itself, and does not contain runtime information such as which tracks are supported and
currently selected. This makes it suitable for use as a <code>key</code> in certain <code>(key,
value)</code> data structures.</div>
</li>
</ul>
<a id="getTrackFormat(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrackFormat</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;getTrackFormat&#8203;(int&nbsp;trackIndex)</pre>
<div class="block">Returns the <a href="Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a> for a specified track.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>trackIndex</code> - The index of the track in the group.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <a href="Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a> of the track.</dd>
</dl>
</li>
</ul>
<a id="getTrackSupport(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrackSupport</h4>
<pre class="methodSignature"><a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">@FormatSupport</a>
public&nbsp;@com.google.android.exoplayer2.C.FormatSupport int&nbsp;getTrackSupport&#8203;(int&nbsp;trackIndex)</pre>
<div class="block">Returns the level of support for a specified track.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>trackIndex</code> - The index of the track in the group.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> of the track.</dd>
</dl>
</li>
</ul>
<a id="isTrackSupported(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTrackSupported</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isTrackSupported&#8203;(int&nbsp;trackIndex)</pre>
<div class="block">Returns whether a specified track is supported for playback, without exceeding the advertised
capabilities of the device. Equivalent to <code>isTrackSupported(trackIndex, false)</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>trackIndex</code> - The index of the track in the group.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the track's format can be played, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="isTrackSupported(int,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTrackSupported</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isTrackSupported&#8203;(int&nbsp;trackIndex,
boolean&nbsp;allowExceedsCapabilities)</pre>
<div class="block">Returns whether a specified track is supported for playback.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>trackIndex</code> - The index of the track in the group.</dd>
<dd><code>allowExceedsCapabilities</code> - Whether to consider the track as supported if it has a
supported <a href="Format.html#sampleMimeType"><code>MIME type</code></a>, but otherwise exceeds the advertised
capabilities of the device. For example, a video track for which there's a corresponding
decoder whose maximum advertised resolution is exceeded by the resolution of the track.
Such tracks may be playable in some cases.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the track's format can be played, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="isSelected()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSelected</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isSelected()</pre>
<div class="block">Returns whether at least one track in the group is selected for playback.</div>
</li>
</ul>
<a id="isAdaptiveSupported()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAdaptiveSupported</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isAdaptiveSupported()</pre>
<div class="block">Returns whether adaptive selections containing more than one track are supported.</div>
</li>
</ul>
<a id="isSupported()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSupported</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isSupported()</pre>
<div class="block">Returns whether at least one track in the group is supported for playback, without exceeding
the advertised capabilities of the device. Equivalent to <code>isSupported(false)</code>.</div>
</li>
</ul>
<a id="isSupported(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSupported</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isSupported&#8203;(boolean&nbsp;allowExceedsCapabilities)</pre>
<div class="block">Returns whether at least one track in the group is supported for playback.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>allowExceedsCapabilities</code> - Whether to consider a track as supported if it has a
supported <a href="Format.html#sampleMimeType"><code>MIME type</code></a>, but otherwise exceeds the advertised
capabilities of the device. For example, a video track for which there's a corresponding
decoder whose maximum advertised resolution is exceeded by the resolution of the track.
Such tracks may be playable in some cases.</dd>
</dl>
</li>
</ul>
<a id="isTrackSelected(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTrackSelected</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isTrackSelected&#8203;(int&nbsp;trackIndex)</pre>
<div class="block">Returns whether a specified track is selected for playback.
<p>Note that multiple tracks in the group may be selected. This is common in adaptive
streaming, where tracks of different qualities are selected and the player switches between
them during playback (e.g., based on the available network bandwidth).
<p>This class doesn't provide a way to determine which of the selected tracks is currently
playing, however some player implementations have ways of getting such information. For
example, ExoPlayer provides this information via <code>ExoTrackSelection.getSelectedFormat</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>trackIndex</code> - The index of the track in the group.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the track is selected, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="getType()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getType</h4>
<pre class="methodSignature">public&nbsp;@com.google.android.exoplayer2.C.TrackType int&nbsp;getType()</pre>
<div class="block">Returns the <a href="C.TrackType.html" title="annotation in com.google.android.exoplayer2"><code>C.TrackType</code></a> of the group.</div>
</li>
</ul>
<a id="equals(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(@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>&nbsp;other)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></code></dd>
</dl>
</li>
</ul>
<a id="hashCode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></code></dd>
</dl>
</li>
</ul>
<a id="toBundle()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toBundle</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;toBundle()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Bundleable.html#toBundle()">Bundleable</a></code></span></div>
<div class="block">Returns a <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundle</code></a> representing the information stored in this object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Bundleable.html#toBundle()">toBundle</a></code>&nbsp;in interface&nbsp;<code><a href="Bundleable.html" title="interface in com.google.android.exoplayer2">Bundleable</a></code></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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</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>