JavaTM 2 Platform
Standard Ed. 6

javax.sound.midi
類別 Track

java.lang.Object
  繼承者 javax.sound.midi.Track

public class Track
extends Object

MIDI 音軌是一個可隨其他音軌存儲在標準 MIDI 檔案中的獨立的 MIDI 事件串流(帶時間戳的 MIDI 資料)。MIDI 規範只允許 16 通道的 MIDI 資料,音軌是一個繞過此限制的方法。一個 MIDI 檔案可包含任何數量的音軌,每個音軌包含其自身的多達 16 個通道的 MIDI 資料串流。

Track 佔用 Sequencer 演奏的資料層次中的一個中間層。sequencer 演奏 sequence,它包含音軌,而音軌包含 MIDI 事件。Sequencer 可能提供 mute 或 solo 具體音軌的控制。

音軌的計時資訊和精度由包含該音軌的 sequence 控制並存儲在其中。給定的 Track 被當作屬於維持其計時的特定的 Sequence。因此,新(空)音軌通過調用 Sequence.createTrack() 方法創建,而不是直接調用 Track 建構子。

Track 類別通過從其添加或移除 MidiEvent 物件提供了用於編輯音軌的方法。這些操作使事件列表保持正確的時間順序。還包括用於獲得有關其包含的事件數或刻度持續時間的音軌大小的方法。

另請參見:
Sequencer.setTrackMute(int, boolean), Sequencer.setTrackSolo(int, boolean)

方法摘要
 boolean add(MidiEvent event)
          將新事件添加至音軌。
 MidiEvent get(int index)
          獲得位於指定索引處的事件。
 boolean remove(MidiEvent event)
          從音軌中移除指定的事件。
 int size()
          獲得此音軌中的事件數。
 long ticks()
          獲得音軌的長度,用 MIDI 刻度表示。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法詳細資訊

add

public boolean add(MidiEvent event)
將新事件添加至音軌。如果事件已包含在音軌中,則不再添加。事件列表按時間順序排列,這意味著此事件將插入到列表中的適當位置,而不一定是最後。

參數:
event - 要添加的事件
返回:
如果該事件在音軌中原先不存在並進行了添加,則返回 true,否則返回 false

remove

public boolean remove(MidiEvent event)
從音軌中移除指定的事件。

參數:
event - 要移除的事件
返回:
如果事件原先在音軌中存在但後來被移除,則返回 true,否則返回 false

get

public MidiEvent get(int index)
              throws ArrayIndexOutOfBoundsException
獲得位於指定索引處的事件。

參數:
index - 事件向量中所需事件的位置
拋出:
ArrayIndexOutOfBoundsException - 如果指定的索引為負或小於此音軌的當前大小。
ArrayIndexOutOfBoundsException
另請參見:
size()

size

public int size()
獲得此音軌中的事件數。

返回:
音軌的事件向量的大小

ticks

public long ticks()
獲得音軌的長度,用 MIDI 刻度表示。(刻度持續的秒數由包含此音軌的 Sequence 的計時精度確定,同時也取決於由 sequencer 設置的音樂的節拍。)

返回:
持續時間,以刻度為單位
另請參見:
Sequence.Sequence(float, int), Sequencer.setTempoInBPM(float), Sequencer.getTickPosition()

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only