モジュール java.desktop
パッケージ javax.sound.sampled

クラス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
    このオーディオ入力ストリームから、ブロックされることなく読込みできる(またはスキップできる)最大バイト数を返します。
    void
    このオーディオ入力ストリームを閉じて、そのストリームに関連付けられたすべてのシステム・リソースを解放します。
    オーディオ入力ストリーム内のサウンド・データのオーディオ形式を取得します。
    long
    バイト数ではなくサンプル・フレーム数で表される、ストリームの長さを取得します。
    void
    mark(int readlimit)
    このオーディオ入力ストリームの現在の位置にマークを設定します。
    boolean
    このオーディオ入力ストリームが、markメソッドとresetメソッドをサポートしているかどうかを判定します。
    int
    オーディオ入力ストリームからデータの次のバイトを読み込みます。
    int
    read(byte[] b)
    オーディオ入力ストリームから数バイトを読み込み、それをバッファ配列bに格納します。
    int
    read(byte[] b, int off, int len)
    オーディオ・ストリームから指定されたデータの最大バイト数まで読み込み、読み込んだバイトを指定されたバイト配列に格納します。
    void
    このオーディオ入力ストリームの位置を、入力ストリームで最後にmarkメソッドが呼び出されたときの位置に再設定します。
    long
    skip(long n)
    指定したバイト数を、このオーディオ入力ストリームからスキップおよび破棄します。

    クラス java.io.InputStreamで宣言されたメソッド

    nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

    クラス 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 - このストリームがデータを取得するターゲット・データ・ライン
      関連項目:
  • メソッドの詳細

    • 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
      関連項目: