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 で宣言。
参照
DSBCAPS、IDirectSoundBuffer8::SetFX、エフェクトの使い方