モジュール java.desktop
パッケージ javax.sound.sampled

クラスAudioSystem

java.lang.Object
javax.sound.sampled.AudioSystem

public class AudioSystem extends Object
AudioSystemクラスは、サンプリングされたオーディオ・システム・リソースのエントリ・ポイントとして動作します。 このクラスを使用すると、システムにインストールされたミキサーに照会およびアクセスできます。 AudioSystemには、各種形式間でのオーディオ・データの変換やオーディオ・ファイルとストリーム間の変換を実行するための多数のメソッドが用意されています。 また、ミキサーを明示的に処理せずに、AudioSystemからLineを直接取得するメソッドも提供します。

プロパティを使用して、特定のライン・タイプのデフォルト・ミキサーを指定できます。 システム・プロパティ、プロパティ・ファイルの両方とも使用可能です。 "sound.properties"プロパティ・ファイルは、実装固有のロケーション(通常、Javaインストール・ディレクトリ内のconfディレクトリです)から読み込まれます。 オプションの"javax.sound.config.file"システム・プロパティを使用して、初期構成として読み取られるプロパティ・ファイルを指定できます。 プロパティがシステム・プロパティとしても、プロパティ・ファイル内にも存在する場合は、システム・プロパティが優先されます。 プロパティがまったく指定されていない場合は、使用可能なデバイスの中から適切なデフォルト・プロパティが選択されます。 プロパティ・ファイルの構文はProperties.loadに指定されています。 次の表は、使用可能なプロパティ・キーと、これらを認識するメソッドのリストです。

オーディオ・システムのプロパティ・キー
プロパティ・キー インタフェース 影響を受けるメソッド
javax.sound.sampled.Clip Clip getLine(javax.sound.sampled.Line.Info), getClip()
javax.sound.sampled.Port Port getLine(javax.sound.sampled.Line.Info)
javax.sound.sampled.SourceDataLine SourceDataLine getLine(javax.sound.sampled.Line.Info), getSourceDataLine(javax.sound.sampled.AudioFormat)
javax.sound.sampled.TargetDataLine TargetDataLine getLine(javax.sound.sampled.Line.Info), getTargetDataLine(javax.sound.sampled.AudioFormat)
プロパティ値は、プロバイダ・クラス名とミキサー名をハッシュ記号(「#」)で区切った形式で表されます。 プロバイダ・クラス名は、具象mixer providerクラスの完全指定名です。 ミキサー名は、Mixer.InfogetNameメソッドから返されるStringとマッチングされます。 クラス名、ミキサー名の一方を省略することもできます。 クラス名だけを指定した場合、ハッシュ記号は省略できます。

プロバイダ・クラスが指定されていて、インストール済プロバイダから正常に取得できる場合、このプロバイダからMixer.Infoオブジェクトのリストが取り出されます。 そうでない場合、またはこれらのミキサーがこれ以降マッチングを行わない場合、getMixerInfo()から取得したリストには、使用可能なすべてのMixer.Infoオブジェクトが含まれます。

ミキサー名が指定されている場合、結果として得られたMixer.Infoオブジェクトのリストが検索されます。一致する名前を持つ最初のオブジェクト(対応するライン・インタフェースを提供するMixerを持つもの)が返されます。 一致するMixer.Infoオブジェクトが見つからない場合、またはミキサー名が指定されていない場合、結果として得られたリストの最初のミキサー(それぞれのライン・インタフェースを提供)が返されます。

たとえば、"com.sun.media.sound.MixerProvider#SunClip"を値に持つプロパティjavax.sound.sampled.Clipでは、Clipインスタンス要求時にgetLineが呼び出されたときに、次のような結果が得られます: インストール済ミキサー・プロバイダのリスト内にクラスcom.sun.media.sound.MixerProviderが存在する場合、"SunClip"という名前を持つ最初のミキサーに含まれる最初のClipが返されます。 該当するものが見つからない場合は、名前とは関係なく、指定されたプロバイダの最初のミキサーから最初のClipが返されます。 存在しない場合、すべてのミキサー(getMixerInfoによって返される)のリストで"SunClip"という名前の最初のMixerの最初のClipが返されるか、または見つからない場合は、すべてのミキサーのリストにある最初のMixerの最初のClipが返されます。 これにも失敗した場合は、IllegalArgumentExceptionがスローされます。

導入されたバージョン:
1.3
関連項目: