public class Sequence extends Object
Sequence
は、Sequencer
オブジェクトで再生できる音楽情報 (多くは曲全体または編) を含むデータ構造です。具体的には、Sequence
はタイミング情報および 1 つ以上のトラックを含んでいます。各 track
は、一連の MIDI イベント (ノートオン、ノートオフ、プログラム変更、メタイベントなど) から構成されています。シーケンスのタイミング情報は、そのシーケンスのイベントのタイムスタンプに使用される単位を指定します。
Sequence
を MIDI ファイルから作成するには、そのファイルを入力ストリームに読み込んで MidiSystem
の getSequence
メソッドの 1 つを呼び出します。また、シーケンスをゼロから作成するには、空き Sequence
に新しい Tracks
を追加し、それらの Tracks
に
オブジェクトを追加します。MidiEvent
修飾子と型 | フィールドと説明 |
---|---|
protected float |
divisionType
シーケンスのタイミング分割形式です。
|
static float |
PPQ
テンポベースのタイミング形式で、これに対する解像度は四分音符当たりのパルス (ティック) で表示されます。
|
protected int |
resolution
シーケンスのタイミング解像度です。
|
static float |
SMPTE_24
SMPTE ベースのタイミング形式で、1 秒当たり 24 フレームです (解像度は 1 フレーム当たりのティックで表示)。
|
static float |
SMPTE_25
SMPTE ベースのタイミング形式で、1 秒当たり 25 フレームです (解像度は 1 フレーム当たりのティックで表示)。
|
static float |
SMPTE_30
SMPTE ベースのタイミング形式で、1 秒当たり 30 フレームです (解像度は 1 フレーム当たりのティックで表示)。
|
static float |
SMPTE_30DROP
SMPTE ベースのタイミング形式で、1 秒当たり 29.97 フレームです (解像度は 1 フレーム当たりのティックで表示)。
|
protected Vector<Track> |
tracks
このシーケンスの MIDI トラックです。
|
コンストラクタと説明 |
---|
Sequence(float divisionType, int resolution)
新しい MIDI シーケンスを、指定されたタイミング分割形式およびタイミング解像度で構築します。
|
Sequence(float divisionType, int resolution, int numTracks)
新しい MIDI シーケンスを、指定されたタイミング分割形式、タイミング解像度、およびトラック数で構築します。
|
修飾子と型 | メソッドと説明 |
---|---|
Track |
createTrack()
空のトラックをこのシーケンスの一部として新しく作成します。
|
boolean |
deleteTrack(Track track)
シーケンスから、指定されたトラックを削除します。
|
float |
getDivisionType()
このシーケンスのタイミング分割形式を取得します。
|
long |
getMicrosecondLength()
マイクロ秒単位のこのシーケンスのデュレーションを取得します。
|
Patch[] |
getPatchList()
このシーケンスで参照されるパッチのリストを取得します。
|
int |
getResolution()
このシーケンスのタイミング解像度を取得します。
|
long |
getTickLength()
MIDI ティック単位のこのシーケンスのデュレーションを取得します。
|
Track[] |
getTracks()
このシーケンスの全トラックを含む配列を取得します。
|
public static final float PPQ
public static final float SMPTE_24
public static final float SMPTE_25
public static final float SMPTE_30DROP
public static final float SMPTE_30
protected float divisionType
PPQ
, SMPTE_24
, SMPTE_25
, SMPTE_30DROP
, SMPTE_30
, getDivisionType()
protected int resolution
getResolution()
protected Vector<Track> tracks
getTracks()
public Sequence(float divisionType, int resolution) throws InvalidMidiDataException
divisionType
は PPQ (四分音符あたりのパルス) で、解像度はビートあたりのティックで指定されます。SMTPE タイミングの場合、divisionType
が 1 秒あたりのフレーム数を指定し、解像度はフレームあたりのティックで指定されます。シーケンスには初期トラックを含みません。シーケンスに対するトラックの追加または削除は、createTrack()
および deleteTrack(javax.sound.midi.Track)
を使用して行うことができます。divisionType
- タイミング分割形式 (PPQ、または SMPTE 形式の 1 つ)resolution
- タイミング解像度InvalidMidiDataException
- divisionType
が有効でない場合PPQ
, SMPTE_24
, SMPTE_25
, SMPTE_30DROP
, SMPTE_30
, getDivisionType()
, getResolution()
, getTracks()
public Sequence(float divisionType, int resolution, int numTracks) throws InvalidMidiDataException
divisionType
は PPQ (四分音符あたりのパルス) で、解像度はビートあたりのティックで指定されます。SMTPE タイミングの場合、divisionType
が 1 秒あたりのフレーム数を指定し、解像度はフレームあたりのティックで指定されます。シーケンスは numTracks
で指定されたトラック数で初期化されます。これらのトラックは最初は空です (すなわち、「トラックの終わり」というメタイベントしか含まれていない)。トラックは getTracks()
メソッドを使用して取得し、編集できます。トラックの追加および既存トラックの削除は、createTrack()
および deleteTrack(javax.sound.midi.Track)
を使用して行うことができます。divisionType
- タイミング分割形式 (PPQ、または SMPTE 形式の 1 つ)resolution
- タイミング解像度numTracks
- シーケンスのトラックの初期番号。InvalidMidiDataException
- divisionType
が有効でない場合PPQ
, SMPTE_24
, SMPTE_25
, SMPTE_30DROP
, SMPTE_30
, getDivisionType()
, getResolution()
public float getDivisionType()
PPQ
, SMPTE_24
, SMPTE_25
, SMPTE_30DROP
, SMPTE_30
, Sequence(float, int)
, MidiFileFormat.getDivisionType()
public int getResolution()
getDivisionType()
, Sequence(float, int)
, MidiFileFormat.getResolution()
public Track createTrack()
getTracks()
を使用して取得できます。トラックは deleteTrack(javax.sound.midi.Track)
を使用してシーケンスから削除できます。public boolean deleteTrack(Track track)
track
- 削除するトラックtrue
、そうでない場合は false
。createTrack()
, getTracks()
public Track[] getTracks()
createTrack()
, deleteTrack(javax.sound.midi.Track)
public long getMicrosecondLength()
public long getTickLength()
getMicrosecondLength()
public Patch[] getPatchList()
Instrument
オブジェクトを Synthesizer
にロードできます。Patch
オブジェクトの配列Synthesizer.loadInstruments(Soundbank, Patch[])
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.