JavaTM 2
Platform
Std. Ed. v1.4.0

javax.sound.sampled
クラス AudioSystem

java.lang.Object
  |
  +--javax.sound.sampled.AudioSystem

public class AudioSystem
extends Object

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

導入されたバージョン:
1.3
関連項目:
AudioFormat, AudioInputStream, Mixer, Line, Line.Info

フィールドの概要
static int NOT_SPECIFIED
          不明な数値を表す整数。
 
メソッドの概要
static AudioFileFormat getAudioFileFormat(File file)
          指定された File のオーディオファイル形式を取得します。
static AudioFileFormat getAudioFileFormat(InputStream stream)
          指定された入力ストリームのオーディオファイル形式を取得します。
static AudioFileFormat getAudioFileFormat(URL url)
          指定された URL のオーディオファイル形式を取得します。
static AudioFileFormat.Type[] getAudioFileTypes()
          システムがファイル書き込みサポートを提供するファイルタイプを取得します。
static AudioFileFormat.Type[] getAudioFileTypes(AudioInputStream stream)
          指定されたオーディオ入力ストリームからシステムが書き込むことができるファイルタイプを取得します。
static AudioInputStream getAudioInputStream(AudioFormat.Encoding targetEncoding, AudioInputStream sourceStream)
          指定されたオーディオ入力ストリームを変換して、示されたエンコーディングのオーディオ入力ストリームを取得します。
static AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream sourceStream)
          指定されたオーディオ入力ストリームを変換して、示された形式のオーディオ入力ストリームを取得します。
static AudioInputStream getAudioInputStream(File file)
          指定された File からオーディオ入力ストリームを取得します。
static AudioInputStream getAudioInputStream(InputStream stream)
          指定された入力ストリームからオーディオ入力ストリームを取得します。
static AudioInputStream getAudioInputStream(URL url)
          指定された URL のオーディオ入力ストリームを取得します。
static Line getLine(Line.Info info)
          指定された Line.Info オブジェクトの記述に一致するラインを取得します。
static Mixer getMixer(Mixer.Info info)
          要求されたオーディオミキサーを取得します。
static Mixer.Info[] getMixerInfo()
          システムに現在インストールされているオーディオミキサーのセットを表すミキサー情報オブジェクトの配列を取得します。
static Line.Info[] getSourceLineInfo(Line.Info info)
          インストールされているすべてのミキサーでサポートされる特定のタイプのソースラインに関する情報を取得します。
static AudioFormat.Encoding[] getTargetEncodings(AudioFormat.Encoding sourceEncoding)
          インストールされた形式変換のセットを使用して、指定されたエンコーディングでオーディオ入力ストリームからシステムが取得できるエンコーディングを取得します。
static AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat)
          インストールされた形式変換のセットを使用して、指定された形式のオーディオ入力ストリームからシステムが取得できるエンコーディングを取得します。
static AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
          特定のエンコーディングをもつ形式、およびインストールされた形式変換のセットを使用して指定された形式のストリームからシステムが取得できる形式を取得します。
static Line.Info[] getTargetLineInfo(Line.Info info)
          インストールされているすべてのミキサーでサポートされる特定のタイプのターゲットラインに関する情報を取得します。
