JavaTM 2 Platform
Standard Ed. 5.0

javax.sound.midi
インタフェース Sequencer

すべてのスーパーインタフェース:
MidiDevice

public interface Sequencer
extends MidiDevice

MIDI シーケンスを再生するハードウェアデバイスまたはソフトウェアデバイスのことを「シーケンサ」といいます。MIDI シーケンスには、標準 MIDI ファイルから読み込まれたデータなどの、時刻表示された MIDI データのリストが含まれます。ほとんどのシーケンサは、シーケンスを作成し編集する機能も提供します。

Sequencer インタフェースには、次のような基本的な MIDI シーケンサ操作が含まれます。

さらに、直接に、または Sequencer がアクセスできるオブジェクトを通じて間接的に、次の操作もサポートされます。

関連項目:
Sequencer.SyncMode, addMetaEventListener(javax.sound.midi.MetaEventListener), ControllerEventListener, Receiver, Transmitter, MidiDevice

入れ子のクラスの概要
static class Sequencer.SyncMode
          SyncMode オブジェクトは、MIDI シーケンサで扱われている時間をマスターまたはスレーブデバイスと同期化する方法の 1 つを表現しています。
 
インタフェース javax.sound.midi.MidiDevice から継承された入れ子のクラス/インタフェース
MidiDevice.Info
 
フィールドの概要
static int LOOP_CONTINUOUSLY
          ループを特定回数くり返した後で終了するのではなく、無制限に継続することを示す値
 
メソッドの概要
 int[] addControllerEventListener(ControllerEventListener listener, int[] controllers)
          要求された種類の制御変更イベントをシーケンサが処理する時に通知を受け取るためのコントローライベントリスナーを登録します。
 boolean addMetaEventListener(MetaEventListener listener)
          メタイベントがシーケンスで発生してシーケンサによって処理される時に通知を受け取るためメタイベントリスナーを登録します。
 int getLoopCount()
          再生の反復数を取得します。
 long getLoopEndPoint()
          ループの終点を取得します (MIDI ティック単位)。
 long getLoopStartPoint()
          ループの始点を取得します (MIDI ティック単位)。
 Sequencer.SyncMode getMasterSyncMode()
          このシーケンサの現在のマスター同期モードを取得します。
 Sequencer.SyncMode[] getMasterSyncModes()
          このシーケンサがサポートするマスター同期モードのセットを取得します。
 long getMicrosecondLength()
          マイクロ秒で表した現在のシーケンスの長さを取得します。
 long getMicrosecondPosition()
          シーケンス上の現在の位置をマイクロ秒単位で取得します。
 Sequence getSequence()
          シーケンサが現在操作しているシーケンスを取得します。
 Sequencer.SyncMode getSlaveSyncMode()
          このシーケンサの現在のスレーブ同期モードを取得します。
 Sequencer.SyncMode[] getSlaveSyncModes()
          シーケンサがサポートするスレーブ同期モードのセットを取得します。
 float getTempoFactor()
          シーケンサの現在のテンポ係数を返します。
 float getTempoInBPM()
          1 分当たりのビートで表示される現在のテンポを取得します。
 float getTempoInMPQ()
          四分音符当たりのマイクロ秒で表示される現在のテンポを取得します。
 long getTickLength()
          MIDI ティックで表した現在のシーケンスの長さを取得します。
 long getTickPosition()
          シーケンスの現在の位置を MIDI ティック単位で取得します。
 boolean getTrackMute(int track)
          トラックの現在のミュート状態を取得します。
 boolean getTrackSolo(int track)
          トラックの現在のソロ状態を取得します。
 boolean isRecording()
          シーケンサが現在録音中かどうかを示します。
 boolean isRunning()
          シーケンサが現在実行中かどうかを示します。
 void recordDisable(Track track)
          指定されたトラックに対して、録音不可にします。
 void recordEnable(Track track, int channel)
          指定されたトラックに、特定のチャネルで受信するイベントを録音する準備をします。
 int[] removeControllerEventListener(ControllerEventListener listener, int[] controllers)
          1 つ以上の種類のコントローライベントについて、コントローライベントリスナーの処理対象を削除します。
 void removeMetaEventListener(MetaEventListener listener)
          実際にリスナーが登録された場合、このシーケンサの登録済リスナーのリストから指定されたメタイベントリスナーを削除します。
 void setLoopCount(int count)
          ループを再生する反復回数を設定します。
 void setLoopEndPoint(long tick)
          ループで最後に再生される MIDI ティックを設定します。
 void setLoopStartPoint(long tick)
          ループで再生する最初の MIDI ティックを設定します。
 void setMasterSyncMode(Sequencer.SyncMode sync)
          このシーケンサが使用するタイミング情報のソースを設定します。
 void setMicrosecondPosition(long microseconds)
          シーケンス上の現在の位置をマイクロ秒単位で設定します。
 void setSequence(InputStream stream)
          シーケンサが操作する現在のシーケンスを設定します。
 void setSequence(Sequence sequence)
          シーケンサが操作する現在のシーケンスを設定します。
 void setSlaveSyncMode(Sequencer.SyncMode sync)
          シーケンサのスレーブ同期モードを設定します。
 void setTempoFactor(float factor)
          指定された係数によりシーケンサの実際の再生テンポをスケーリングします。
 void setTempoInBPM(float bpm)
          テンポを 1 分当たりのビートで設定します。
 void setTempoInMPQ(float mpq)
          テンポを四分音符当たりのマイクロ秒で設定します。
 void setTickPosition(long tick)
          現在のシーケンサの位置を MIDI ティックで設定します。
 void setTrackMute(int track, boolean mute)
          トラックのミュート状態を設定します。
 void setTrackSolo(int track, boolean solo)
          トラックのソロ状態を設定します。
 void start()
          現在ロードされているシーケンス内の MIDI データの再生を開始します。
 void startRecording()
          MIDI データの録音および再生を開始します。
 void stop()
          アクティブの場合録音を停止し、現在ロードされているシーケンスがあれば、その再生を停止します。
 void stopRecording()
          アクティブの場合録音を停止します。
 
