229 lines
10 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.sound.midi
</div>
<h2 class="title" title="Class Track">Class Track</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.sound.midi.Track</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public class <span class="typeNameLabel">Track</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<span>MIDI轨道是独立的MIDI事件流时间戳的MIDI数据可以与标准MIDI文件中的其他轨道一起存储。</span>
<span>MIDI规范仅允许16通道的MIDI数据但轨道是解决此限制的一种方式。</span>
<span>MIDI文件可以包含任意数量的曲目每个曲目都包含多达16个MIDI数据通道。</span>
<p> <span>一个<code>Track</code>占据在由播放数据的层次结构中的中间级<code><a href="../../../javax/sound/midi/Sequencer.html" title="interface in javax.sound.midi"><code>Sequencer</code></a></code> 序播放序列其中包含曲目其中包含MIDI事件。</span> <span>音序器可以提供静音或独奏音轨的控制。</span> </p>
<p> <span>轨道的定时信息和分辨率由包含轨道的序列控制和存储。</span> <span>一个给定的<code>Track</code>被认为是属于特定的<code><a href="../../../javax/sound/midi/Sequence.html" title="class in javax.sound.midi"><code>Sequence</code></a></code>维持其时间。</span> <span>因此,通过调用<code><a href="../../../javax/sound/midi/Sequence.html#createTrack--"><code>Sequence.createTrack()</code></a></code>方法而不是直接调用<code>Track</code>构造函数创建一个新的(空)轨道。</span> </p>
<p> <span><code>Track</code>类提供了通过<code>MidiEvent</code>添加或删除<code>MidiEvent</code>对象来编辑轨道的方法。</span> <span>这些操作将事件列表保持正确的时间顺序。</span> <span>还包括获取轨道大小的方法,无论是其包含的事件数还是其刻度中的持续时间。</span> </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Sequencer.html#setTrackMute-int-boolean-"><code>Sequencer.setTrackMute(int, boolean)</code></a>
<a href="../../../javax/sound/midi/Sequencer.html#setTrackSolo-int-boolean-"><code>Sequencer.setTrackSolo(int, boolean)</code></a>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t4"><span><a href="javascript:show(8);">具体的方法</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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Track.html#add-javax.sound.midi.MidiEvent-">add</a></span>(<a href="../../../javax/sound/midi/MidiEvent.html" title="class in javax.sound.midi">MidiEvent</a> event)</code>
<div class="block">
向轨道添加新事件。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../javax/sound/midi/MidiEvent.html" title="class in javax.sound.midi">MidiEvent</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Track.html#get-int-">get</a></span>(int index)</code>
<div class="block">
在指定的索引处获取事件。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Track.html#remove-javax.sound.midi.MidiEvent-">remove</a></span>(<a href="../../../javax/sound/midi/MidiEvent.html" title="class in javax.sound.midi">MidiEvent</a> event)</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/midi/Track.html#size--">size</a></span>()</code>
<div class="block">
获取此轨道中的事件数。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Track.html#ticks--">ticks</a></span>()</code>
<div class="block">
获取轨道的长度以MIDI刻度表示。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</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="add-javax.sound.midi.MidiEvent-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>add</h4> <pre>public boolean add(<a href="../../../javax/sound/midi/MidiEvent.html" title="class in javax.sound.midi">MidiEvent</a> event)</pre>
<div class="block">
<span>向轨道添加新事件。</span>
<span>但是,如果事件已经包含在轨道中,则不会再次添加。</span>
<span>事件列表按时间顺序保存,这意味着此事件插入列表中的适当位置,不一定在结尾。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>event</code> - 要添加的事件
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果事件在轨道中不存在并被添加,否则
<code>false</code>
</dd>
</dl> </li>
</ul> <a name="remove-javax.sound.midi.MidiEvent-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>remove</h4> <pre>public boolean remove(<a href="../../../javax/sound/midi/MidiEvent.html" title="class in javax.sound.midi">MidiEvent</a> event)</pre>
<div class="block">
从轨道中删除指定的事件。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>event</code> - 要删除的事件
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果事件存在于轨道中并被删除,否则
<code>false</code>
</dd>
</dl> </li>
</ul> <a name="get-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>get</h4> <pre>public <a href="../../../javax/sound/midi/MidiEvent.html" title="class in javax.sound.midi">MidiEvent</a> get(int index)
throws <a href="../../../java/lang/ArrayIndexOutOfBoundsException.html" title="class in java.lang">ArrayIndexOutOfBoundsException</a></pre>
<div class="block">
在指定的索引处获取事件。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>index</code> - 事件向量中所需事件的位置
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
事件在指定的索引
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/ArrayIndexOutOfBoundsException.html" title="class in java.lang">ArrayIndexOutOfBoundsException</a></code> - 如果指定的索引为负或不小于此轨道的当前大小。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Track.html#size--"><code>size()</code></a>
</dd>
</dl> </li>
</ul> <a name="size--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>size</h4> <pre>public int size()</pre>
<div class="block">
获取此轨道中的事件数。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
轨道的事件向量的大小
</dd>
</dl> </li>
</ul> <a name="ticks--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>ticks</h4> <pre>public long ticks()</pre>
<div class="block">
<span>获取轨道的长度以MIDI刻度表示。</span>
<span>(以秒为刻度的持续时间由定时分辨率来确定<code>Sequence</code>含有该轨道,并且还通过设置作为由定序器的音乐的拍子)。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
持续时间,以滴答
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Sequence.html#Sequence-float-int-"><code>Sequence.Sequence(float, int)</code></a>
<a href="../../../javax/sound/midi/Sequencer.html#setTempoInBPM-float-"><code>Sequencer.setTempoInBPM(float)</code></a>
<a href="../../../javax/sound/midi/Sequencer.html#getTickPosition--"><code>Sequencer.getTickPosition()</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>