次の方法で共有


オーディオ データ形式

ウェーブ オーディオ ストリームのデータ形式を指定するには、 KSDATAFORMAT 構造体の直後に WAVEFORMATEX または KSDSOUND_BUFFERDESC 構造体が続き、それに応じて KSDATAFORMAT の 指定子 メンバーが次の 2 つの値のいずれかに設定されます。

  • KSDATAFORMAT_SPECIFIER_WAVEFORMATEX

    データ形式が waveIn または waveOut アプリケーションで使用されているウェーブ ストリームに属していることを示します。 この場合、KSDATAFORMAT 構造体の FormatSize が十分な大きさの場合、KSDATAFORMAT 構造体に続くデータ書式指定子は WAVEFORMATEX 構造体です。

  • KSDATAFORMAT_SPECIFIER_DSOUND

    データ形式が DirectSound アプリケーションで使用されているウェーブ ストリームに属していることを示します。 この場合、KSDATAFORMAT 構造体に続くデータ書式指定子は、埋め込み WAVEFORMATEX 構造体を含むKSDSOUND_BUFFERDESC構造体です。

KSDATAFORMAT_WAVEFORMATEX構造体は、KSDATAFORMAT 構造体とその後の WAVEFORMATEX 構造体の両方をカプセル化します。 同様に、 KSDATAFORMAT_DSOUND 構造体は、KSDATAFORMAT 構造体とその後の DSOUND_BUFFERDESC 構造体の両方をカプセル化します。

KSDATAFORMAT_WAVEFORMATEXまたはKSDATAFORMAT_DSOUNDの場合、構造体の最後の項目は埋め込み WAVEFORMATEX 構造体です。KSDATAFORMAT_DSOUNDの場合、WAVEFORMATEX 構造体は埋め込みDSOUND_BUFFERDESC構造に含まれます。 どちらの場合も、WAVEFORMATEX 構造体は WAVEFORMATEXTENSIBLE 構造体の先頭である可能性があります。この場合、WAVEFORMATEX の wFormatTag メンバーは値WAVE_FORMAT_EXTENSIBLEに設定されます。 詳細については、「 拡張可能な Wave-Format 記述子」を参照してください。

MIDI ストリームまたは DirectMusic ストリームのデータ形式を指定するには、KSDATAFORMAT 構造体で十分です。その後に追加情報が続くわけではありません。

ウェーブおよび DirectSound データ形式の例については、「 PCM Stream データ形式 」および 「DirectSound Stream データ形式」を参照してください。 MIDI データ形式と DirectMusic データ形式の例については、「 MIDI ストリーム データ形式 」と 「DirectMusic Stream データ形式」を参照してください。