java.lang.Object
javax.sound.midi.Track
一个MIDI轨道是独立的MIDI事件流(带有时间戳的MIDI数据),可以与标准MIDI文件中的其他轨道一起存储。MIDI规范只允许16个MIDI数据通道,但轨道是绕过此限制的一种方式。一个MIDI文件可以包含任意数量的轨道,每个轨道包含自己的最多16个MIDI数据通道的流。
Track
在由Sequencer
播放的数据层次结构中占据中间级别:sequencers播放sequences,sequences包含tracks,tracks包含MIDI事件。Sequencer可能提供控件来静音或独奏单独的轨道。
轨道的时间信息和分辨率由包含轨道的序列控制和存储。给定的Track
被认为属于维护其时间的特定Sequence
。因此,通过调用Sequence.createTrack()
方法来创建一个新的(空的)轨道,而不是直接调用Track
构造函数。
Track
类提供了方法来编辑轨道,通过向其添加或删除MidiEvent
对象。这些操作保持事件列表按正确的时间顺序。还包括方法来获取轨道的大小,即它包含的事件数量或以tick为单位的持续时间。
- 参见:
-
Method Summary
-
Method Details
-
add
向轨道添加一个新事件。但是,如果事件已包含在轨道中,则不会再次添加。事件列表按时间顺序保持,这意味着此事件将插入到列表的适当位置,而不一定是在末尾。- 参数:
-
event
- 要添加的事件 - 返回:
-
如果事件在轨道中尚不存在并已添加,则返回
true
,否则返回false
-
remove
从轨道中删除指定的事件。- 参数:
-
event
- 要删除的事件 - 返回:
-
如果事件存在于轨道中并已被删除,则返回
true
,否则返回false
-
get
获取指定索引处的事件。- 参数:
-
index
- 事件向量中所需事件的位置 - 返回:
- 指定索引处的事件
- 抛出:
-
ArrayIndexOutOfBoundsException
- 如果指定的索引为负数或不小于此轨道当前大小 - 参见:
-
size
public int size()获取此轨道中的事件数量。- 返回:
- 轨道事件向量的大小
-
ticks
public long ticks()获取轨道的长度,以MIDI tick表示。(tick的持续时间由包含此轨道的Sequence
的时间分辨率以及由sequencer设置的音乐速度决定。)- 返回:
- 以tick表示的持续时间
- 参见:
-