public interface Mixer extends Line
SourceDataLine
を実装するクラスのインスタンスで、出力ラインは TargetDataLine
を実装するクラスのインスタンスです。Port
オブジェクトもまた、ソースラインまたはターゲットラインのどちらかです。ソースラインのいくつかを Clip
インスタンスを実装するオブジェクトのインスタンスにすることによって、ミキサーは事前に録音されたループするサウンドを入力として受け入れることができます。
Mixer
が継承する Line
インタフェースのメソッドを通じて、ミキサーはそのミキサー全体に影響するようなコントロールのセットを提供できます。たとえば、ミキサーはマスターゲインコントロールを持つことができます。これらのグローバルなコントロールは、ミキサーの個々のラインに属するコントロールとは異なっています。
ミキサーの中で、特に内部デジタルミキシング機能を持つものは、DataLine
インタフェースを実装することによって機能を追加することができます。
ミキサーはラインの同期をサポートできます。同期化されたグループの 1 つのラインが開始または停止すると、グループのほかのラインは、開始または停止を明示されたラインとともに、自動的に同時に開始または停止します。
修飾子と型 | インタフェースと説明 |
---|---|
static class |
Mixer.Info
Mixer.Info クラスは、製品の名前、バージョン、ベンダー、テキスト説明など、オーディオミキサーに関する情報を表します。 |
修飾子と型 | メソッドと説明 |
---|---|
Line |
getLine(Line.Info info)
使用可能で、かつ指定された
Line.Info オブジェクトの記述に一致するラインを取得します。 |
int |
getMaxLines(Line.Info info)
ミキサー上で同時に開くことができる要求されたタイプのラインの最大数の近似値を取得します。
|
Mixer.Info |
getMixerInfo()
製品の名前、バージョン、ベンダーなど、このミキサーに関する情報を取得します。
|
Line.Info[] |
getSourceLineInfo()
このミキサーがサポートしているソースラインのセットに関する情報を取得します。
|
Line.Info[] |
getSourceLineInfo(Line.Info info)
このミキサーがサポートしている特定のタイプのソースラインに関する情報を取得します。
|
Line[] |
getSourceLines()
このミキサーに対し現在開いている全ソースラインのセットを取得します。
|
Line.Info[] |
getTargetLineInfo()
このミキサーがサポートしているターゲットラインのセットに関する情報を取得します。
|
Line.Info[] |
getTargetLineInfo(Line.Info info)
このミキサーがサポートしている特定のタイプのターゲットラインに関する情報を取得します。
|
Line[] |
getTargetLines()
このミキサーから現在開いている全ターゲットラインのセットを取得します。
|
boolean |
isLineSupported(Line.Info info)
指定された
Line.Info オブジェクトに一致するラインをミキサーがサポートしているかどうかを示します。 |
boolean |
isSynchronizationSupported(Line[] lines, boolean maintainSync)
指定されたラインのセットの同期をこのミキサーがサポートしているかどうかを報告します。
|
void |
synchronize(Line[] lines, boolean maintainSync)
2 つ以上のラインを同期化します。
|
void |
unsynchronize(Line[] lines)
指定されたラインに対して同期を解除します。
|
addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener
Mixer.Info getMixerInfo()
Mixer.Info
Line.Info[] getSourceLineInfo()
Line.Info
オブジェクトの配列。サポートされているソースラインがない場合、長さ 0 の配列が返される。Line.Info[] getTargetLineInfo()
Line.Info
オブジェクトの配列。サポートされているターゲットラインがない場合、長さ 0 の配列が返される。Line.Info[] getSourceLineInfo(Line.Info info)
info
- 情報を照会するラインを記述する Line.Info
オブジェクトLine.Info
オブジェクトの配列。一致するソースラインがサポートされていない場合、長さ 0 の配列が返される。Line.Info[] getTargetLineInfo(Line.Info info)
info
- 情報を照会するラインを記述する Line.Info
オブジェクトLine.Info
オブジェクトの配列。一致するターゲットラインがサポートされていない場合、長さ 0 の配列が返される。boolean isLineSupported(Line.Info info)
Line.Info
オブジェクトに一致するラインをミキサーがサポートしているかどうかを示します。一部のラインは、このミキサーが開いているときしか使用できません。info
- サポートの有無について照会するラインの記述true
、そうでない場合は false
Line getLine(Line.Info info) throws LineUnavailableException
Line.Info
オブジェクトの記述に一致するラインを取得します。
DataLine
が要求され、かつ info
が DataLine.Info
のインスタンスであって、1 つ以上の完全指定のオーディオ形式を指定する場合、最後のものが返される DataLine
のデフォルトの形式になります。
info
- 目的のラインの記述LineUnavailableException
- リソースの制約のために、一致するラインを使用できない場合IllegalArgumentException
- 記述に一致するラインをこのミキサーがサポートしていない場合SecurityException
- セキュリティー上の制約のために、一致するラインを使用できない場合int getMaxLines(Line.Info info)
Line.Info
オブジェクトの記述に一致するラインです。たとえば、情報オブジェクトがスピーカーポートを表し、ミキサーがちょうど 1 つのスピーカーポートをサポートしている場合、このメソッドは 1 を返します。情報オブジェクトがソースデータラインを表し、ミキサーが 32 のソースデータラインの使用を同時にサポートする場合は、戻り値は 32 です。制限が設けられていない場合、この関数は AudioSystem.NOT_SPECIFIED
を返します。info
- サポート対象のインスタンスの数を照会するラインを記述する Line.Info
AudioSystem.NOT_SPECIFIED
Line[] getSourceLines()
SecurityException
- セキュリティーの制約のために、一致するラインを使用できない場合Line[] getTargetLines()
SecurityException
- セキュリティーの制約のために、一致するラインを使用できない場合void synchronize(Line[] lines, boolean maintainSync)
lines
- 同期化されるラインmaintainSync
- ラインの操作中の全時点で同期を正確に維持する必要がある (つまり、同期にサンプルレベルの正確さが必要である) 場合は true
、あるいは開始および停止の操作中のみ正確な同期が必要である場合は false
IllegalArgumentException
- ラインを同期化できない場合。これはラインのタイプが異なるか、このミキサーが同期をサポートしない異なるフォーマットをラインが持っている場合、あるいは指定された全ラインがこのミキサーに属していない場合に発生する。void unsynchronize(Line[] lines)
null
を指定することもできます。この場合は、このミキサーに属する現在同期化されているすべてのラインが同期解除されます。lines
- 同期を解除する同期化ライン、またはこのミキサーの全同期化ラインの場合は null
IllegalArgumentException
- ラインを同期解除できない場合。これは、指定された引数が、同期がすでに確立されているラインのセットに正確に一致しない場合に発生する。boolean isSynchronizationSupported(Line[] lines, boolean maintainSync)
lines
- 同期サポートの有無について照会するラインのセットmaintainSync
- ラインの操作中の全時点で同期を正確に維持する必要がある (つまり、同期にサンプルレベルの正確さが必要である) 場合は true
、あるいは開始および停止の操作中のみ正確な同期が必要である場合は false
true
、そうでない場合は false
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.