クラスTrack

java.lang.Object
javax.sound.midi.Track

public final class Track extends Object
MIDIトラックは、標準のMIDIファイルにほかのトラックとともに保存できる、MIDIイベント(タイムスタンプの付いたMIDIデータ)の独立したストリームです。 MIDIの仕様で許容されるMIDIデータは16チャネルだけですが、トラックを使用することでこの制限を回避できます。 1つのMIDIファイルには、16チャネルまでのMIDIデータの独自のストリームを含んだトラックを任意の数だけ格納できます。

Trackは、Sequencerによって演奏されるデータの階層において中間レベルを占有: シーケンサは、MIDIイベントを含むトラックを含むシーケンスを再生します。 シーケンサには、個々のトラックをミュートまたはソロにするコントロールが用意されている場合があります。

トラックのタイミング情報や解像度は、そのトラックを格納しているシーケンスによって制御および保存されます。 特定のTrackは、そのタイミングを維持する特定のSequenceに属するとみなされます。 このため、Trackコンストラクタを直接起動するのではなく、Sequence.createTrack()メソッドをコールして新しい(empty)トラックが作成されます。

Trackクラスでは、MidiEventオブジェクトを追加または削除することでトラックを編集するメソッドが提供されます。 これらの操作を行なっても、イベント・リストの時間順は正しく保たれます。 また、トラックのサイズをそのトラックに含まれるイベント数、またはティック単位でのデュレーションで取得するメソッドも含まれています。

関連項目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    add(MidiEvent event)
    トラックに新しいイベントを追加します。
    get(int index)
    指定したインデックスのイベントを取得します。
    boolean
    指定したイベントをトラックから削除します。
    int
    このトラックに含まれるイベントの数を取得します。
    long
    トラックの長さをMIDIティック単位で取得します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • メソッドの詳細

    • 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 - 指定したインデックスが負、またはこのトラックの現在のサイズ以上である場合
      関連項目:
    • size

      public int size()
      このトラックに含まれるイベントの数を取得します。
      戻り値:
      このトラックのイベント・ベクターのサイズ
    • ticks

      public long ticks()
      トラックの長さをMIDIティック単位で取得します。 (1ティックの秒単位でのデュレーションは、このトラックを格納しているSequenceのタイミング解像度と、シーケンサで設定した音楽のテンポによって決まります)。
      戻り値:
      ティック単位でのデュレーション
      関連項目: