|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Clip
インタフェースは特殊な種類のデータラインを表し、そのオーディオデータはリアルタイムでストリーム化するのではなく、再生前にロードできます。
データはプリロードされ長さが認識されているため、クリップを設定するとそのオーディオデータ内の任意の位置から再生を開始できます。また、ループを作成することもできるので、クリップは再生されると繰り返し循環します。ループは、再生する回数に加え、開始および終了サンプルフレームで指定されます。
クリップはこのタイプのラインをサポートする
から取得できます。データを開くとクリップにロードされます。
Mixer
オーディオクリップの再生は、start
および stop
メソッドを使用して開始および停止できます。これらのメソッドは、メディアの位置をリセットしません。つまり、start
メソッドを使用すると、最後に停止した位置から再生が始まります。クリップのオーディオデータの始めから再生を開始するには、メディアをクリップの始めに巻き戻す setFramePosition(0) で
を呼び出します。
stop
入れ子クラスの概要 |
クラス javax.sound.sampled.DataLine から継承した入れ子クラス |
DataLine.Info |
クラス javax.sound.sampled.Line から継承した入れ子クラス |
Line.Info |
フィールドの概要 | |
static int |
LOOP_CONTINUOUSLY
ループは特定回数くり返し実行された後で終了するのではなく無制限に継続することを示す値 |
メソッドの概要 | |
int |
getFrameLength()
メディアの長さをサンプルフレーム数で取得します。 |
long |
getMicrosecondLength()
メディアデュレーションをマイクロ秒単位で取得します。 |
void |
loop(int count)
現在の位置からループ再生を開始します。 |
void |
open(AudioFormat format,
byte[] data,
int offset,
int bufferSize)
クリップを開き、必要なシステムリソースを獲得して操作可能になっていることを示します。 |
void |
open(AudioInputStream stream)
指定されたオーディオ入力ストリーム内に形式およびオーディオデータが提示されているクリップを開きます。 |
void |
setFramePosition(int frames)
メディアの位置をサンプルフレーム数で設定します。 |
void |
setLoopPoints(int start,
int end)
ループ内で再生される最初および最後のサンプルフレームを設定します。 |
void |
setMicrosecondPosition(long microseconds)
メディア位置をマイクロ秒単位で設定します。 |
インタフェース javax.sound.sampled.DataLine から継承したメソッド |
available, drain, flush, getBufferSize, getFormat, getFramePosition, getLevel, getMicrosecondPosition, isActive, isRunning, start, stop |
インタフェース javax.sound.sampled.Line から継承したメソッド |
addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener |
フィールドの詳細 |
public static final int LOOP_CONTINUOUSLY
loop(int)
,
定数フィールド値メソッドの詳細 |
public void open(AudioFormat format, byte[] data, int offset, int bufferSize) throws LineUnavailableException
OPEN
イベントはラインのリスナーにディスパッチされます。
すでに開いているラインでこのメソッドを呼び出すのは不適切なアクションであるため、IllegalStateException が表示されることがあります。
ラインによっては、一度閉じると再度開けない場合があります。こうしたラインを再度開こうとすると、常に が表示されます。
format
- 指定されたオーディオデータの形式data
- クリップにロードするオーディオデータを含むバイト配列offset
- 配列の始めからバイト数で表される、コピーの開始地点bufferSize
- 配列からクリップへロードするデータのバイト数
LineUnavailableException
- リソースの制約のためにラインを開けない場合
IllegalArgumentException
- バッファサイズがサンプルフレームの積分数を表示しない場合
IllegalStateException
- ラインがすでに開いている場合
SecurityException
- セキュリティ上の制約のためにラインを開けない場合Line.close()
,
Line.isOpen()
,
LineListener
public void open(AudioInputStream stream) throws LineUnavailableException, IOException
OPEN
イベントがラインのリスナーにディスパッチされます。
すでに開いているラインでこのメソッドを呼び出すのは不適切なアクションであるため、IllegalStateException が表示されることがあります。
ラインによっては、一度閉じると再度開けない場合があります。こうしたラインを再度開こうとすると、常に が表示されます。
stream
- オーディオデータがクリップに読み込まれるオーディオ入力ストリーム
LineUnavailableException
- リソースの制約のためにラインを開けない場合
IOException
- ストリームの読み込み中に入出力例外が発生した場合
IllegalStateException
- ラインがすでに開いている場合
SecurityException
- セキュリティ上の制約のためにラインを開けない場合Line.close()
,
Line.isOpen()
,
LineListener
public int getFrameLength()
AudioSystem.NOT_SPECIFIED
AudioSystem.NOT_SPECIFIED
public long getMicrosecondLength()
AudioSystem.NOT_SPECIFIED
AudioSystem.NOT_SPECIFIED
public void setFramePosition(int frames)
現在の位置をサンプルフレーム数で取得するには、DataLine
の
メソッドを使用します。
getFramePosition
frames
- サンプルフレーム数で表される、必要な新規メディア位置public void setMicrosecondPosition(long microseconds)
現在の位置をマイクロ秒単位で取得するには、DataLine
の
メソッドを使用します。
getMicrosecondPosition
microseconds
- マイクロ秒数で表される、必要な新規メディア位置public void setLoopPoints(int start, int end)
start
- ループの開始位置 (サンプルフレーム数、ゼロから始まる)end
- ループの最終位置 (サンプルフレーム数、ゼロから始まる)、または最終フレームを示す場合は -1
IllegalArgumentException
- 要求されたループ地点が設定できない場合。通常は、開始および最終の両方またはどちらかがメディアのデュレーション外にあるため、あるいは最終地点が開始ポイントの前にあるのが原因public void loop(int count)
count
回戻り、最後にクリップの最後まで再生します。
このメソッドを呼び出したときに現在の位置がループの最終地点よりも大きくなる場合は、ループは実行されず、クリップの最後までそのまま再生されます。
count
値を 0 にすると、現在のループを停止してクリップの最後まで再生を継続することを示します。ループの操作中に他の値を指定してこのメソッドを呼び出したときの動作は定義されていません。
ループ中に再生を停止すると、現在のループ状態は解除されます。後続のループと開始要求の動作は、中断されたループ操作によって影響を受けません。
count
- 再生がループの最終地点からループの開始地点へループバックされる回数、またはループが中断されるまで継続することを示す場合は LOOP_CONTINUOUSLY
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.