|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.sound.sampled.AudioFormat
AudioFormat
は、サウンドストリーム内でデータの特定の配列を指定するクラスです。オーディオ形式で格納されている情報を参照すると、バイナリサウンドデータ内のビットの解釈方法がわかります。
すべてのデータラインには、そのデータストリームに関連したオーディオ形式があります。ソース (再生) データラインのオーディオ形式はデータラインが出力用に受信するデータの種類を示します。ターゲット (取得) データラインの場合、オーディオ形式はそのラインから読み込めるデータの種類を指定します。当然、サウンドファイルにもオーディオ形式があります。
クラスは、他のファイル固有の情報以外に AudioFileFormat
AudioFormat
をカプセル化します。同様に、
にも AudioInputStream
AudioFormat
があります。
AudioFormat
クラスには、パルス符号変調 (PCM)、mu-law エンコーディング、a-law エンコーディングなどの、多くの共通サウンドファイル符号化手法が含まれています。これらの符号化手法は事前に定義されていますが、サービスプロバイダは新しいエンコーディングタイプを作成することができます。特定の形式で使用されるエンコーディングは、その encoding
フィールドによって指定されます。
オーディオ形式には、エンコーディング以外にもデータの正確な配列をより詳細に指定する他のプロパティもあります。これらのプロパティには、チャネル数、サンプルレート、サンプルサイズ、バイト順序、フレームレート、フレームサイズなどがあります。サウンドには、モノ用に 1 つ、ステレオ用に 2 つなど、異なる数のオーディオチャネルがある場合があります。サンプルレートは、サウンド圧力の「スナップショット」 (サンプル) を、チャンネルごとに 1 秒当たりいくつとれるか測定します。サウンドがモノではなくステレオの場合は、実際に 2 つのサンプルが瞬間ごとに測定されます。この場合 1 つは左チャネル用で、もう 1 つは右チャンネル用です。ただし、サンプルレートは、1 チャネル当たりの数も測定するため、チャネル数に関係なくレートは同じになります。これは、サンプルレートの標準的な使用法です。サンプルサイズは、各スナップショットを格納する場合に使用されるビット数を示します。8 および 16 が通常の値です。16 ビットのサンプルその他 1 バイトよりも大きいサイズのサンプルの場合、バイト順序は重要です。各サンプルのバイトは、「リトルエンディアン」形式または「ビッグエンディアン」形式のどちらかで配列されます。PCM のようなエンコーディングの場合は、1 つのフレームが指定された時点のすべてのチャンネルのサンプルのセットで構成され、フレームサイズ (バイト数) は、常にサンプルサイズ (バイト単位) と同じになります。ただし、他の種類のエンコーディングの場合、フレームに一連のサンプル全体の大量の圧縮データ以外に、サンプル以外の追加データも含むことができます。そのようなエンコーディングでは、サンプルレートおよびサンプルサイズは、データを PCM に復号化してから参照するため、サンプルレートやサンプルサイズは、フレームレートやフレームサイズとはまったく異なるものになります。
DataLine.getFormat()
,
AudioInputStream.getFormat()
,
AudioFileFormat
,
FormatConversionProvider
入れ子クラスの概要 | |
static class |
AudioFormat.Encoding
Encoding クラスは、オーディオストリームに使用されるデータ表現の特定の種類を指定します。 |
フィールドの概要 | |
protected boolean |
bigEndian
データをビッグエンディアンあるいはリトルエンディアンのどちらの順序で格納するかを示します。 |
protected int |
channels
この形式のオーディオチャネル数 (モノ用に 1 つ、ステレオ用に 2 つ) |
protected AudioFormat.Encoding |
encoding
この形式で使用されるオーディオエンコーディング手法 |
protected float |
frameRate
この形式をもつサウンドの、1 秒当たりに再生または録音されたフレーム数 |
protected int |
frameSize
この形式をもつサウンドの各フレームのバイト数 |
protected float |
sampleRate
この形式をもつサウンドの、1 秒当たりに再生または録音されたサンプル数 |
protected int |
sampleSizeInBits
この形式をもつサウンドの各サンプルのビット数 |
コンストラクタの概要 | |
AudioFormat(AudioFormat.Encoding encoding,
float sampleRate,
int sampleSizeInBits,
int channels,
int frameSize,
float frameRate,
boolean bigEndian)
指定されたパラメータを持つ AudioFormat を構築します。 |
|
AudioFormat(float sampleRate,
int sampleSizeInBits,
int channels,
boolean signed,
boolean bigEndian)
リニア PCM エンコーディングおよび指定されたパラメータを持つ AudioFormat を構築します。 |
メソッドの概要 | |
int |
getChannels()
チャネル数を取得します。 |
AudioFormat.Encoding |
getEncoding()
サウンドのエンコーディングタイプをこの形式で取得します。 |
float |
getFrameRate()
フレームレートを 1 秒当たりのフレーム数で取得します。 |
int |
getFrameSize()
フレームサイズをバイト数で取得します。 |
float |
getSampleRate()
サンプルレートを取得します。 |
int |
getSampleSizeInBits()
サンプルのサイズを取得します。 |
boolean |
isBigEndian()
オーディオデータをビッグエンディアンあるいはリトルエンディアンのどちらのバイト順序で格納するかを指定します。 |
boolean |
matches(AudioFormat format)
この形式が指定された形式と一致するかどうかを示します。 |
String |
toString()
「PCM SIGNED 22050 Hz 16 bit mono big-endian audio data」などの、形式を記述する文字列を返します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
protected AudioFormat.Encoding encoding
protected float sampleRate
protected int sampleSizeInBits
protected int channels
protected int frameSize
protected float frameRate
protected boolean bigEndian
コンストラクタの詳細 |
public AudioFormat(AudioFormat.Encoding encoding, float sampleRate, int sampleSizeInBits, int channels, int frameSize, float frameRate, boolean bigEndian)
AudioFormat
を構築します。エンコーディングは、データを表す場合に使用される規則を指定します。その他のパラメータについては、class description
で詳しく説明します。
encoding
- オーディオエンコーディング手法sampleRate
- 1 秒当たりのサンプル数sampleSizeInBits
- 各サンプルのビット数channels
- チャネル数 (モノ用に 1 つ、ステレオ用に 2 つなど)frameSize
- 各フレームのバイト数frameRate
- 1 秒当たりのフレーム数bigEndian
- 単一サンプルのデータをビッグエンディアンのバイト順序で格納するかどうかを示す (false
はリトルエンディアンを示す)public AudioFormat(float sampleRate, int sampleSizeInBits, int channels, boolean signed, boolean bigEndian)
AudioFormat
を構築します。フレームサイズは、各チャンネルから 1 つのサンプルを含むために必要なバイト数に設定され、フレームレートは、サンプルレートに設定されます。
sampleRate
- 1 秒当たりのサンプル数sampleSizeInBits
- 各サンプルのビット数channels
- チャネル数 (モノ用に 1 つ、ステレオ用に 2 つなど)signed
- データが符号付きか符号なしかを示すbigEndian
- 単一サンプルのデータをビッグエンディアンのバイト順序で格納するかどうかを示す (false
はリトルエンディアンを示す)メソッドの詳細 |
public AudioFormat.Encoding getEncoding()
AudioFormat.Encoding.PCM_SIGNED
,
AudioFormat.Encoding.PCM_UNSIGNED
,
AudioFormat.Encoding.ULAW
,
AudioFormat.Encoding.ALAW
public float getSampleRate()
getFrameRate()
public int getSampleSizeInBits()
getFrameSize()
public int getChannels()
public int getFrameSize()
getSampleSizeInBits()
public float getFrameRate()
getSampleRate()
public boolean isBigEndian()
true
、リトルエンディアンバイト順序の場合は false
public boolean matches(AudioFormat format)
AudioSystem.NOT_SPECIFIED
がない場合は、2 つの形式のサンプルレートも同一にする必要があります。同様に、指定した形式に、フレームレート値 AudioSystem.NOT_SPECIFIED
がない場合は、フレームレートも同一にする必要があります。バイト順序 (ビッグエンディアンまたはリトルエンディアン) は、サンプルサイズが 1 バイトより大きい場合に一致させる必要があります。
format
- 一致しているか判別する形式
true
、そうでない場合は false
public String toString()
Object
内の toString
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.