JavaTM 2 Platform
Standard Ed. 5.0

javax.sound.sampled
クラス AudioInputStream

java.lang.Object
  上位を拡張 java.io.InputStream
      上位を拡張 javax.sound.sampled.AudioInputStream
すべての実装されたインタフェース:
Closeable

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 に格納します。実際に読み込まれたバイト数は整数として返されます。入力データが読み込めるようになるか、ファイルの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。

このメソッドは常にフレームサイズの積分数を読み込みます。配列の長さがフレームサイズの積分数になっていない場合は、最大で b.length - (b.length % frameSize) バイトを読み込みます。

オーバーライド:
クラス InputStream 内の read
パラメータ:
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) バイトを読み込みます。

オーバーライド:
クラス 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 メソッドを次に呼び出したときに限り適用されます。制限はこれらのメソッドを呼び出すたびに変えることができます。このストリームがクローズしている場合、基礎にあるストリームによっては IOException がスローされることがあります。

オーバーライド:
クラス InputStream 内の available
戻り値:
ブロックされずに入力ストリームから読み込むことができるバイト数
例外:
IOException - 入出力エラーが発生した場合
関連項目:
read(byte[], int, int), read(byte[]), read(), skip(long)

close

public void close()
           throws IOException
このオーディオ入力ストリームをクローズして、そのストリームに関連するすべてのシステムリソースを解放します。

定義:
インタフェース Closeable 内の close
オーバーライド:
クラス 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
Standard Ed. 5.0

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

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。