static boolean isConversionSupported(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
          指定されたエンコーディングのオーディオ入力ストリームを、指定された形式のオーディオ入力ストリームから取得できるかどうかを示します。
static boolean isConversionSupported(AudioFormat targetFormat, AudioFormat sourceFormat)
          指定された形式のオーディオ入力ストリームを、別の指定された形式のオーディオ入力ストリームから取得できるかどうかを示します。
static boolean isFileTypeSupported(AudioFileFormat.Type fileType)
          指定されたファイルタイプのファイル書き込みサポートをシステムが提供しているかどうかを示します。
static boolean isFileTypeSupported(AudioFileFormat.Type fileType, AudioInputStream stream)
          指定されたファイルタイプのオーディオファイルを、示されたオーディオ入力ストリームから書き込みできるかどうかを示します。
static boolean isLineSupported(Line.Info info)
          指定された Line.Info オブジェクトに一致するラインをシステムがサポートしているかどうかを示します。
static int write(AudioInputStream stream, AudioFileFormat.Type fileType, File out)
          指定されたファイルタイプのオーディオファイルを表すバイトのストリームを、指定された外部ファイルへ書き込みます。
static int write(AudioInputStream stream, AudioFileFormat.Type fileType, OutputStream out)
          指定されたファイルタイプのオーディオファイルを表すバイトのストリームを、指定された出力ストリームへ書き込みます。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

NOT_SPECIFIED

public static final int NOT_SPECIFIED
不明な数値を表す整数。この値は、通常負の値をとらない符号付きの数量を示す場合にだけ使用します。たとえば、ファイルサイズ、フレームサイズ、バッファサイズ、サンプルレートがあります。いくつかの Java Sound コンストラクタは、そのようなパラメータに対して NOT_SPECIFIED の値を受け取ります。ドキュメントに示されているように、他のメソッドでもこの値を受け取ったり、返したりする場合があります。

関連項目:
定数フィールド値
メソッドの詳細

getMixerInfo

public static Mixer.Info[] getMixerInfo()
システムに現在インストールされているオーディオミキサーのセットを表すミキサー情報オブジェクトの配列を取得します。

戻り値:
現在インストールされているミキサーの情報オブジェクトの配列。システムでミキサーが使用できない場合は、長さ 0 の配列が返される
関連項目:
getMixer(javax.sound.sampled.Mixer.Info)

getMixer

public static Mixer getMixer(Mixer.Info info)
要求されたオーディオミキサーを取得します。

パラメータ:
info - 必要なミキサーを表す Mixer.Info オブジェクト、またはシステムのデフォルトミキサーの場合は null
戻り値:
要求されたミキサー
例外:
SecurityException - セキュリティ上の制約のために要求されたミキサーが使用できない場合
IllegalArgumentException - 情報オブジェクトがシステムにインストールされたミキサーを表さない場合
関連項目:
getMixerInfo()

getSourceLineInfo

public static Line.Info[] getSourceLineInfo(Line.Info info)
インストールされているすべてのミキサーでサポートされる特定のタイプのソースラインに関する情報を取得します。

パラメータ:
info - 情報が要求されたラインの種類を指定する Line.Info オブジェクト
戻り値:
要求されたタイプに一致するソースラインを記述する Line.Info オブジェクトの配列。一致するソースラインがサポートされていない場合、長さ 0 の配列が返される
関連項目:
Mixer.getSourceLineInfo(Line.Info)

getTargetLineInfo

public static Line.Info[] getTargetLineInfo(Line.Info info)
インストールされているすべてのミキサーでサポートされる特定のタイプのターゲットラインに関する情報を取得します。

パラメータ:
info - 情報が要求されたラインの種類を指定する Line.Info オブジェクト
戻り値:
要求されたタイプに一致するターゲットラインを記述する Line.Info オブジェクトの配列。一致するターゲットラインがサポートされていない場合、長さ 0 の配列が返される
関連項目:
Mixer.getTargetLineInfo(Line.Info)

isLineSupported

public static boolean isLineSupported(Line.Info info)
指定された Line.Info オブジェクトに一致するラインをシステムがサポートしているかどうかを示します。ラインは、インストールされたミキサーがサポートする場合はサポートされます。

パラメータ:
info - サポートの有無が照会されるラインを記述する Line.Info オブジェクト
戻り値:
一致するラインが 1 つ以上サポートされる場合は true、そうでない場合は false
関連項目:
Mixer.isLineSupported(Line.Info)

getLine

public static Line getLine(Line.Info info)
                    throws LineUnavailableException
指定された Line.Info オブジェクトの記述に一致するラインを取得します。

パラメータ:
info - ラインの必要な種類を記述する Line.Info オブジェクト
戻り値:
要求された種類のライン
例外:
LineUnavailableException - リソースの制約のために、一致するラインを使用できない場合
SecurityException - セキュリティ上の制約のために、一致するラインを使用できない場合
IllegalArgumentException - インストールされたミキサーを介して、指定された Line.Info オブジェクトと一致するラインを 1 行もシステムがサポートしない場合

getTargetEncodings

public static AudioFormat.Encoding[] getTargetEncodings(AudioFormat.Encoding sourceEncoding)
インストールされた形式変換のセットを使用して、指定されたエンコーディングでオーディオ入力ストリームからシステムが取得できるエンコーディングを取得します。

パラメータ:
sourceEncoding - 変換サポートについて照会するエンコーディング
戻り値:
エンコーディングの配列。配列は常に現在のエンコーディング (変換なし) を表す 1 以上の長さになる

getTargetEncodings

public static AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat)
インストールされた形式変換のセットを使用して、指定された形式のオーディオ入力ストリームからシステムが取得できるエンコーディングを取得します。

