ADPCMWAVEFORMAT 構造体
ADPCMWAVEFORMAT 構造体は、ADPCM オーディオ データのフォーマットを定義します。
構文
typedef struct adpcmwaveformat_tag { WAVEFORMATEX wfx; WORD wSamplesPerBlock; WORD wNumCoef; ADPCMCOEFSET aCoef[];} ADPCMWAVEFORMAT;
メンバー
- wfx
基本のフォーマットを示す、基本 WAVEFORMATEX 構造体です。wFormatTag メンバーは必ず WAVE_FORMAT_ADPCM にします。 - wSamplesPerBlock
サンプル数単位で測定される ADPCM ブロックのサイズです。32 ~ 512 の範囲で指定する必要があります。詳細については、「ADPCM の概要」を参照してください。 - wNumCoef
aCoef におけるエントリの数です。 - aCoef
ADPCM の圧縮係数の配列です。
解説
XAudio2 では、現在 "Microsoft ADPCM" のみをサポートしています。このフォーマットでは、常にちょうど 7 つの係数を使用します (wNumCoef は常に 7 です)。これらの係数は次のように定義されます。
wNumCoef = 7 aCoeff = { {256, 0}, {512, -256}, {0,0}, {192,64}, {240,0}, {460, -208}, {392,-232} }
wSamplesPerBlock は、次の式を使って計算できます。
wSamplesPerBlock = wfx.nBlockAlign * 2 / wfx.nChannels - 12
ADPCM コマンドライン エンコーダー (AdpcmEncode) は、ここで示すように Microsoft ADPCM フォーマットを使用して .WAV ファイルを生成します。
要件
ヘッダー: audiodefs.h で宣言されています。