インタフェース javax.sound.midi.MidiDevice から継承されたメソッド
close, getDeviceInfo, getMaxReceivers, getMaxTransmitters, getReceiver, getReceivers, getTransmitter, getTransmitters, isOpen, open
 

フィールドの詳細

LOOP_CONTINUOUSLY

static final int LOOP_CONTINUOUSLY
ループを特定回数くり返した後で終了するのではなく、無制限に継続することを示す値

導入されたバージョン:
1.5
関連項目:
setLoopCount(int), 定数フィールド値
メソッドの詳細

setSequence

void setSequence(Sequence sequence)
                 throws InvalidMidiDataException
シーケンサが操作する現在のシーケンスを設定します。

このメソッドは、Sequencer が閉じている場合でも呼び出すことができます。

パラメータ:
sequence - ロードするシーケンス
例外:
InvalidMidiDataException - シーケンスが無効な MIDI データを含んでいるか、またはシーケンスがサポートされていない場合

setSequence

void setSequence(InputStream stream)
                 throws IOException,
                        InvalidMidiDataException
シーケンサが操作する現在のシーケンスを設定します。ストリームは MIDI ファイルデータを示す必要があります。

このメソッドは、Sequencer が閉じている場合でも呼び出すことができます。

パラメータ:
stream - MIDI ファイルデータを含むストリーム
例外:
IOException - ストリームの読み込み中に入出力例外が発生した場合
InvalidMidiDataException - ストリームで無効なデータが発生したか、またはストリームがサポートされていない場合

getSequence

Sequence getSequence()
シーケンサが現在操作しているシーケンスを取得します。

このメソッドは、Sequencer が閉じている場合でも呼び出すことができます。

戻り値:
現在のシーケンス、またはシーケンスが現在設定されていない場合は null

start

