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
Sequence(float, int)
、定数フィールド値public static final float SMPTE_24
Sequence(float, int)
、定数フィールド値public static final float SMPTE_25
Sequence(float, int)
、定数フィールド値public static final float SMPTE_30DROP
Sequence(float, int)
、定数フィールド値public static final float SMPTE_30
Sequence(float, int)
、定数フィールド値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, 2014, Oracle and/or its affiliates. All rights reserved.