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