|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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(),
LineListenerint getFrameLength()
AudioSystem.NOT_SPECIFIEDAudioSystem.NOT_SPECIFIEDlong getMicrosecondLength()
AudioSystem.NOT_SPECIFIEDAudioSystem.NOT_SPECIFIEDvoid 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 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。