void start()
現在ロードされているシーケンス内の MIDI データの再生を開始します。再生は現在の位置から始まります。再生位置がループの終点に達したときにループカウントが 1 以上の場合には、ループの始点から再生が再開され、これが setLoopCount で設定された反復数だけ繰り返されます。その反復の後、またはループカウントが 0 のとき、再生はシーケンスの終わりまで続行されます。

この実装により、適切なコントローラ、ピッチベンド、およびプログラム変更イベントが送信されます。この結果、ループの始点に移動したときにシンセサイザの状態の一貫性が保証されます。

例外:
IllegalStateException - Sequencer が閉じられている場合
関連項目:
setLoopStartPoint(long), setLoopEndPoint(long), setLoopCount(int), stop()

stop

void stop()
アクティブの場合録音を停止し、現在ロードされているシーケンスがあれば、その再生を停止します。

例外:
IllegalStateException - Sequencer が閉じられている場合
関連項目:
start(), isRunning()

isRunning

boolean isRunning()
シーケンサが現在実行中かどうかを示します。デフォルトは false です。start() または startRecording() が呼び出されると、シーケンサは実行を開始します。その後シーケンスの再生が完了するか、または stop() が呼び出されるまでの間、isRunningtrue を返します。

戻り値:
シーケンサが実行中の場合は true、そうでない場合は false

startRecording

void startRecording()
MIDI データの録音および再生を開始します。データは、トラックが使用可能になっているチャネルの、使用可能な全トラックに録音されます。録音はシーケンサの現在の位置から開始されます。すでにトラックにあるイベントは録音セッション中に上書きされます。現在ロードされているシーケンスからのイベントがあれば、そのイベントは録音中に受信するメッセージと一緒にシーケンサのトランスミッタに配信されます。

トラックはデフォルトでは録音可能になっていません。MIDI データを録音するためには、少なくとも 1 つのトラックが具体的に録音可能になっている必要があります。

例外:
IllegalStateException - Sequencer が閉じられている場合
関連項目:
startRecording(), recordEnable(javax.sound.midi.Track, int), recordDisable(javax.sound.midi.Track)

stopRecording

void stopRecording()
アクティブの場合録音を停止します。現在のシーケンスの再生は継続します。

例外:
IllegalStateException - Sequencer が閉じられている場合
関連項目:
startRecording(), isRecording()

isRecording

boolean isRecording()
シーケンサが現在録音中かどうかを示します。デフォルトは false です。シーケンサは startRecording() が呼び出されると録音を開始し、その後は stop() または stopRecording() が呼び出されるまでこのメソッドは true を返します。

戻り値:
シーケンサが録音中の場合は true、そうでない場合は false

recordEnable

void recordEnable(Track track,
                  int channel)
指定されたトラックに、特定のチャネルで受信するイベントを録音する準備をします。トラックを使用可能にしておくと、録音がアクティブになったときにイベントを受信します。

パラメータ:
track - イベントが録音されるトラック
channel - イベントが受信されるチャネル。チャネル値に -1 が指定されている場合、トラックは全チャネルからのデータを受信する
例外:
IllegalArgumentException - トラックが現在のシーケンスの一部でない場合、スローされる

recordDisable

void recordDisable(Track track)
指定されたトラックに対して、録音不可にします。それ以降のイベントはこのトラックには録音されません。

パラメータ:
track - 録音を不可にするトラック、または全トラックを録音不可にする場合は null

getTempoInBPM

float getTempoInBPM()
1 分当たりのビートで表示される現在のテンポを取得します。再生の実際のテンポは、返された値およびテンポ係数で決まります。

戻り値:
1 分当たりのビートで表示される現在のテンポ
関連項目:
getTempoFactor(), setTempoInBPM(float), getTempoInMPQ()

setTempoInBPM

void setTempoInBPM(float bpm)
テンポを 1 分当たりのビートで設定します。再生の実際のテンポは、指定された値およびテンポ係数で決まります。