パラメータ:
sourceFormat - 変換について照会するオーディオ形式
戻り値:
エンコーディングの配列。配列は常に現在のエンコーディング (変換なし) を表す 1 以上の長さになる

isConversionSupported

public static boolean isConversionSupported(AudioFormat.Encoding targetEncoding,
                                            AudioFormat sourceFormat)
指定されたエンコーディングのオーディオ入力ストリームを、指定された形式のオーディオ入力ストリームから取得できるかどうかを示します。

パラメータ:
targetEncoding - 変換後の必要なエンコーディング
sourceFormat - 変換前のオーディオ形式
戻り値:
変換がサポートされている場合は true、そうでない場合は false

getAudioInputStream

public static AudioInputStream getAudioInputStream(AudioFormat.Encoding targetEncoding,
                                                   AudioInputStream sourceStream)
指定されたオーディオ入力ストリームを変換して、示されたエンコーディングのオーディオ入力ストリームを取得します。

パラメータ:
targetEncoding - 変換後の必要なエンコーディング
sourceStream - 変換されるストリーム
戻り値:
示されたエンコーディングのオーディオ入力ストリーム
例外:
IllegalArgumentException - 変換がサポートされていない場合
関連項目:
getTargetEncodings(AudioFormat.Encoding), getTargetEncodings(AudioFormat), isConversionSupported(AudioFormat.Encoding, AudioFormat), getAudioInputStream(AudioFormat, AudioInputStream)

getTargetFormats

public static AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding,
                                             AudioFormat sourceFormat)
特定のエンコーディングをもつ形式、およびインストールされた形式変換のセットを使用して指定された形式のストリームからシステムが取得できる形式を取得します。

パラメータ:
targetEncoding - 変換後の必要なエンコーディング
sourceFormat - 変換前のオーディオ形式
戻り値:
形式の配列。指定されたエンコーディングの形式がサポートされない場合は、長さ 0 の配列が返される

isConversionSupported

public static boolean isConversionSupported(AudioFormat targetFormat,
                                            AudioFormat sourceFormat)
指定された形式のオーディオ入力ストリームを、別の指定された形式のオーディオ入力ストリームから取得できるかどうかを示します。

パラメータ:
targetFormat - 変換後の必要なオーディオ形式
sourceFormat - 変換前のオーディオ形式
戻り値:
変換がサポートされている場合は true、そうでない場合は false

getAudioInputStream

public static AudioInputStream getAudioInputStream(AudioFormat targetFormat,
                                                   AudioInputStream sourceStream)
指定されたオーディオ入力ストリームを変換して、示された形式のオーディオ入力ストリームを取得します。

パラメータ:
targetFormat - 変換後の必要なオーディオ形式
sourceStream - 変換されるストリーム
戻り値:
示された形式のオーディオ入力ストリーム
例外:
IllegalArgumentException - 変換がサポートされない場合
関連項目:
getTargetFormats(AudioFormat.Encoding, AudioFormat), isConversionSupported(AudioFormat, AudioFormat), getAudioInputStream(AudioFormat.Encoding, AudioInputStream)

getAudioFileFormat

