JavaTM 2 Platform
Std. Ed. v1.3

javax.sound.sampled
クラス AudioInputStream

java.lang.Object
  |
  +--java.io.InputStream
        |
        +--javax.sound.sampled.AudioInputStream

public class AudioInputStream
extends InputStream

オーディオ入力ストリームは、オーディオの形式および長さが指定されている入力ストリームです。長さはバイト数ではなくサンプルフレーム数で表します。いくつかのメソッドを使用して、ストリームから指定したバイト数、あるいは未指定のバイト数を読み込むことができます。オーディオ入力ストリームは、読み込まれた最終バイトを追跡します。任意のバイト数をスキップし、後ろの位置へ移動して読み込むことができます。オーディオ入力ストリームは、マークをサポートします。マークを設定すると現在の位置が記憶され、後でその位置に戻ることができます。

AudioSystem クラスには、AudioInputStream オブジェクトを操作する多くのメソッドがあります。たとえば、メソッドを使用すると次の操作を実行できます。

導入されたバージョン:
1.3
関連項目:
AudioSystem, Clip.open(AudioInputStream)

フィールドの概要
protected  AudioFormat format
          ストリームに含まれるオーディオデータの形式です。
protected  long frameLength
          ストリームの長さ、サンプルフレーム単位です。
protected  long framePos
          このストリームの現在の位置、サンプルフレーム単位 (ゼロから始まる) です。
protected  int frameSize
          各フレームサイズ、バイト単位です。
 
コンストラクタの概要
AudioInputStream(InputStream stream, AudioFormat format, long length)
          指定された入力ストリームからのオーディオデータを使用して、要求された形式およびサンプルフレーム数で表される長さをもつオーディオ入力ストリームを構築します。
AudioInputStream(TargetDataLine line)
          示されたターゲットデータラインからそのデータを読み込むオーディオ入力ストリームを構築します。
 
メソッドの概要
 int available()
          このオーディオ入力ストリームから、ブロックされることなく読み込みできる (またはスキップできる) 最大バイト数を返します。
 void close()
          このオーディオ入力ストリームを閉じて、そのストリームに関連するすべてのシステムリソースを解放します。
 AudioFormat getFormat()
          オーディオ入力ストリーム内のサウンドデータのオーディオ形式を取得します。
 long getFrameLength()
          バイト数ではなくサンプルフレーム数で表される、ストリームの長さを取得します。
 void mark(int readlimit)
          この入力ストリームの現在の位置にマークを設定します。
 boolean markSupported()
          このオーディオ入力ストリームが、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.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

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 がスローされます。
オーバーライド:
クラス InputStream 内の read
戻り値:
データの次のバイト、またはストリームの終わりに達した場合は -1
例外:
IOException - 入出力エラーが発生した場合
関連項目:
read(byte[], int, int), read(byte[]),


read

public int read(byte[] b)
         throws IOException
オーディオ入力ストリームから数バイトを読み込み、それをバッファ配列 b に格納します。実際に読み込まれたバイト数は整数として返されます。入力データが読み込めるようになるか、ファイルの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。
オーバーライド:
クラス InputStream 内の read
パラメータ:
b - データの読み込み先のバッファ
戻り値:
バッファに読み込まれるバイトの総数、またはストリームの終わりに達してデータがなくなった場合は、-1
例外:
IOException - 入出力エラーが発生した場合
関連項目:
read(byte[], int, int), read(), available()

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
オーディオストリームから指定されたデータの最大バイト数まで読み込み、読み込んだバイトを指定されたバイト配列に格納します。
オーバーライド:
クラス InputStream 内の read
パラメータ:
b - データの読み込み先のバッファ
off - データが書き込まれた時点で、配列 b から開始する座標
len - 読み込む最大バイト数
戻り値:
バッファに読み込まれるバイトの総数、またはストリームの終わりに達してデータがなくなった場合は、-1
例外:
IOException - 入出力エラーが発生した場合
関連項目:
read(byte[]), read(), skip(long), available()

skip

public long skip(long n)
          throws IOException
指定したバイト数を、このオーディオ入力ストリームからスキップおよび破棄します。
オーバーライド:
クラス InputStream 内の skip
パラメータ:
n - スキップを要求されたバイト数
戻り値:
実際にスキップされたバイト数
例外:
IOException - 入出力エラーが発生した場合
関連項目:
read(), available()

available

public int available()
              throws IOException
このオーディオ入力ストリームから、ブロックされることなく読み込みできる (またはスキップできる) 最大バイト数を返します。この制限は、このオーディオ入力ストリームの read または skip メソッドを次に呼び出したときに限り適用されます。制限はこれらのメソッドを呼び出すたびに変えることができます。
オーバーライド:
クラス InputStream 内の available
戻り値:
ブロックされずに入力ストリームから読み込むことができるバイト数
例外:
IOException - 入出力エラーが発生した場合
関連項目:
read(byte[], int, int), read(byte[]), read(), skip(long)

close

public void close()
           throws IOException
このオーディオ入力ストリームを閉じて、そのストリームに関連するすべてのシステムリソースを解放します。
オーバーライド:
クラス InputStream 内の close
例外:
IOException - 入出力エラーが発生した場合

mark

public void mark(int readlimit)
この入力ストリームの現在の位置にマークを設定します。
オーバーライド:
クラス InputStream 内の mark
パラメータ:
readlimit - マークされた位置が無効になる前に読み込み可能な最大バイト数
関連項目:
reset(), markSupported()

reset

public void reset()
           throws IOException
このオーディオ入力ストリームの位置を、入力ストリームで最後に mark メソッドが呼び出されたときの位置に再設定します。
オーバーライド:
クラス InputStream 内の reset
例外:
IOException - 入出力エラーが発生した場合
関連項目:
mark(int), markSupported()

markSupported

public boolean markSupported()
このオーディオ入力ストリームが、mark メソッドと reset メソッドをサポートしているかどうかを判定します。
オーバーライド:
クラス InputStream 内の markSupported
戻り値:
ストリームが markreset メソッドをサポートしている場合は true、そうでない場合は false
関連項目:
mark(int), reset()

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

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