パラメータ:
bpm - 設定したい新たなテンポ (1 分当たりのビート)
関連項目:
getTempoFactor(), setTempoInMPQ(float), getTempoInBPM()

getTempoInMPQ

float getTempoInMPQ()
四分音符当たりのマイクロ秒で表示される現在のテンポを取得します。再生の実際のテンポは、返された値およびテンポ係数で決まります。

戻り値:
四分音符当たりのマイクロ秒で表示される現在のテンポ
関連項目:
getTempoFactor(), setTempoInMPQ(float), getTempoInBPM()

setTempoInMPQ

void setTempoInMPQ(float mpq)
テンポを四分音符当たりのマイクロ秒で設定します。再生の実際のテンポは、指定された値およびテンポ係数で決まります。

パラメータ:
mpq - 設定したい新たなテンポ (四分音符当たりのマイクロ秒)
関連項目:
getTempoFactor(), setTempoInBPM(float), getTempoInMPQ()

setTempoFactor

void setTempoFactor(float factor)
指定された係数によりシーケンサの実際の再生テンポをスケーリングします。デフォルトは 1.0 です。1.0 という値は通常の速さ (シーケンスで指定されたテンポ) を表し、2.0 は 2 倍速いことを表します。テンポ係数は、getTempoInMPQ() および getTempoInBPM() から返される値には影響しません。これらの値はスケーリング前のテンポを示します。

外部同期が使用されている場合はテンポ係数は調整できません。外部同期が使用されている場合、setTempoFactor はテンポ係数を常に 1.0 に設定します。

パラメータ:
factor - 要求されたテンポスカラー
関連項目:
getTempoFactor()

getTempoFactor

float getTempoFactor()
シーケンサの現在のテンポ係数を返します。デフォルトは 1.0 です。

戻り値:
テンポ係数
関連項目:
setTempoFactor(float)

getTickLength

long getTickLength()
MIDI ティックで表した現在のシーケンスの長さを取得します。シーケンスが設定されていない場合は、0 が返されます。

戻り値:
ティック表示によるこのシーケンスの長さ

getTickPosition

long getTickPosition()
シーケンスの現在の位置を MIDI ティック単位で取得します。なお、1 ティックのデュレーション (秒単位) は、Sequence に格納されているテンポとタイミング解像度の両方によって決まります。

戻り値:
現在のティック
関連項目:
setTickPosition(long)

setTickPosition

void setTickPosition(long tick)
現在のシーケンサの位置を MIDI ティックで設定します。

パラメータ:
tick - 設定したいティック位置
関連項目:
getTickPosition()

getMicrosecondLength

long getMicrosecondLength()
マイクロ秒で表した現在のシーケンスの長さを取得します。シーケンスが設定されていない場合は、0 が返されます。

戻り値:
マイクロ秒単位でのシーケンスの長さ

getMicrosecondPosition

long getMicrosecondPosition()
シーケンス上の現在の位置をマイクロ秒単位で取得します。

定義:
インタフェース MidiDevice 内の getMicrosecondPosition
戻り値:
マイクロ秒単位での現在の位置
関連項目:
setMicrosecondPosition(long)

setMicrosecondPosition

void setMicrosecondPosition(long microseconds)
シーケンス上の現在の位置をマイクロ秒単位で設定します。

パラメータ:
microseconds - 設定したい位置 (マイクロ秒単位)
関連項目:
getMicrosecondPosition()

setMasterSyncMode

void setMasterSyncMode(Sequencer.SyncMode sync)
このシーケンサが使用するタイミング情報のソースを設定します。シーケンサはマスターに同期化します。マスターは sync の値に応じて内部クロック、MIDI クロック、または MIDI タイムコードのどれかになります。sync 引数は、getMasterSyncModes() から返される、サポートされているモードの 1 つであることが必要です。

パラメータ:
sync - 設定したいマスター同期モード
関連項目:
Sequencer.SyncMode.INTERNAL_CLOCK, Sequencer.SyncMode.MIDI_SYNC, Sequencer.SyncMode.MIDI_TIME_CODE, getMasterSyncMode()

getMasterSyncMode

Sequencer.SyncMode getMasterSyncMode()
このシーケンサの現在のマスター同期モードを取得します。

戻り値:
現在のマスター同期モード
関連項目:
setMasterSyncMode(Sequencer.SyncMode), getMasterSyncModes()

getMasterSyncModes

Sequencer.SyncMode[] getMasterSyncModes()
このシーケンサがサポートするマスター同期モードのセットを取得します。

戻り値:
使用可能なマスター同期モード
関連項目:
Sequencer.SyncMode.INTERNAL_CLOCK, Sequencer.SyncMode.MIDI_SYNC, Sequencer.SyncMode.MIDI_TIME_CODE, getMasterSyncMode(), setMasterSyncMode(Sequencer.SyncMode)

setSlaveSyncMode

void setSlaveSyncMode(Sequencer.SyncMode sync)
シーケンサのスレーブ同期モードを設定します。これはシーケンサからレシーバに送信されるタイミング情報の種類を示します。sync 引数は、getSlaveSyncModes() から返される、サポートされているモードの 1 つであることが必要です。

パラメータ:
sync - 設定したいスレーブ同期モード
関連項目:
Sequencer.SyncMode.MIDI_SYNC, Sequencer.SyncMode.MIDI_TIME_CODE, Sequencer.SyncMode.NO_SYNC, getSlaveSyncModes()

getSlaveSyncMode

Sequencer.SyncMode getSlaveSyncMode()
このシーケンサの現在のスレーブ同期モードを取得します。

戻り値:
現在のスレーブ同期モード
関連項目:
setSlaveSyncMode(Sequencer.SyncMode), getSlaveSyncModes()

getSlaveSyncModes

Sequencer.SyncMode[] getSlaveSyncModes()
シーケンサがサポートするスレーブ同期モードのセットを取得します。

戻り値:
使用可能なスレーブ同期モード
関連項目:
Sequencer.SyncMode.MIDI_SYNC, Sequencer.SyncMode.MIDI_TIME_CODE, Sequencer.SyncMode.NO_SYNC

setTrackMute

void setTrackMute(int track,
                  boolean mute)
トラックのミュート状態を設定します。このメソッドはいくつかの理由で失敗することがあります。たとえば、指定されたトラック番号が現在のシーケンスに対して有効でない、あるいはシーケンサがこの機能をサポートしていない、などです。この操作が成功したかどうかを確認する必要のあるアプリケーションでは、この呼び出しに続いて getTrackMute(int) を呼び出してください。

パラメータ:
track - トラック番号。現在のシーケンスのトラックは、0 からシーケンスのトラック数引く 1 の範囲で番号付けされる
mute - トラックの新しいミュート状態。true はトラックがミュートであることを意味し、false はトラックがミュートでないことを意味する
関連項目:
getSequence()

getTrackMute

boolean getTrackMute(int track)
トラックの現在のミュート状態を取得します。ミュートになっていない全トラックのデフォルトミュート状態は false です。指定されたトラックがミュートになっていない場合にはいつでも、このメソッドは false を返します。これは、シーケンサがトラックのミュート化をサポートしていない場合や、指定されたトラックインデックスが有効でない場合にも当てはまります。

パラメータ:
track - トラック番号。現在のシーケンスのトラックは、0 からシーケンスのトラック数引く 1 の範囲で番号付けされる
戻り値:
ミュートの場合は true、そうでない場合は false

setTrackSolo

void setTrackSolo(int track,
                  boolean solo)
トラックのソロ状態を設定します。solotrue の場合は、このトラックおよびソロになっている他のトラックの音だけが聞こえます。solofalse の場合は、ソロになっている他のトラックの音だけが聞こえますが、ソロになっているトラックがないときはミュートになっていないトラックの音がすべて聞こえます。

このメソッドはいくつかの理由で失敗することがあります。たとえば、指定されたトラック番号が現在のシーケンスに対して有効でない、あるいはシーケンサがこの機能をサポートしていない、などです。この操作が成功したかどうかを確認する必要のあるアプリケーションでは、この呼び出しに続いて getTrackSolo(int) を呼び出してください。

パラメータ:
track - トラック番号。現在のシーケンスのトラックは、0 からシーケンスのトラック数引く 1 の範囲で番号付けされる
solo - トラックの新しいソロ状態。true はトラックがソロであることを意味し、false はトラックがソロでないことを意味する
関連項目:
getSequence()

getTrackSolo

boolean getTrackSolo(int track)
トラックの現在のソロ状態を取得します。ソロになっていない全トラックのデフォルトミュート状態は false です。指定されたトラックがソロになっていない場合にはいつでも、このメソッドは false を返します。これは、シーケンサがトラックのソロ化をサポートしていない場合や、指定されたトラックインデックスが有効でない場合にも当てはまります。

パラメータ:
track - トラック番号。現在のシーケンスのトラックは、0 からシーケンスのトラック数引く 1 の範囲で番号付けされる
戻り値:
ソロの場合は true、そうでない場合は false

addMetaEventListener

boolean addMetaEventListener(MetaEventListener listener)
メタイベントがシーケンスで発生してシーケンサによって処理される時に通知を受け取るためメタイベントリスナーを登録します。

パラメータ:
listener - 追加するリスナー
戻り値:
リスナーの追加が完了した場合は true、そうでない場合は false
関連項目:
removeMetaEventListener(javax.sound.midi.MetaEventListener), MetaEventListener, MetaMessage

removeMetaEventListener

void removeMetaEventListener(MetaEventListener listener)
実際にリスナーが登録された場合、このシーケンサの登録済リスナーのリストから指定されたメタイベントリスナーを削除します。

パラメータ:
listener - 削除するメタイベントリスナー
関連項目:
addMetaEventListener(javax.sound.midi.MetaEventListener)

addControllerEventListener

int[] addControllerEventListener(ControllerEventListener listener,
                                 int[] controllers)
要求された種類の制御変更イベントをシーケンサが処理する時に通知を受け取るためのコントローライベントリスナーを登録します。種類は MIDI コントローラ番号の配列を含む controllers 引数によって指定されます (各番号は 0 から 127 まで。さまざまな種類のコントローラに対応する番号については、「MIDI 1.0 Specification」を参照)。

返された配列には、リスナーが今受信しようとするイベントの MIDI コントローラ番号を含みます。シーケンサによってはコントローライベント通知をサポートしていない場合があり、その場合、配列の長さは 0 です。ほかのシーケンサはいくつかのコントローラの通知をサポートしますが、全コントローラについてではありません。このメソッドは繰り返し呼び出されることがあります。各回とも、返された配列は、その特定の呼び出しで要求されたコントローラだけでなく、リスナーが通知を受ける全コントローラを示します

パラメータ:
listener - 登録済リスナーのリストに追加するコントローライベントリスナー
controllers - 変更通知が要求される MIDI コントローラ番号
戻り値:
指定されたリスナーに今後変更が報告される全 MIDI コントローラの番号
関連項目:
removeControllerEventListener(javax.sound.midi.ControllerEventListener, int[]), ControllerEventListener

removeControllerEventListener

int[] removeControllerEventListener(ControllerEventListener listener,
                                    int[] controllers)
1 つ以上の種類のコントローライベントについて、コントローライベントリスナーの処理対象を削除します。controllers 引数は、リスナーが今後変更通知を受けとらないコントローラに対応する MIDI 番号の配列です。登録済リスナーのリストからこのリスナーを完全に削除するには、controllersnull を渡します。戻された配列には、リスナーが今後イベントを受信する MIDI コントローラの番号を含んでいます。リスナーがどのコントローラの変更通知も受信しない場合、配列の長さは 0 です。

