1<!DOCTYPE HTML>
2<!-- NewPage -->
3<html lang="en">
4<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 -->
5<title>DefaultAudioSink.Builder (ExoPlayer library)</title>
6<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
8<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
9<script type="text/javascript" src="../../../../../script.js"></script>
10<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
11<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
12<!--[if IE]>
13<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
14<![endif]-->
15<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
16<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
17</head>
18<body>
19<script type="text/javascript"><!--
20    try {
21        if (location.href.indexOf('is-external=true') == -1) {
22            parent.document.title="DefaultAudioSink.Builder (ExoPlayer library)";
23        }
24    }
25    catch(err) {
26    }
27//-->
28var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
29var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
30var altColor = "altColor";
31var rowColor = "rowColor";
32var tableTab = "tableTab";
33var activeTableTab = "activeTableTab";
34var pathtoroot = "../../../../../";
35var useModuleDirectories = false;
36loadScripts(document, 'script');</script>
37<noscript>
38<div>JavaScript is disabled on your browser.</div>
39</noscript>
40<header role="banner">
41<nav role="navigation">
42<div class="fixedNav">
43<!-- ========= START OF TOP NAVBAR ======= -->
44<div class="topNav"><a id="navbar.top">
45<!--   -->
46</a>
47<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
48<a id="navbar.top.firstrow">
49<!--   -->
50</a>
51<ul class="navList" title="Navigation">
52<li><a href="../../../../../index.html">Overview</a></li>
53<li><a href="package-summary.html">Package</a></li>
54<li class="navBarCell1Rev">Class</li>
55<li><a href="package-tree.html">Tree</a></li>
56<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
57<li><a href="../../../../../index-all.html">Index</a></li>
58<li><a href="../../../../../help-doc.html">Help</a></li>
59</ul>
60</div>
61<div class="subNav">
62<ul class="navList" id="allclasses_navbar_top">
63<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
64</ul>
65<ul class="navListSearch">
66<li><label for="search">SEARCH:</label>
67<input type="text" id="search" value="search" disabled="disabled">
68<input type="reset" id="reset" value="reset" disabled="disabled">
69</li>
70</ul>
71<div>
72<script type="text/javascript"><!--
73  allClassesLink = document.getElementById("allclasses_navbar_top");
74  if(window==top) {
75    allClassesLink.style.display = "block";
76  }
77  else {
78    allClassesLink.style.display = "none";
79  }
80  //-->
81</script>
82<noscript>
83<div>JavaScript is disabled on your browser.</div>
84</noscript>
85</div>
86<div>
87<ul class="subNavList">
88<li>Summary:&nbsp;</li>
89<li>Nested&nbsp;|&nbsp;</li>
90<li>Field&nbsp;|&nbsp;</li>
91<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
92<li><a href="#method.summary">Method</a></li>
93</ul>
94<ul class="subNavList">
95<li>Detail:&nbsp;</li>
96<li>Field&nbsp;|&nbsp;</li>
97<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
98<li><a href="#method.detail">Method</a></li>
99</ul>
100</div>
101<a id="skip.navbar.top">
102<!--   -->
103</a></div>
104<!-- ========= END OF TOP NAVBAR ========= -->
105</div>
106<div class="navPadding">&nbsp;</div>
107<script type="text/javascript"><!--
108$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
109//-->
110</script>
111</nav>
112</header>
113<!-- ======== START OF CLASS DATA ======== -->
114<main role="main">
115<div class="header">
116<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.audio</a></div>
117<h2 title="Class DefaultAudioSink.Builder" class="title">Class DefaultAudioSink.Builder</h2>
118</div>
119<div class="contentContainer">
120<ul class="inheritance">
121<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>
122<li>
123<ul class="inheritance">
124<li>com.google.android.exoplayer2.audio.DefaultAudioSink.Builder</li>
125</ul>
126</li>
127</ul>
128<div class="description">
129<ul class="blockList">
130<li class="blockList">
131<dl>
132<dt>Enclosing class:</dt>
133<dd><a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink</a></dd>
134</dl>
135<hr>
136<pre>public static final class <span class="typeNameLabel">DefaultAudioSink.Builder</span>
137extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre>
138<div class="block">A builder to create <a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio"><code>DefaultAudioSink</code></a> instances.</div>
139</li>
140</ul>
141</div>
142<div class="summary">
143<ul class="blockList">
144<li class="blockList">
145<!-- ======== CONSTRUCTOR SUMMARY ======== -->
146<section role="region">
147<ul class="blockList">
148<li class="blockList"><a id="constructor.summary">
149<!--   -->
150</a>
151<h3>Constructor Summary</h3>
152<table class="memberSummary">
153<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
154<tr>
155<th class="colFirst" scope="col">Constructor</th>
156<th class="colLast" scope="col">Description</th>
157</tr>
158<tr class="altColor">
159<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Builder</a></span>()</code></th>
160<td class="colLast">
161<div class="block">Creates a new builder.</div>
162</td>
163</tr>
164</table>
165</li>
166</ul>
167</section>
168<!-- ========== METHOD SUMMARY =========== -->
169<section role="region">
170<ul class="blockList">
171<li class="blockList"><a id="method.summary">
172<!--   -->
173</a>
174<h3>Method Summary</h3>
175<table class="memberSummary">
176<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>
177<tr>
178<th class="colFirst" scope="col">Modifier and Type</th>
179<th class="colSecond" scope="col">Method</th>
180<th class="colLast" scope="col">Description</th>
181</tr>
182<tr id="i0" class="altColor">
183<td class="colFirst"><code><a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink</a></code></td>
184<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th>
185<td class="colLast">
186<div class="block">Builds the <a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio"><code>DefaultAudioSink</code></a>.</div>
187</td>
188</tr>
189<tr id="i1" class="rowColor">
190<td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td>
191<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAudioCapabilities(com.google.android.exoplayer2.audio.AudioCapabilities)">setAudioCapabilities</a></span>&#8203;(<a href="AudioCapabilities.html" title="class in com.google.android.exoplayer2.audio">AudioCapabilities</a>&nbsp;audioCapabilities)</code></th>
192<td class="colLast">
193<div class="block">Sets audio capabilities for playback on this device.</div>
194</td>
195</tr>
196<tr id="i2" class="altColor">
197<td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td>
198<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAudioProcessorChain(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioProcessorChain)">setAudioProcessorChain</a></span>&#8203;(<a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a>&nbsp;audioProcessorChain)</code></th>
199<td class="colLast">
200<div class="block">Sets the <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>DefaultAudioSink.AudioProcessorChain</code></a> to process audio before playback.</div>
201</td>
202</tr>
203<tr id="i3" class="rowColor">
204<td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td>
205<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAudioProcessors(com.google.android.exoplayer2.audio.AudioProcessor%5B%5D)">setAudioProcessors</a></span>&#8203;(<a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a>[]&nbsp;audioProcessors)</code></th>
206<td class="colLast">
207<div class="block">Sets an array of <a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessors</code></a>s that will process PCM audio before
208 output.</div>
209</td>
210</tr>
211<tr id="i4" class="altColor">
212<td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td>
213<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAudioTrackBufferSizeProvider(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider)">setAudioTrackBufferSizeProvider</a></span>&#8203;(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider&nbsp;audioTrackBufferSizeProvider)</code></th>
214<td class="colLast">
215<div class="block">Sets an <code>DefaultAudioSink.AudioTrackBufferSizeProvider</code> to compute the buffer size when <a href="DefaultAudioSink.html#configure(com.google.android.exoplayer2.Format,int,int%5B%5D)"><code>DefaultAudioSink.configure(com.google.android.exoplayer2.Format, int, int[])</code></a> is called with <code>specifiedBufferSize == 0</code>.</div>
216</td>
217</tr>
218<tr id="i5" class="rowColor">
219<td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td>
220<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEnableAudioTrackPlaybackParams(boolean)">setEnableAudioTrackPlaybackParams</a></span>&#8203;(boolean&nbsp;enableAudioTrackPlaybackParams)</code></th>
221<td class="colLast">
222<div class="block">Sets whether to control the playback speed using the platform implementation (see <a href="https://developer.android.com/reference/android/media/AudioTrack.html#setPlaybackParams(android.media.PlaybackParams)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.setPlaybackParams(PlaybackParams)</code></a>), if supported.</div>
223</td>
224</tr>
225<tr id="i6" class="altColor">
226<td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td>
227<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEnableFloatOutput(boolean)">setEnableFloatOutput</a></span>&#8203;(boolean&nbsp;enableFloatOutput)</code></th>
228<td class="colLast">
229<div class="block">Sets whether to enable 32-bit float output or integer output.</div>
230</td>
231</tr>
232<tr id="i7" class="rowColor">
233<td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td>
234<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOffloadMode(@com.google.android.exoplayer2.audio.DefaultAudioSink.OffloadModeint)">setOffloadMode</a></span>&#8203;(@com.google.android.exoplayer2.audio.DefaultAudioSink.OffloadMode int&nbsp;offloadMode)</code></th>
235<td class="colLast">
236<div class="block">Sets the offload mode.</div>
237</td>
238</tr>
239</table>
240<ul class="blockList">
241<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
242<!--   -->
243</a>
244<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>
245<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>
246</ul>
247</li>
248</ul>
249</section>
250</li>
251</ul>
252</div>
253<div class="details">
254<ul class="blockList">
255<li class="blockList">
256<!-- ========= CONSTRUCTOR DETAIL ======== -->
257<section role="region">
258<ul class="blockList">
259<li class="blockList"><a id="constructor.detail">
260<!--   -->
261</a>
262<h3>Constructor Detail</h3>
263<a id="&lt;init&gt;()">
264<!--   -->
265</a>
266<ul class="blockListLast">
267<li class="blockList">
268<h4>Builder</h4>
269<pre>public&nbsp;Builder()</pre>
270<div class="block">Creates a new builder.</div>
271</li>
272</ul>
273</li>
274</ul>
275</section>
276<!-- ============ METHOD DETAIL ========== -->
277<section role="region">
278<ul class="blockList">
279<li class="blockList"><a id="method.detail">
280<!--   -->
281</a>
282<h3>Method Detail</h3>
283<a id="setAudioCapabilities(com.google.android.exoplayer2.audio.AudioCapabilities)">
284<!--   -->
285</a>
286<ul class="blockList">
287<li class="blockList">
288<h4>setAudioCapabilities</h4>
289<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setAudioCapabilities&#8203;(<a href="AudioCapabilities.html" title="class in com.google.android.exoplayer2.audio">AudioCapabilities</a>&nbsp;audioCapabilities)</pre>
290<div class="block">Sets audio capabilities for playback on this device. May be <code>null</code> if the default
291 capabilities (no encoded audio passthrough support) should be assumed.
292
293 <p>Default is <a href="AudioCapabilities.html#DEFAULT_AUDIO_CAPABILITIES"><code>AudioCapabilities.DEFAULT_AUDIO_CAPABILITIES</code></a>.</div>
294</li>
295</ul>
296<a id="setAudioProcessors(com.google.android.exoplayer2.audio.AudioProcessor[])">
297<!--   -->
298</a>
299<ul class="blockList">
300<li class="blockList">
301<h4>setAudioProcessors</h4>
302<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setAudioProcessors&#8203;(<a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a>[]&nbsp;audioProcessors)</pre>
303<div class="block">Sets an array of <a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessors</code></a>s that will process PCM audio before
304 output. May be empty. Equivalent of <code>setAudioProcessorChain(new
305 DefaultAudioProcessorChain(audioProcessors)</code>.
306
307 <p>The default value is an empty array.</div>
308</li>
309</ul>
310<a id="setAudioProcessorChain(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioProcessorChain)">
311<!--   -->
312</a>
313<ul class="blockList">
314<li class="blockList">
315<h4>setAudioProcessorChain</h4>
316<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setAudioProcessorChain&#8203;(<a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a>&nbsp;audioProcessorChain)</pre>
317<div class="block">Sets the <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>DefaultAudioSink.AudioProcessorChain</code></a> to process audio before playback. The instance passed in
318 must not be reused in other sinks. Processing chains are only supported for PCM playback (not
319 passthrough or offload).
320
321 <p>By default, no processing will be applied.</div>
322</li>
323</ul>
324<a id="setEnableFloatOutput(boolean)">
325<!--   -->
326</a>
327<ul class="blockList">
328<li class="blockList">
329<h4>setEnableFloatOutput</h4>
330<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setEnableFloatOutput&#8203;(boolean&nbsp;enableFloatOutput)</pre>
331<div class="block">Sets whether to enable 32-bit float output or integer output. Where possible, 32-bit float
332 output will be used if the input is 32-bit float, and also if the input is high resolution
333 (24-bit or 32-bit) integer PCM. Float output is supported from API level 21. Audio processing
334 (for example, speed adjustment) will not be available when float output is in use.
335
336 <p>The default value is <code>false</code>.</div>
337</li>
338</ul>
339<a id="setEnableAudioTrackPlaybackParams(boolean)">
340<!--   -->
341</a>
342<ul class="blockList">
343<li class="blockList">
344<h4>setEnableAudioTrackPlaybackParams</h4>
345<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setEnableAudioTrackPlaybackParams&#8203;(boolean&nbsp;enableAudioTrackPlaybackParams)</pre>
346<div class="block">Sets whether to control the playback speed using the platform implementation (see <a href="https://developer.android.com/reference/android/media/AudioTrack.html#setPlaybackParams(android.media.PlaybackParams)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.setPlaybackParams(PlaybackParams)</code></a>), if supported. If set to <code>false</code>, speed
347 up/down of the audio will be done by ExoPlayer (see <a href="SonicAudioProcessor.html" title="class in com.google.android.exoplayer2.audio"><code>SonicAudioProcessor</code></a>). Platform
348 speed adjustment is lower latency, but less reliable.
349
350 <p>The default value is <code>false</code>.</div>
351</li>
352</ul>
353<a id="setOffloadMode(@com.google.android.exoplayer2.audio.DefaultAudioSink.OffloadModeint)">
354<!--   -->
355</a>
356<ul class="blockList">
357<li class="blockList">
358<h4>setOffloadMode</h4>
359<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setOffloadMode&#8203;(@com.google.android.exoplayer2.audio.DefaultAudioSink.OffloadMode int&nbsp;offloadMode)</pre>
360<div class="block">Sets the offload mode. If an audio format can be both played with offload and encoded audio
361 passthrough, it will be played in offload. Audio offload is supported from API level 29. Most
362 Android devices can only support one offload <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> at a time and can invalidate
363 it at any time. Thus an app can never be guaranteed that it will be able to play in offload.
364 Audio processing (for example, speed adjustment) will not be available when offload is in
365 use.
366
367 <p>The default value is <a href="DefaultAudioSink.html#OFFLOAD_MODE_DISABLED"><code>DefaultAudioSink.OFFLOAD_MODE_DISABLED</code></a>.</div>
368</li>
369</ul>
370<a id="setAudioTrackBufferSizeProvider(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider)">
371<!--   -->
372</a>
373<ul class="blockList">
374<li class="blockList">
375<h4>setAudioTrackBufferSizeProvider</h4>
376<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setAudioTrackBufferSizeProvider&#8203;(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider&nbsp;audioTrackBufferSizeProvider)</pre>
377<div class="block">Sets an <code>DefaultAudioSink.AudioTrackBufferSizeProvider</code> to compute the buffer size when <a href="DefaultAudioSink.html#configure(com.google.android.exoplayer2.Format,int,int%5B%5D)"><code>DefaultAudioSink.configure(com.google.android.exoplayer2.Format, int, int[])</code></a> is called with <code>specifiedBufferSize == 0</code>.
378
379 <p>The default value is <code>DefaultAudioSink.AudioTrackBufferSizeProvider.DEFAULT</code>.</div>
380</li>
381</ul>
382<a id="build()">
383<!--   -->
384</a>
385<ul class="blockListLast">
386<li class="blockList">
387<h4>build</h4>
388<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink</a>&nbsp;build()</pre>
389<div class="block">Builds the <a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio"><code>DefaultAudioSink</code></a>. Must only be called once per Builder instance.</div>
390</li>
391</ul>
392</li>
393</ul>
394</section>
395</li>
396</ul>
397</div>
398</div>
399</main>
400<!-- ========= END OF CLASS DATA ========= -->
401<footer role="contentinfo">
402<nav role="navigation">
403<!-- ======= START OF BOTTOM NAVBAR ====== -->
404<div class="bottomNav"><a id="navbar.bottom">
405<!--   -->
406</a>
407<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
408<a id="navbar.bottom.firstrow">
409<!--   -->
410</a>
411<ul class="navList" title="Navigation">
412<li><a href="../../../../../index.html">Overview</a></li>
413<li><a href="package-summary.html">Package</a></li>
414<li class="navBarCell1Rev">Class</li>
415<li><a href="package-tree.html">Tree</a></li>
416<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
417<li><a href="../../../../../index-all.html">Index</a></li>
418<li><a href="../../../../../help-doc.html">Help</a></li>
419</ul>
420</div>
421<div class="subNav">
422<ul class="navList" id="allclasses_navbar_bottom">
423<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
424</ul>
425<div>
426<script type="text/javascript"><!--
427  allClassesLink = document.getElementById("allclasses_navbar_bottom");
428  if(window==top) {
429    allClassesLink.style.display = "block";
430  }
431  else {
432    allClassesLink.style.display = "none";
433  }
434  //-->
435</script>
436<noscript>
437<div>JavaScript is disabled on your browser.</div>
438</noscript>
439</div>
440<div>
441<ul class="subNavList">
442<li>Summary:&nbsp;</li>
443<li>Nested&nbsp;|&nbsp;</li>
444<li>Field&nbsp;|&nbsp;</li>
445<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
446<li><a href="#method.summary">Method</a></li>
447</ul>
448<ul class="subNavList">
449<li>Detail:&nbsp;</li>
450<li>Field&nbsp;|&nbsp;</li>
451<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
452<li><a href="#method.detail">Method</a></li>
453</ul>
454</div>
455<a id="skip.navbar.bottom">
456<!--   -->
457</a></div>
458<!-- ======== END OF BOTTOM NAVBAR ======= -->
459</nav>
460</footer>
461</body>
462</html>
463