mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-05 00:04:33 +08:00
479 lines
25 KiB
HTML
479 lines
25 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
javax.sound.sampled
|
||
</div>
|
||
<h2 class="title" title="Interface DataLine">Interface DataLine</h2>
|
||
</div><div class="contentContainer">
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<dl>
|
||
<dt>
|
||
All Superinterfaces:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../java/lang/AutoCloseable.html" title="java.lang中的接口">AutoCloseable</a> , <a href="../../../javax/sound/sampled/Line.html" title="javax.sound.sampled中的接口">Line</a></span>
|
||
</dd>
|
||
</dl>
|
||
<dl>
|
||
<dt>
|
||
All Known Subinterfaces:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/sound/sampled/Clip.html" title="javax.sound.sampled中的接口">Clip</a> , <a href="../../../javax/sound/sampled/SourceDataLine.html" title="javax.sound.sampled中的接口">SourceDataLine</a> , <a href="../../../javax/sound/sampled/TargetDataLine.html" title="javax.sound.sampled中的接口">TargetDataLine</a></span>
|
||
</dd>
|
||
</dl>
|
||
<hr/> <br/> <pre>public interface <span class="typeNameLabel">DataLine</span>
|
||
extends <a href="../../../javax/sound/sampled/Line.html" title="interface in javax.sound.sampled">Line</a></pre>
|
||
<div class="block">
|
||
<span><code>DataLine</code>将媒体相关功能添加到其超级接口, <code><a href="../../../javax/sound/sampled/Line.html" title="interface in javax.sound.sampled"><code>Line</code></a></code> 。</span>
|
||
<span>此功能包括启动,停止,排除和刷新通过线路的音频数据的传输控制方法。</span>
|
||
<span>数据线还可以报告媒体的当前位置,音量和音频格式。</span>
|
||
<span>数据线用于通过允许应用程序写入数据的子<code><a href="../../../javax/sound/sampled/SourceDataLine.html" title="interface in javax.sound.sampled"><code>SourceDataLine</code></a></code>或<code><a href="../../../javax/sound/sampled/Clip.html" title="interface in javax.sound.sampled"><code>Clip</code></a></code>来输出音频。</span>
|
||
<span>类似地,音频输入由子<code><a href="../../../javax/sound/sampled/TargetDataLine.html" title="interface in javax.sound.sampled"><code>TargetDataLine</code></a></code>处理,这允许读取数据。</span>
|
||
<p> <span>数据线具有内部缓冲器,其中输入或输出音频数据排队。</span> <span><code><a href="../../../javax/sound/sampled/DataLine.html#drain--"><code>drain()</code></a></code>方法阻塞,直到内部缓冲区变为空,通常是因为已处理所有排队的数据。</span> <span><code><a href="../../../javax/sound/sampled/DataLine.html#flush--"><code>flush()</code></a></code>方法从内部缓冲区中丢弃任何可用的排队数据。</span> </p>
|
||
<p> <span>每当数据线开始或停止数据的主动呈现或捕获时,数据线将生成<code><a href="../../../javax/sound/sampled/LineEvent.Type.html#START"><code>START</code></a></code>和<code><a href="../../../javax/sound/sampled/LineEvent.Type.html#STOP"><code>STOP</code></a></code>事件。</span> <span>这些事件可以根据具体请求生成,也可以由于更少的直接状态更改而生成。</span> <span>例如,如果在非活动数据线上调用<code><a href="../../../javax/sound/sampled/DataLine.html#start--"><code>start()</code></a></code> ,并且数据可用于捕获或播放,则当数据播放或捕获实际开始时,将很快生成<code>START</code>事件。</span> <span>或者,如果数据到活动数据线的流动被收缩,使得在数据呈现中发生间隙,则生成<code>STOP</code>事件。</span> </p>
|
||
<p> <span>混频器通常支持同步控制多条数据线。</span> <span>可以通过Mixer界面的<code><a href="../../../javax/sound/sampled/Mixer.html#synchronize-javax.sound.sampled.Line:A-boolean-"><code>synchronize</code></a></code>方法建立<code><a href="../../../javax/sound/sampled/Mixer.html#synchronize-javax.sound.sampled.Line:A-boolean-"><code>synchronize</code></a></code> 。</span> <span>请参阅<a href="../../../javax/sound/sampled/Mixer.html" title="interface in javax.sound.sampled"><code>Mixer</code></a> <code><a href="../../../javax/sound/sampled/Mixer.html" title="interface in javax.sound.sampled"><code>Mixer</code></a></code>描述,以获得更完整的描述。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.3
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/sound/sampled/LineEvent.html" title="javax.sound.sampled中的类"><code>LineEvent</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="summary">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ======== NESTED CLASS SUMMARY ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="nested.class.summary">
|
||
<!-- --> </a> <h3>Nested Class Summary</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Nested Class Summary table, listing nested classes, and an explanation">
|
||
<caption>
|
||
<span>Nested Classes</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier and Type</th>
|
||
<th class="colLast" scope="col">Interface and Description</th>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><code>static class </code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.Info.html" title="class in javax.sound.sampled">DataLine.Info</a></span></code>
|
||
<div class="block">
|
||
除了从其超类继承的类信息,
|
||
<code>DataLine.Info</code>还提供了特定于数据行的附加信息。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul>
|
||
<!-- ========== METHOD SUMMARY =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.summary">
|
||
<!-- --> </a> <h3>方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
|
||
<caption>
|
||
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier and Type</th>
|
||
<th class="colLast" scope="col">Method and Description</th>
|
||
</tr>
|
||
<tr class="altColor" id="i0">
|
||
<td class="colFirst"><code>int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#available--">available</a></span>()</code>
|
||
<div class="block">
|
||
获取应用程序当前可用于数据线内部缓冲区中处理数据的字节数。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#drain--">drain</a></span>()</code>
|
||
<div class="block">
|
||
通过持续的数据I / O从排队排出数据,直到数据线的内部缓冲区被清空。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i2">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#flush--">flush</a></span>()</code>
|
||
<div class="block">
|
||
从行刷新排队的数据。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i3">
|
||
<td class="colFirst"><code>int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#getBufferSize--">getBufferSize</a></span>()</code>
|
||
<div class="block">
|
||
获取将适合数据线内部缓冲区的最大数据字节数。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i4">
|
||
<td class="colFirst"><code><a href="../../../javax/sound/sampled/AudioFormat.html" title="class in javax.sound.sampled">AudioFormat</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#getFormat--">getFormat</a></span>()</code>
|
||
<div class="block">
|
||
获取数据线音频数据的当前格式(编码,采样率,通道数等)。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i5">
|
||
<td class="colFirst"><code>int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#getFramePosition--">getFramePosition</a></span>()</code>
|
||
<div class="block">
|
||
获取音频数据中的样本帧中的当前位置。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i6">
|
||
<td class="colFirst"><code>float</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#getLevel--">getLevel</a></span>()</code>
|
||
<div class="block">
|
||
获取该行的当前音量级别。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i7">
|
||
<td class="colFirst"><code>long</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#getLongFramePosition--">getLongFramePosition</a></span>()</code>
|
||
<div class="block">
|
||
获取音频数据中的样本帧中的当前位置。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i8">
|
||
<td class="colFirst"><code>long</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#getMicrosecondPosition--">getMicrosecondPosition</a></span>()</code>
|
||
<div class="block">
|
||
以微秒形式获取音频数据中的当前位置。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i9">
|
||
<td class="colFirst"><code>boolean</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#isActive--">isActive</a></span>()</code>
|
||
<div class="block">
|
||
指示线路是否处于活动I / O(例如播放或捕获)。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i10">
|
||
<td class="colFirst"><code>boolean</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#isRunning--">isRunning</a></span>()</code>
|
||
<div class="block">
|
||
指示该行是否正在运行。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i11">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#start--">start</a></span>()</code>
|
||
<div class="block">
|
||
允许线路从事数据I / O。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i12">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/DataLine.html#stop--">stop</a></span>()</code>
|
||
<div class="block">
|
||
停止线。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="methods.inherited.from.class.javax.sound.sampled.Line">
|
||
<!-- --> </a> <h3>Methods inherited from interface javax.sound.sampled.<a href="../../../javax/sound/sampled/Line.html" title="interface in javax.sound.sampled">Line</a></h3> <code><a href="../../../javax/sound/sampled/Line.html#addLineListener-javax.sound.sampled.LineListener-">addLineListener</a>, <a href="../../../javax/sound/sampled/Line.html#close--">close</a>, <a href="../../../javax/sound/sampled/Line.html#getControl-javax.sound.sampled.Control.Type-">getControl</a>, <a href="../../../javax/sound/sampled/Line.html#getControls--">getControls</a>, <a href="../../../javax/sound/sampled/Line.html#getLineInfo--">getLineInfo</a>, <a href="../../../javax/sound/sampled/Line.html#isControlSupported-javax.sound.sampled.Control.Type-">isControlSupported</a>, <a href="../../../javax/sound/sampled/Line.html#isOpen--">isOpen</a>, <a href="../../../javax/sound/sampled/Line.html#open--">open</a>, <a href="../../../javax/sound/sampled/Line.html#removeLineListener-javax.sound.sampled.LineListener-">removeLineListener</a></code></li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="details">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="drain--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>drain</h4> <pre>void drain()</pre>
|
||
<div class="block">
|
||
<span>通过持续的数据I / O从排队排出数据,直到数据线的内部缓冲区被清空。</span>
|
||
<span>这种方法阻塞直到排水完成。</span>
|
||
<span>因为这是一个阻止方法,所以应该谨慎使用。</span>
|
||
<span>如果在其队列中有数据的停止行上调用<code>drain()</code> ,则该方法将阻塞,直到该行正在运行,并且数据队列变为空。</span>
|
||
<span>如果<code>drain()</code>被一个线程调用,另一个线程继续填充数据队列,操作将不会完成。</span>
|
||
<span>当数据行关闭时,此方法总是返回。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/sound/sampled/DataLine.html#flush--"><code>flush()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="flush--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>flush</h4> <pre>void flush()</pre>
|
||
<div class="block">
|
||
<span>从行刷新排队的数据。</span>
|
||
<span>刷新的数据被丢弃。</span>
|
||
<span>在某些情况下,并非所有排队的数据都可以被丢弃。</span>
|
||
<span>例如,混频器可以从特定输入线的缓冲器中刷新数据,但是仍然会播放已经在输出缓冲器中的任何未播放的数据(混合的结果)。</span>
|
||
<span>如果要在重新启动播放或捕获时跳过“过时”数据,您可以在暂停一行(正常情况)后调用此方法。</span>
|
||
<span>(刷新未停止的行是合法的,但在活动行上执行此行可能会导致数据不连续,导致可察觉的点击。)</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/sound/sampled/DataLine.html#stop--"><code>stop()</code></a> ,
|
||
<a href="../../../javax/sound/sampled/DataLine.html#drain--"><code>drain()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="start--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>start</h4> <pre>void start()</pre>
|
||
<div class="block">
|
||
<span>允许线路从事数据I / O。</span>
|
||
<span>如果在已经运行的行上调用该方法,该方法什么也不做。</span>
|
||
<span>除非缓冲区中的数据已被刷新,否则线路将从线路停止时未处理的第一帧开始恢复I / O。</span>
|
||
<span>当音频捕获或播放开始时,会生成一个<code><a href="../../../javax/sound/sampled/LineEvent.Type.html#START"><code>START</code></a></code>事件。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/sound/sampled/DataLine.html#stop--"><code>stop()</code></a> , <a href="../../../javax/sound/sampled/DataLine.html#isRunning--"><code>isRunning()</code></a> , <a href="../../../javax/sound/sampled/LineEvent.html" title="javax.sound.sampled中的类"><code>LineEvent</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="stop--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>stop</h4> <pre>void stop()</pre>
|
||
<div class="block">
|
||
<span>停止线。</span>
|
||
<span>停止的行应该停止I / O活动。</span>
|
||
<span>但是,如果该行已打开并运行,则应保留恢复活动所需的资源。</span>
|
||
<span>停止的线路应该保留其缓冲区中的任何音频数据,而不是丢弃它,以便在恢复时,如果可能,I / O可以继续停止。</span>
|
||
<span>(这并不能保证当前缓冲区不会有不连续性;如果停止的条件持续时间过长,则输入或输出样本可能会被丢弃。)如果需要,保留的数据可以通过调用<code>flush</code>方法。</span>
|
||
<span>当音频捕获或播放停止时,会生成一个<code><a href="../../../javax/sound/sampled/LineEvent.Type.html#STOP"><code>STOP</code></a></code>事件。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/sound/sampled/DataLine.html#start--"><code>start()</code></a> , <a href="../../../javax/sound/sampled/DataLine.html#isRunning--"><code>isRunning()</code></a> , <a href="../../../javax/sound/sampled/DataLine.html#flush--"><code>flush()</code></a> , <a href="../../../javax/sound/sampled/LineEvent.html" title="javax.sound.sampled中的类"><code>LineEvent</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="isRunning--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>isRunning</h4> <pre>boolean isRunning()</pre>
|
||
<div class="block">
|
||
<span>指示该行是否正在运行。</span>
|
||
<span>默认值为<code>false</code> 。</span>
|
||
<span>当响应于<code>start</code>方法的调用而<code>stop</code>第一数据时,开放行开始运行,并且继续直到呈现停止响应于对<code>stop</code>的调用或者因为播放完成。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<code>true</code>如果该行正在运行,否则为
|
||
<code>false</code>
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/sound/sampled/DataLine.html#start--"><code>start()</code></a> ,
|
||
<a href="../../../javax/sound/sampled/DataLine.html#stop--"><code>stop()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="isActive--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>isActive</h4> <pre>boolean isActive()</pre>
|
||
<div class="block">
|
||
<span>指示线路是否处于活动I / O(例如播放或捕获)。</span>
|
||
<span>当非活动行变为活动状态时,它会向其<code><a href="../../../javax/sound/sampled/LineEvent.Type.html#START"><code>START</code></a></code>发送一个<code><a href="../../../javax/sound/sampled/LineEvent.Type.html#START"><code>START</code></a></code>事件。</span>
|
||
<span>类似地,当活动线路变得不活动时,它发送一个<code><a href="../../../javax/sound/sampled/LineEvent.Type.html#STOP"><code>STOP</code></a></code>事件。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<code>true</code>如果线是主动捕获或渲染声音,否则
|
||
<code>false</code>
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/sound/sampled/Line.html#isOpen--"><code>Line.isOpen()</code></a> , <a href="../../../javax/sound/sampled/Line.html#addLineListener-javax.sound.sampled.LineListener-"><code>Line.addLineListener(javax.sound.sampled.LineListener)</code></a> , <a href="../../../javax/sound/sampled/Line.html#removeLineListener-javax.sound.sampled.LineListener-"><code>Line.removeLineListener(javax.sound.sampled.LineListener)</code></a> , <a href="../../../javax/sound/sampled/LineEvent.html" title="javax.sound.sampled中的类"><code>LineEvent</code></a> , <a href="../../../javax/sound/sampled/LineListener.html" title="javax.sound.sampled中的接口"><code>LineListener</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getFormat--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getFormat</h4> <pre><a href="../../../javax/sound/sampled/AudioFormat.html" title="class in javax.sound.sampled">AudioFormat</a> getFormat()</pre>
|
||
<div class="block">
|
||
<span>获取数据线音频数据的当前格式(编码,采样率,通道数等)。</span>
|
||
<p> <span>如果该行未打开,并且从未打开,则返回默认格式。</span> <span>默认格式是实现特定的音频格式,或者如果用于检索<code>DataLine</code>的<code>DataLine.Info</code>对象指定了至少一个完全限定的音频格式,则最后一个将被用作默认格式。</span> <span>用特定音频格式打开行(例如<a href="../../../javax/sound/sampled/SourceDataLine.html#open-javax.sound.sampled.AudioFormat-"><code>SourceDataLine.open(AudioFormat)</code></a> )将覆盖默认格式。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
当前音频数据格式
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/sound/sampled/AudioFormat.html" title="javax.sound.sampled中的类"><code>AudioFormat</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getBufferSize--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getBufferSize</h4> <pre>int getBufferSize()</pre>
|
||
<div class="block">
|
||
<span>获取将适合数据线内部缓冲区的最大数据字节数。</span>
|
||
<span>对于源数据行,这是可以写入数据的缓冲区的大小。</span>
|
||
<span>对于目标数据行,可以读取数据的缓冲区的大小。</span>
|
||
<span>请注意,所使用的单位是字节,但总是对应于音频数据的采样帧的整数。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
缓冲区的大小(以字节为单位)
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="available--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>available</h4> <pre>int available()</pre>
|
||
<div class="block">
|
||
<span>获取应用程序当前可用于数据线内部缓冲区中处理数据的字节数。</span>
|
||
<span>对于源数据行,这是可以写入缓冲区而不阻塞的数据量。</span>
|
||
<span>对于目标数据行,这是应用程序可以读取的数据量。</span>
|
||
<span>对于剪辑,该值始终为0,因为当剪辑被打开时音频数据被加载到缓冲区中,并且在剪辑被关闭之前不变修改地保持。</span>
|
||
<p> <span>请注意,所使用的单位是字节,但总是对应于音频数据的采样帧的整数。</span> </p>
|
||
<p> <span>应用程序保证从<code>available()</code>返回的字节数的读或写操作不会被阻塞;</span> <span>然而,不能保证读取或写入更多数据的尝试将被阻止。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
可用数据量(以字节为单位)
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getFramePosition--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getFramePosition</h4> <pre>int getFramePosition()</pre>
|
||
<div class="block">
|
||
<span>获取音频数据中的样本帧中的当前位置。</span>
|
||
<span>帧位置测量自从打开该行以来捕获或从该行渲染的采样帧的数量。</span>
|
||
<span>这个返回值将在2 ^ 31帧之后包围。</span>
|
||
<span>建议使用<code>getLongFramePosition</code> 。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
自该行打开以来已经处理的帧数
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/sound/sampled/DataLine.html#getLongFramePosition--"><code>getLongFramePosition()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getLongFramePosition--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getLongFramePosition</h4> <pre>long getLongFramePosition()</pre>
|
||
<div class="block">
|
||
<span>获取音频数据中的样本帧中的当前位置。</span>
|
||
<span>帧位置测量自从打开该行以来捕获或从该行渲染的采样帧的数量。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
自该行打开以来已经处理的帧数
|
||
</dd>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.5
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getMicrosecondPosition--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getMicrosecondPosition</h4> <pre>long getMicrosecondPosition()</pre>
|
||
<div class="block">
|
||
<span>以微秒形式获取音频数据中的当前位置。</span>
|
||
<span>微秒位置测量对应于自打开之后由线捕获或呈现的采样帧的数量的时间。</span>
|
||
<span>精度水平不能保证。</span>
|
||
<span>例如,实现可以从当前帧位置和音频采样帧速率计算微秒位置。</span>
|
||
<span>然后,微秒的精度将被限制为每个采样帧的微秒数。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
该行打开后处理的数据的微秒数
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getLevel--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>getLevel</h4> <pre>float getLevel()</pre>
|
||
<div class="block">
|
||
<span>获取该行的当前音量级别。</span>
|
||
<span>该电平是信号电流幅度的度量,不应与增益控制的当前设置混淆。</span>
|
||
<span>范围从0.0(静音)到1.0(声音波形的最大可能幅度)。</span>
|
||
<span>单位测量线性幅度,不分贝。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
该线路中的信号的当前幅度,或
|
||
<code><a href="../../../javax/sound/sampled/AudioSystem.html#NOT_SPECIFIED"><code>AudioSystem.NOT_SPECIFIED</code></a></code>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |