- すべてのスーパー・インタフェース:
AutoCloseable
,MidiDevice
sequence
を再生するハードウェアまたはソフトウェア・デバイスは、sequencerとして知られています。 MIDIシーケンスには、標準MIDIファイルから読み込まれたデータなどの、タイムスタンプの付いたMIDIデータのリストが含まれます。 ほとんどのシーケンサは、シーケンスを作成し編集する機能も提供します。
Sequencer
インタフェースには、次のような基本的なMIDIシーケンサ操作のメソッドが含まれます。
- MIDIデータ・ファイルからのシーケンスの取得
- 再生の開始と停止
- シーケンス上の任意の位置への移動
- 再生のテンポ(スピード)の変更
- 内部クロックまたは受信したMIDIメッセージへの再生の同期化
- ほかのデバイスのタイミングの制御
Sequencer
がアクセスできるオブジェクトを通じて間接的に、次の操作もサポートされます。
- 個々のMIDIイベントまたはトラック全体の追加または削除によるデータの編集
- シーケンスの個々のトラックのミュート化またはソロ化
- シーケンスの再生中に発生したメタイベントまたは制御変更イベントに関するオブジェクトの、リスナーへの通知
-
ネストされたクラスのサマリー
修飾子と型インタフェース説明static class
SyncMode
オブジェクトは、MIDIシーケンサで扱われている時間をマスターまたはスレーブ・デバイスと同期化する方法の1つを表します。インタフェース javax.sound.midi.MidiDeviceで宣言されたネストされたクラス/インタフェース
MidiDevice.Info
-
フィールドのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明int[]
addControllerEventListener(ControllerEventListener listener, int[] controllers)
要求された種類の制御変更イベントをシーケンサが処理するときに通知を受け取るためのコントローラ・イベント・リスナーを登録します。boolean
addMetaEventListener(MetaEventListener listener)
メタイベントがシーケンスで発生してシーケンサによって処理されるときに通知を受け取るためメタイベント・リスナーを登録します。int
再生の反復数を取得します。long
ループの終点を取得します(MIDIティック単位)。long
ループの始点を取得します(MIDIティック単位)。このシーケンサの現在のマスター同期モードを取得します。このシーケンサがサポートするマスター同期モードのセットを取得します。long
マイクロ秒で表した現在のシーケンスの長さを取得します。シーケンスが設定されていない場合は、0が返されます。long
シーケンス上の現在の位置をマイクロ秒単位で取得します。シーケンサが現在操作しているシーケンスを取得します。このシーケンサの現在のスレーブ同期モードを取得します。シーケンサがサポートするスレーブ同期モードのセットを取得します。float
シーケンサの現在のテンポ係数を返します。float
1分当たりのビートで表示される現在のテンポを取得します。float
四分音符当たりのマイクロ秒で表示される現在のテンポを取得します。long
MIDIティックで表した現在のシーケンスの長さを取得します。シーケンスが設定されていない場合は、0が返されます。long
シーケンスの現在の位置をMIDIティック単位で取得します。boolean
getTrackMute(int track)
トラックの現在のミュート状態を取得します。boolean
getTrackSolo(int track)
トラックの現在のソロ状態を取得します。boolean
シーケンサが現在録音中かどうかを示します。boolean
シーケンサが現在実行中かどうかを示します。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
このシーケンサが使用するタイミング情報のソースを設定します。void
setMicrosecondPosition(long microseconds)
シーケンス上の現在の位置をマイクロ秒単位で設定します。void
setSequence(InputStream stream)
シーケンサが操作する現在のシーケンスを設定します。void
setSequence(Sequence sequence)
シーケンサが操作する現在のシーケンスを設定します。void
シーケンサのスレーブ同期モードを設定します。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
MIDIデータの録音および再生を開始します。void
stop()
アクティブの場合録音を停止し、現在ロードされているシーケンスがあれば、その再生を停止します。void
アクティブの場合録音を停止します。インタフェース 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()
のいずれかが呼び出されると、シーケンサは実行を開始します。isRunning
は、シーケンスの再生が完了するか、stop()
が呼び出されるまで、true
を返します。- 戻り値:
- シーケンサが実行中の場合は
true
、そうでない場合はfalse
-
startRecording
void startRecording()MIDIデータの録音および再生を開始します。 データは、トラックが使用可能になっているチャネルの、使用可能な全トラックに録音されます。 録音はシーケンサの現在の位置から開始されます。 すでにトラックにあるイベントは録音セッション中に上書きされます。 現在ロードされているシーケンスからのイベントがあれば、そのイベントは録音中に受信するメッセージと一緒にシーケンサのトランスミッタに配信されます。トラックはデフォルトでは録音可能になっていません。 MIDIデータを録音するためには、少なくとも1つのトラックが具体的に録音可能になっている必要があります。
- 例外:
IllegalStateException
-Sequencer
が閉じている場合- 関連項目:
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ティック単位で取得します。 (ティックの持続時間は、テンポとSequence
に保存されているタイミング解像度の両方によって決まります。)- 戻り値:
- 現在のティック
- 関連項目:
setTickPosition(long)
-
setTickPosition
void setTickPosition(long tick)現在のシーケンサの位置をMIDIティックで設定します。- パラメータ:
tick
- 目的のティック位置- 関連項目:
getTickPosition()
-
getMicrosecondLength
long getMicrosecondLength()マイクロ秒で表した現在のシーケンスの長さを取得します。シーケンスが設定されていない場合は、0が返されます。- 戻り値:
- マイクロ秒単位でのシーケンスの長さ
-
getMicrosecondPosition
long getMicrosecondPosition()シーケンス上の現在の位置をマイクロ秒単位で取得します。- 定義:
getMicrosecondPosition
、インタフェース:MidiDevice
- 戻り値:
- マイクロ秒単位での現在の位置
- 関連項目:
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(SyncMode)
,getMasterSyncModes()
-
getMasterSyncModes
Sequencer.SyncMode[] getMasterSyncModes()このシーケンサがサポートするマスター同期モードのセットを取得します。 -
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(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)トラックのソロ状態を設定します。solo
がtrue
の場合は、このトラックおよびソロになっているほかのトラックの音だけが聞こえます。solo
がfalse
の場合は、ソロになっているほかのトラックの音だけが聞こえますが、ソロになっているトラックがないときはミュートになっていないトラックの音がすべて聞こえます。このメソッドはいくつかの理由で失敗することがあります。 たとえば、指定されたトラック番号が現在のシーケンスに対して有効でない、あるいはシーケンサがこの機能をサポートしていない、などです。 この操作が成功したかどうかを検証する必要があるアプリケーションは、
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仕様を参照。)戻された配列には、リスナーが今後イベントを受信するMIDIコントローラの番号を含んでいます。 シーケンサによってはコントローラ・イベント通知をサポートしていない場合があり、その場合、配列の長さは0です。 ほかのシーケンサはいくつかのコントローラの通知をサポートしますが、全コントローラについてではありません。 このメソッドは繰返し呼び出されることがあります。 各回とも、返された配列は、その特定の呼出しで要求されたコントローラだけでなく、リスナーが通知を受ける全コントローラを示します。
- パラメータ:
listener
- 登録済みリスナーのリストに追加するコントローラ・イベント・リスナーcontrollers
- 変更通知が要求されるMIDIコントローラ番号- 戻り値:
- 指定されたリスナーに今後変更が報告される全MIDIコントローラの番号
- 関連項目:
removeControllerEventListener(javax.sound.midi.ControllerEventListener, int[])
、ControllerEventListener
-
removeControllerEventListener
int[] removeControllerEventListener(ControllerEventListener listener, int[] controllers)1つ以上の種類のコントローラ・イベントについて、コントローラ・イベント・リスナーの処理対象を削除します。controllers
引数は、リスナーが今後変更通知を受けとらないコントローラに対応するMIDI番号の配列です。 登録済みリスナーのリストからこのリスナーを完全に削除するには、controllers
にnull
を渡します。 戻された配列には、リスナーが今後イベントを受信する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()
-