java.lang.Object
java.io.InputStream
javax.sound.sampled.AudioInputStream
- すべての実装されたインタフェース:
Closeable,AutoCloseable
public class AudioInputStream extends InputStream
オーディオ入力ストリームは、オーディオの形式および長さが指定されている入力ストリームです。 長さはバイト数ではなくサンプル・フレーム数で表します。 いくつかのメソッドを使用して、ストリームから指定したバイト数、あるいは未指定のバイト数を読み込むことができます。 オーディオ入力ストリームは、読み込まれた最終バイトを記録します。 任意のバイト数をスキップし、後ろの位置へ移動して読み込むことができます。 オーディオ入力ストリームは、マークをサポートします。 マークを設定すると現在の位置が記憶され、あとでその位置に戻ることができます。
AudioSystemクラスには、AudioInputStreamオブジェクトを操作する多くのメソッドがあります。 たとえば、メソッドを使用すると次の操作を実行できます。
- 外部のオーディオ・ファイル、ストリーム、または
URLからオーディオ入力ストリームを取得 - オーディオ入力ストリームから外部ファイルを書き出します。
- オーディオ入力ストリームを別のオーディオ形式に変換します。
- 導入されたバージョン:
- 1.3
- 関連項目:
AudioSystem、Clip.open(AudioInputStream)
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected AudioFormatformatストリームに含まれるオーディオ・データの形式です。protected longframeLengthストリームの長さ(サンプル・フレーム単位)です。protected longframePosこのストリームの現在の位置、サンプル・フレーム単位(ゼロから始まる)です。protected intframeSize各フレームのサイズ(バイト単位)です。 -
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 AudioInputStream(InputStream stream, AudioFormat format, long length)指定された入力ストリームからのオーディオ・データを使用して、要求された形式およびサンプル・フレーム数で表される長さをもつオーディオ入力ストリームを構築します。AudioInputStream(TargetDataLine line)指定されたターゲット・データ・ラインからデータを読み込むオーディオ入力ストリームを構築します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 intavailable()このオーディオ入力ストリームから、ブロックされることなく読込みできる(またはスキップできる)最大バイト数を返します。voidclose()このオーディオ入力ストリームを閉じて、そのストリームに関連付けられたすべてのシステム・リソースを解放します。AudioFormatgetFormat()オーディオ入力ストリーム内のサウンド・データのオーディオ形式を取得します。longgetFrameLength()バイト数ではなくサンプル・フレーム数で表される、ストリームの長さを取得します。voidmark(int readlimit)このオーディオ入力ストリームの現在の位置にマークを設定します。booleanmarkSupported()このオーディオ入力ストリームが、markメソッドとresetメソッドをサポートしているかどうかを判定します。intread()オーディオ入力ストリームからデータの次のバイトを読み込みます。intread(byte[] b)オーディオ入力ストリームから数バイトを読み込み、それをバッファ配列bに格納します。intread(byte[] b, int off, int len)オーディオ・ストリームから指定されたデータの最大バイト数まで読み込み、読み込んだバイトを指定されたバイト配列に格納します。voidreset()このオーディオ入力ストリームの位置を、入力ストリームで最後にmarkメソッドが呼び出されたときの位置に再設定します。longskip(long n)指定したバイト数を、このオーディオ入力ストリームからスキップおよび破棄します。クラス java.io.InputStreamで宣言されたメソッド
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
フィールド詳細
-
format
protected AudioFormat formatストリームに含まれるオーディオ・データの形式です。 -
frameLength
protected long frameLengthストリームの長さ(サンプル・フレーム単位)です。 -
frameSize
protected int frameSize各フレームのサイズ(バイト単位)です。 -
framePos
protected long framePosこのストリームの現在の位置、サンプル・フレーム単位(ゼロから始まる)です。
-
-
コンストラクタの詳細
-
AudioInputStream
public AudioInputStream(InputStream stream, AudioFormat format, long length)指定された入力ストリームからのオーディオ・データを使用して、要求された形式およびサンプル・フレーム数で表される長さをもつオーディオ入力ストリームを構築します。- パラメータ:
stream- このAudioInputStreamオブジェクトの基となるストリームformat- このストリームのオーディオ・データの形式length- サンプル・フレーム数で表されるこのストリーム内のデータの長さ
-
AudioInputStream
public AudioInputStream(TargetDataLine line)指定されたターゲット・データ・ラインからデータを読み込むオーディオ入力ストリームを構築します。 ストリームのフォーマットはターゲット・データ・ラインのフォーマットと同じであり、長さはAudioSystem#NOT_SPECIFIEDです。- パラメータ:
line- このストリームがデータを取得するターゲット・データ・ライン- 関連項目:
AudioSystem.NOT_SPECIFIED
-
-
メソッドの詳細
-
getFormat
public AudioFormat getFormat()オーディオ入力ストリーム内のサウンド・データのオーディオ形式を取得します。- 戻り値:
- このストリームの形式を記述するオーディオ形式オブジェクト
-
getFrameLength
public long getFrameLength()バイト数ではなくサンプル・フレーム数で表される、ストリームの長さを取得します。- 戻り値:
- サンプル・フレーム数で表される長さ
-
read
public int read() throws IOExceptionオーディオ入力ストリームからデータの次のバイトを読み込みます。 オーディオ入力ストリームのフレーム・サイズは、1バイトにする必要があります。そうでない場合は、IOExceptionがスローされます。- 定義:
read、クラス:InputStream- 戻り値:
- データの次のバイト、またはストリームの終わりに達した場合は -1
- 例外:
IOException- 入出力エラーが発生した場合- 関連項目:
read(byte[], int, int),read(byte[]),available()
-
read
public int read(byte[] b) throws IOExceptionオーディオ入力ストリームから数バイトを読み込み、それをバッファ配列bに格納します。 実際に読み込まれたバイト数は整数として返されます。 入力データが読み込めるようになるか、ストリームの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。このメソッドは常にフレームの整数値を読み込みます。 配列の長さがフレームの整数値になっていない場合は、最大で
b.length - (b.length % frameSize)バイトを読み込みます。- オーバーライド:
read、クラス:InputStream- パラメータ:
b- データの読込み先のバッファ- 戻り値:
- バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
- 例外:
IOException- 入出力エラーが発生した場合- 関連項目:
read(byte[], int, int),read(),available()
-
read
public int read(byte[] b, int off, int len) throws IOExceptionオーディオ・ストリームから指定されたデータの最大バイト数まで読み込み、読み込んだバイトを指定されたバイト配列に格納します。このメソッドは常にフレームの整数値を読み込みます。
lenがフレームの整数値になっていない場合は、最大でlen - (len % frameSize)バイトを読み込みます。- オーバーライド:
read、クラス:InputStream- パラメータ:
b- データの読込み先のバッファoff- データが書き込まれる、配列bの先頭からのオフセットlen- 読み込む最大バイト数- 戻り値:
- バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
- 例外:
IOException- 入出力エラーが発生した場合- 関連項目:
read(byte[]),read(),skip(long),available()
-
skip
public long skip(long n) throws IOException指定したバイト数を、このオーディオ入力ストリームからスキップおよび破棄します。このメソッドは、常に整数のフレーム数をスキップします。
nが整数のフレーム数を指定しない場合、最大n - (n % frameSize)バイトはスキップされます。- オーバーライド:
skip、クラス:InputStream- パラメータ:
n- スキップを要求されたバイト数- 戻り値:
- 実際にスキップされたバイト数
- 例外:
IOException- 入出力エラーが発生した場合- 関連項目:
read(),available()
-
available
public int available() throws IOExceptionこのオーディオ入力ストリームから、ブロックされることなく読込みできる(またはスキップできる)最大バイト数を返します。 この制限は、このオーディオ入力ストリームのreadまたはskipメソッドを次に呼び出したときにかぎり適用されます。制限はこれらのメソッドを呼び出すたびに変えることができます。 基本ストリームに応じて、このストリームが閉じられている場合はIOExceptionがスローされることがあります。- オーバーライド:
available、クラス:InputStream- 戻り値:
- ブロックされずに入力ストリームから読み込むことができるバイト数
- 例外:
IOException- 入出力エラーが発生した場合- 関連項目:
read(byte[], int, int),read(byte[]),read(),skip(long)
-
close
public void close() throws IOExceptionこのオーディオ入力ストリームを閉じて、そのストリームに関連付けられたすべてのシステム・リソースを解放します。- 定義:
close、インタフェース:AutoCloseable- 定義:
close、インタフェース:Closeable- オーバーライド:
close、クラス:InputStream- 例外:
IOException- 入出力エラーが発生した場合
-
mark
public void mark(int readlimit)このオーディオ入力ストリームの現在の位置にマークを設定します。- オーバーライド:
mark、クラス:InputStream- パラメータ:
readlimit- マークされた位置が無効になる前に読込み可能な最大バイト数- 関連項目:
reset(),markSupported()
-
reset
public void reset() throws IOExceptionこのオーディオ入力ストリームの位置を、入力ストリームで最後にmarkメソッドが呼び出されたときの位置に再設定します。- オーバーライド:
reset、クラス:InputStream- 例外:
IOException- 入出力エラーが発生した場合- 関連項目:
mark(int),markSupported()
-
markSupported
public boolean markSupported()このオーディオ入力ストリームが、markメソッドとresetメソッドをサポートしているかどうかを判定します。- オーバーライド:
markSupported、クラス:InputStream- 戻り値:
- このストリームが
markメソッドとresetメソッドをサポートしている場合はtrue、そうでない場合はfalse - 関連項目:
mark(int),reset()
-