|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface Clip
Clip
インタフェースは特殊な種類のデータラインを表し、そのオーディオデータはリアルタイムでストリーム化するのではなく、再生前にロードできます。
データはプリロードされ長さが認識されているため、クリップを設定するとそのオーディオデータ内の任意の位置から再生を開始できます。また、ループを作成して、クリップを繰り返し再生することもできます。ループを設定するには、再生する回数と、開始および終了サンプルフレームを指定します。
クリップはこのタイプのラインをサポートする
から取得できます。クリップを開くとデータがクリップにロードされます。
Mixer
オーディオクリップの再生は、start
および stop
メソッドを使用して開始および停止できます。これらのメソッドは、メディアの位置をリセットしません。 つまり、start
メソッドを使用すると、最後に停止した位置から再生が再開されます。クリップのオーディオデータの先頭から再生を開始するには、
を呼び出した後で setFramePosition(0) を呼び出すことによりメディアをクリップの先頭に巻き戻します。
stop
入れ子のクラスの概要 |
---|
インタフェース javax.sound.sampled.DataLine から継承された入れ子のクラス/インタフェース |
---|
DataLine.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, getLongFramePosition, getMicrosecondPosition, isActive, isRunning, start, stop |
インタフェース javax.sound.sampled.Line から継承されたメソッド |
---|
addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener |
フィールドの詳細 |
---|
static final int LOOP_CONTINUOUSLY
loop(int)
,
定数フィールド値メソッドの詳細 |
---|
void open(AudioFormat format, byte[] data, int offset, int bufferSize) throws LineUnavailableException
OPEN
イベントがラインのリスナーにディスパッチされます。
すでに開いているラインでこのメソッドを呼び出すのは不適切なアクションであるため、IllegalStateException が表示されることがあります。
ラインによっては、一度閉じると再度開くことができない場合があります。こうしたラインを再度開こうとすると、常に
がスローされます。
LineUnavailableException
format
- 指定されたオーディオデータの形式data
- クリップにロードするオーディオデータを含むバイト配列offset
- 配列の始めからバイト数で表される、コピーの開始地点bufferSize
- 配列からクリップへロードするデータの
バイト数
LineUnavailableException
- リソースの制約のために
ラインを開けない場合
IllegalArgumentException
- バッファーサイズがサンプルフレームサイズ
倍数でない場合、
あるいは format
の指定が不完全または無効な場合
IllegalStateException
- ラインがすでに開いている場合
SecurityException
- セキュリティーの制約のために
ラインを開けない場合Line.close()
,
Line.isOpen()
,
LineListener
void open(AudioInputStream stream) throws LineUnavailableException, IOException
OPEN
イベントがラインのリスナーにディスパッチされます。
すでに開いているラインでこのメソッドを呼び出すのは不適切なアクションであるため、IllegalStateException が表示されることがあります。
ラインによっては、一度閉じると再度開くことができない場合があります。こうしたラインを再度開こうとすると、常に
がスローされます。
LineUnavailableException
stream
- オーディオデータがクリップに読み込まれるオーディオ入力ストリーム
LineUnavailableException
- リソースの制約のために
ラインを開けない場合
IOException
- ストリームの読み込み中に入出力例外が発生した場合
IllegalArgumentException
- ストリームのオーディオ形式の指定が
不完全または無効な場合
IllegalStateException
- ラインがすでに開いている場合
SecurityException
- セキュリティーの制約のために
ラインを開けない場合Line.close()
,
Line.isOpen()
,
LineListener
int getFrameLength()
AudioSystem.NOT_SPECIFIED
AudioSystem.NOT_SPECIFIED
long getMicrosecondLength()
AudioSystem.NOT_SPECIFIED
AudioSystem.NOT_SPECIFIED
void setFramePosition(int frames)
現在の位置をサンプルフレーム数で取得するには、DataLine
の
メソッドを使用します。
getFramePosition
frames
- サンプルフレーム数で表される、必要な新規メディア位置void setMicrosecondPosition(long microseconds)
現在の位置をマイクロ秒単位で取得するには、DataLine
の
メソッドを使用します。
getMicrosecondPosition
microseconds
- マイクロ秒数で表される、必要な新規メディア位置void setLoopPoints(int start, int end)
start
- ループの開始位置 (サンプルフレーム数、ゼロから始まる)end
- ループの最終位置 (サンプルフレーム数、ゼロから始まる)、または
最終フレームを示す場合は -1
IllegalArgumentException
- 要求された
ループ地点が設定できない場合。通常は、開始および最終の両方またはどちらかがメディアの
デュレーション外にあるため、あるいは最終地点が開始ポイントの前に
あるのが原因void loop(int count)
count
回戻り、その後はクリップの最後まで再生します。
このメソッドを呼び出したときに現在の位置がループの最終地点よりも大きくなる場合は、ループは実行されず、クリップの最後までそのまま再生されます。
count
値を 0 にすると、現在のループを停止してクリップの最後まで再生を継続することを示します。ループの操作中に他の値を指定してこのメソッドを呼び出したときの動作は定義されていません。
ループ中に再生を停止すると、現在のループ状態は解除されます。後続のループと開始要求の動作は、中断されたループ操作によって影響を受けません。
count
- ループの終点からループの始点まで再生をループバックする回数、
またはループが中断されるまでループを継続することを示す場合は
LOOP_CONTINUOUSLY
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。