Microsoft DirectX 8.0 (C++)

DSEFFECTDESC

バッファに関連付けられたエフェクトを記述する。

typedef struct _DSEFFECTDESC {
    DWORD  dwSize;
    DWORD  dwFlags;
    GUID   guidDSFXClass;
    DWORD  dwReserved1;
    DWORD  dwReserved2
} DSEFFECTDESC, *LPDSEFFECTDESC;
 
typedef const DSEFFECTDESC *LPCDSEFFECTDESC;

メンバ

dwSize
構造体のサイズ (バイト単位)。
dwFlags
フラグ。0 または次の値のいずれかを指定する。
DSFX_LOCHARDWARE
エフェクトはハードウェアになければならない。ハードウェアでそのエフェクトを利用できない場合は、IDirectSoundBuffer8::SetFX でエラーが発生する。DirectX 8.0 はエフェクトのハードウェア アクセラレーションをサポートしていないので、このフラグを使うべきではない。
DSFX_LOCSOFTWARE
ハードウェアが guidDSFXClass のアクセラレーションをサポートする場合でも、エフェクトはソフトウェアになければならない。ソフトウェアでそのエフェクトを利用できない場合は、SetFX でエラーが発生する。DirectX 8.0 では、このフラグの設定にかかわらず、すべてのエフェクトがソフトウェアに配置される。
guidDSFXClass
エフェクトのクラス識別子。次の標準エフェクト クラスが定義されている。
GUID_DSFX_STANDARD_CHORUS
GUID_DSFX_STANDARD_COMPRESSOR
GUID_DSFX_STANDARD_DISTORTION
GUID_DSFX_STANDARD_ECHO
GUID_DSFX_STANDARD_FLANGER
GUID_DSFX_STANDARD_GARGLE
GUID_DSFX_STANDARD_I3DL2REVERB
GUID_DSFX_STANDARD_PARAMEQ
GUID_DSFX_STANDARD_WAVES_REVERB
dwReserved1
将来の使用に備えて予約されている。
dwReserved2
将来の使用に備えて予約されている。

注意

dwFlags が 0 の場合、エフェクトは可能であればハードウェアに置かれる。ハードウェアがエフェクトをサポートしていない場合は、ソフトウェアが使用される。エフェクトをまったく利用できない場合、SetFX の呼び出しは失敗する。

GUID_DSFX_STANDARD_WAVES_REVERB クラスのエフェクトは、16 ビットのオーディオ フォーマットを備えるバッファ上にのみ設定できる。

動作環境

  ヘッダー : dsound.h で宣言。
  

参照

DSBCAPSIDirectSoundBuffer8::SetFXエフェクトの使い方