WAVEFORMATEX
ウェーブフォーム オーディオ データのフォーマットを定義する。
Type WAVEFORMATEX
lAvgBytesPerSec As Long
lExtra As Long
lSamplesPerSec As Long
nBitsPerSample As Integer
nBlockAlign As Integer
nChannels As Integer
nFormatTag As Integer
nSize As Integer
End Type
メンバ
- lAvgBytesPerSec
- フォーマット用に要求された平均データ転送速度。 単位は 1 秒あたりのバイト数である。nFormatTag が WAVE_FORMAT_PCM の場合、nAvgBytesPerSec は lSamplesPerSec と nBlockAlign の積に等しくなる。
- lExtra
- 未使用。 0 に設定する。
- lSamplesPerSec
- 各チャンネルの再生や録音におけるサンプリング レート。 単位は 1 秒あたりのサンプリング回数 (Hz)。nFormatTag が WAVE_FORMAT_PCM の場合、lSamplesPerSec の通常の値は 8.0 kHz、11.025 kHz、22.05 kHz、および 44.1 kHz である。
- nBitsPerSample
- サンプリングあたりのビット数。nFormatTag が WAVE_FORMAT_PCM の場合、nBitsPerSample は 8 か 16 でなければならない。
- nBlockAlign
- ブロック整列 (バイト単位)。ブロック アライメントは、nFormatTag フォーマット タイプのデータの最小単位である。nFormatTag が WAVE_FORMAT_PCM の場合、nBlockAlign は 8 (バイトあたりのビット数) で割った nChannels と nBitsPerSample の積に等しくなる。
バッファに読み書きされるデータは、常にブロックの先頭で開始しなければならない。たとえば、PCM データの再生を、サンプルの中間、つまり非ブロック整列の境界から開始するのは間違いである。
- nChannels
- ウェーブフォーム オーディオ データのチャンネル数。モノラル データは 1 つのチャンネルを使い、ステレオ データは 2 つのチャンネルを使う。
- nFormatTag
- ウェーブフォーム オーディオ フォーマットのタイプ。DirectSound では、このメンバが常に WAVE_FORMAT_PCM でなければならない。
- nSize
- 追加フォーマット情報のサイズ (バイト単位)。WAVE_FORMAT_PCM フォーマットでは、このメンバは無視される。