public static AudioFileFormat getAudioFileFormat(InputStream stream)
                                          throws UnsupportedAudioFileException,
                                                 IOException
指定された入力ストリームのオーディオファイル形式を取得します。ストリームは有効なオーディオファイルデータを示す必要があります。このメソッドの実装には、ストリームを検証してそのストリームがサポートされるかどうかを判定する複数のパーサが必要な場合があります。これらのパーサは、ストリームをマークし、ストリームをサポートするかどうかを判定するのに十分なデータを読み込み、サポートしない場合はストリームの読み込みポインタをもとの位置に戻す、という機能が必要です。入力ストリームがこれらの操作をサポートしない場合、このメソッドは IOException を表示して失敗することがあります。

パラメータ:
stream - ファイル形式情報を抽出する入力ストリーム
戻り値:
ストリームのオーディオファイル形式を記述する AudioFileFormat オブジェクト
例外:
UnsupportedAudioFileException - システムが認識した有効なオーディオファイルデータをストリームが示さない場合
IOException - 入出力例外が発生した場合
関連項目:
InputStream.markSupported(), InputStream.mark(int)

getAudioFileFormat

public static AudioFileFormat getAudioFileFormat(URL url)
                                          throws UnsupportedAudioFileException,
                                                 IOException
指定された URL のオーディオファイル形式を取得します。URL は、有効なオーディオファイルデータを示す必要があります。

パラメータ:
url - ファイル形式情報を抽出する URL
戻り値:
オーディオファイル形式を記述する AudioFileFormat オブジェクト
例外:
UnsupportedAudioFileException - システムが認識した有効なオーディオファイルデータを URL が示さない場合
IOException - 入出力例外が発生した場合

getAudioFileFormat

public static AudioFileFormat getAudioFileFormat(File file)
                                          throws UnsupportedAudioFileException,
                                                 IOException
指定された File のオーディオファイル形式を取得します。File は有効なオーディオファイルデータを示す必要があります。

パラメータ:
file - ファイル形式情報を抽出する File
戻り値:
オーディオファイル形式を記述する AudioFileFormat オブジェクト
例外:
UnsupportedAudioFileException - システムが認識した有効なオーディオファイルデータを File が示さない場合
IOException - 入出力例外が発生した場合

getAudioInputStream

public static AudioInputStream getAudioInputStream(InputStream stream)
                                            throws UnsupportedAudioFileException,
                                                   IOException
指定された入力ストリームからオーディオ入力ストリームを取得します。ストリームは有効なオーディオファイルデータを示す必要があります。このメソッドの実装には、ストリームを検証してそのストリームがサポートされるかどうかを判定する複数のパーサが必要な場合があります。これらのパーサは、ストリームをマークし、ストリームをサポートするかどうかを判定するのに十分なデータを読み込み、サポートしない場合はストリームの読み込みポインタをもとの位置に戻す、という機能が必要です。入力ストリームがこれらの操作をサポートしない場合、このメソッドは IOException を表示して失敗することがあります。

パラメータ:
stream - AudioInputStream を構築する入力ストリーム
戻り値:
入力ストリームに含まれるオーディオファイルデータにもとづく AudioInputStream オブジェクト
例外:
UnsupportedAudioFileException - システムが認識した有効なオーディオファイルデータをストリームが示さない場合
IOException - 入出力例外が発生した場合
関連項目:
InputStream.markSupported(), InputStream.mark(int)

getAudioInputStream

public static AudioInputStream getAudioInputStream(URL url)
                                            throws UnsupportedAudioFileException,
                                                   IOException
指定された URL のオーディオ入力ストリームを取得します。URL は、有効なオーディオファイルデータを示す必要があります。

パラメータ:
url - AudioInputStream を構築する URL
戻り値:
URL が示すオーディオファイルデータにもとづく AudioInputStream オブジェクト
例外:
UnsupportedAudioFileException - システムが認識した有効なオーディオファイルデータを URL が示さない場合
IOException - 入出力例外が発生した場合

getAudioInputStream

public static AudioInputStream getAudioInputStream(File file)
                                            throws UnsupportedAudioFileException,
                                                   IOException
指定された File からオーディオ入力ストリームを取得します。File は有効なオーディオファイルデータを示す必要があります。

パラメータ:
file - AudioInputStream を構築する File
戻り値:
File が示すオーディオファイルデータに基づく AudioInputStream オブジェクト
例外:
UnsupportedAudioFileException - システムが認識した有効なオーディオファイルデータを File が示さない場合
IOException - 入出力例外が発生した場合

getAudioFileTypes

public static AudioFileFormat.Type[] getAudioFileTypes()
システムがファイル書き込みサポートを提供するファイルタイプを取得します。

戻り値:
ファイルタイプの配列。サポートされているファイルタイプがない場合、長さ 0 の配列が返される

isFileTypeSupported

public static boolean isFileTypeSupported(AudioFileFormat.Type fileType)
指定されたファイルタイプのファイル書き込みサポートをシステムが提供しているかどうかを示します。

パラメータ:
fileType - 書き込み機能が照会されるファイルタイプ
戻り値:
ファイルタイプがサポートされている場合は true、そうでない場合は false

getAudioFileTypes

public static AudioFileFormat.Type[] getAudioFileTypes(AudioInputStream stream)
指定されたオーディオ入力ストリームからシステムが書き込むことができるファイルタイプを取得します。

パラメータ:
stream - オーディオファイルタイプのサポートが照会されるオーディオ入力ストリーム
戻り値:
ファイルタイプの配列。サポートされているファイルタイプがない場合、長さ 0 の配列が返される

isFileTypeSupported

public static boolean isFileTypeSupported(AudioFileFormat.Type fileType,
                                          AudioInputStream stream)
指定されたファイルタイプのオーディオファイルを、示されたオーディオ入力ストリームから書き込みできるかどうかを示します。

パラメータ:
fileType - 書き込み機能が照会されるファイルタイプ
stream - ファイル書き込みサポートが照会されるストリーム
戻り値:
ファイルタイプがこのオーディオ入力ストリームに対してサポートされている場合は true、そうでない場合は false

write

public static int write(AudioInputStream stream,
                        AudioFileFormat.Type fileType,
                        OutputStream out)
                 throws IOException
指定されたファイルタイプのオーディオファイルを表すバイトのストリームを、指定された出力ストリームへ書き込みます。長さをファイルヘッダへ書き込む必要があるファイルタイプもあります。あらかじめ長さがわからない場合は、そのようなタイプのファイルを最初から最後まで書き込むことができません。オーディオファイルタイプの長さが AudioSystem.NOT_SPECIFIED の場合、このファイルを書き込もうとすると、IOException が表示されて失敗します。

パラメータ:
stream - ファイルに書き込まれるオーディオデータを含むオーディオ入力ストリーム
fileType - 書き込むオーディオファイルの種類
out - ファイルデータが書き込まれるストリーム
戻り値:
出力ストリームへ書き込まれるバイト数
例外:
IOException - 入出力例外が発生した場合
IllegalArgumentException - システムがそのファイルタイプをサポートしていない場合
関連項目:
isFileTypeSupported(javax.sound.sampled.AudioFileFormat.Type), getAudioFileTypes()

write

public static int write(AudioInputStream stream,
                        AudioFileFormat.Type fileType,
                        File out)
                 throws IOException
指定されたファイルタイプのオーディオファイルを表すバイトのストリームを、指定された外部ファイルへ書き込みます。

パラメータ:
stream - ファイルに書き込まれるオーディオデータを含むオーディオ入力ストリーム
fileType - 書き込むオーディオファイルの種類
out - ファイルデータが書き込まれる外部ファイル
戻り値:
ファイルへ書き込まれるバイト数
例外:
IOException - 入出力例外が発生した場合
IllegalArgumentException - システムがそのファイルタイプをサポートしていない場合
関連項目:
isFileTypeSupported(javax.sound.sampled.AudioFileFormat.Type), getAudioFileTypes()

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.