次の方法で共有


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 で宣言されています。