クラスAudioInputStream
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このオーディオ入力ストリームから、ブロックされることなく読込みできる(またはスキップできる)最大バイト数を返します。voidclose()このオーディオ入力ストリームを閉じて、そのストリームに関連付けられたすべてのシステム・リソースを解放します。オーディオ入力ストリーム内のサウンド・データのオーディオ形式を取得します。longバイト数ではなくサンプル・フレーム数で表される、ストリームの長さを取得します。voidmark(int readlimit) このオーディオ入力ストリームの現在の位置にマークを設定します。booleanこのオーディオ入力ストリームが、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- このストリームがデータを取得するターゲット・データ・ライン- 関連項目:
-
-
メソッドの詳細
-
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 - 関連項目:
-