パラメータ:
listener - 古いリスナー
controllers - 変更通知を取り消す MIDI コントローラ番号、または全コントローラに対して取り消す場合は null
戻り値:
指定されたリスナーに今後変更が報告される全 MIDI コントローラの番号
関連項目:
addControllerEventListener(javax.sound.midi.ControllerEventListener, int[])

setLoopStartPoint

void setLoopStartPoint(long tick)
ループで再生する最初の MIDI ティックを設定します。ループカウンタが 1 以上の場合、ループの終点に達した時点で再生はこの始点に移動します。

始点の値 0 は、ロードされているシーケンスの先頭を意味します。始点の値は終点の値以下でなければならず、ロードされているシーケンスのサイズ内に入っていなければなりません。

シーケンサのループ始点のデフォルトは、シーケンスの先頭です。

パラメータ:
tick - ループの始点 (MIDI ティック単位、ゼロから始まる)
例外:
IllegalArgumentException - 要求されたループ始点を設定できない場合。通常は、始点がシーケンスのデュレーション外にあるか、始点が終点より後にあることが原因
導入されたバージョン:
1.5
関連項目:
setLoopEndPoint(long), setLoopCount(int), getLoopStartPoint(), start()

getLoopStartPoint

long getLoopStartPoint()
ループの始点を取得します (MIDI ティック単位)。

戻り値:
ループの始点 (MIDI ティック単位、ゼロから始まる)
導入されたバージョン:
1.5
関連項目:
setLoopStartPoint(long)

setLoopEndPoint

void setLoopEndPoint(long tick)
ループで最後に再生される MIDI ティックを設定します。ループカウントが 0 の場合はループの終点に達しても再生が続行されます。

終点の値 -1 は、ロードされているシーケンスの最後のティックを意味します。それ以外の場合、終点の値は始点の値以上でなければならず、ロードされているシーケンスのサイズ内に入っていなければなりません。

シーケンサのループ終点のデフォルトは -1 で、シーケンスの最後という意味です。

パラメータ:
tick - ループの終点 (MIDI ティック単位、ゼロから始まる)、または最後のティックを示す -1
例外:
IllegalArgumentException - 要求されたループ終点を設定できない場合。通常は、終点がシーケンスのデュレーション外にあるか、終点が始点より前にあることが原因
導入されたバージョン:
1.5
関連項目:
setLoopStartPoint(long), setLoopCount(int), getLoopEndPoint(), start()

getLoopEndPoint

long getLoopEndPoint()
ループの終点を取得します (MIDI ティック単位)。

戻り値:
ループの終点 (MIDI ティック単位、ゼロから始まる)、またはシーケンスの最後を示す -1
導入されたバージョン:
1.5
関連項目:
setLoopEndPoint(long)

setLoopCount

void setLoopCount(int count)
ループを再生する反復回数を設定します。再生がループの終点に達すると、count 回までループの始点に戻ります。その後は、シーケンスの最後まで再生が続行されます。

このメソッドを呼び出したときの現在位置がループの終点より大きい場合、ループは実行されず、シーケンスの最後まで再生が続行されます。ただし、この呼び出しに続いてループの終点を変更した場合は、ループが実行されます。

count の値を 0 に設定するとループが無効になります。つまり、ループの終点に達しても再生が続行され、ループの始点には戻りません。これがシーケンサのデフォルトです。

ループ中に再生を停止すると、現在のループ状態は解除されます。その後に開始要求を行うとき、中断されたループ操作の影響は受けません。

パラメータ:
count - ループの終点からループの始点まで再生をループバックする回数、またはループが中断されるまでループを継続することを示す場合は LOOP_CONTINUOUSLY
例外:
IllegalArgumentException - count の値が負であり、かつ LOOP_CONTINUOUSLY に等しくない場合
導入されたバージョン:
1.5
関連項目:
setLoopStartPoint(long), setLoopEndPoint(long), getLoopCount(), start()

getLoopCount

int getLoopCount()
再生の反復数を取得します。

戻り値:
ループの回数。その後は、シーケンスの最後まで再生される
導入されたバージョン:
1.5
関連項目:
setLoopCount(int), start()

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。