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
- 目的のラインの記述Line.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, 2014, Oracle and/or its affiliates. All rights reserved.