DirectSound DirectSound C/C++ 레퍼런스 DirectSound 의 구조체 DSEFFECTDESC [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
DSEFFECTDESC 구조체는, 버퍼에 관련지을 수 있는 이펙트를 기술한다.
구문
typedef struct _DSEFFECTDESC {
DWORD dwSize;
DWORD dwFlags;
GUID guidDSFXClass;
DWORD_PTR dwReserved1;
DWORD_PTR dwReserved2
} DSEFFECTDESC, *LPDSEFFECTDESC;
typedef const DSEFFECTDESC *LPCDSEFFECTDESC;
멤버
dwSize
구조체의 사이즈 (바이트 단위).
dwFlags
플래그. 0 또는 다음의 몇개의 값을 지정할 수 있다.
값 | 설명 |
DSFX_LOCHARDWARE | 이펙트는 하드웨어에 없으면 안 된다. 하드웨어로 그 이펙트를 이용할 수 없는 경우는,IDirectSoundBuffer8::SetFX 로 에러가 발생한다. DirectX 9.0 은, 이펙트의 하드웨어 가속화를 지원 하지 않기 때문에, 이 플래그를 사용해서는 안 된다. |
DSFX_LOCSOFTWARE | 하드웨어가 guidDSFXClass 의 가속화를 지원 하는 경우에서도, 이펙트는 소프트웨어에 없으면 안 된다. 소프트웨어로 이펙트를 이용할 수 없는 경우는,SetFX 로 에러가 발생한다. DirectX 9.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 | Interactive 3D Level 2 리버브 |
GUID_DSFX_STANDARD_PARAMEQ | 파라메트릭 이퀼라이저 |
GUID_DSFX_WAVES_REVERB | Waves 리버브 |
dwReserved1
장래의 사용에 대비해 예약되고 있다.
dwReserved2
장래의 사용에 대비해 예약되고 있다.
주의
커스텀 이펙트는 DMO 로서 처리 할 수 있다. 이펙트 DMO 는,IMediaObject 인터페이스와 IMediaObjectInPlace 인터페이스를 처리 해야 한다.
dwFlags 가 0 의 경우, 가능하면 이펙트는 하드웨어에 놓여진다. 하드웨어가 이펙트를 지원 하고 있지 않는 경우 (DirectX 9.0 에서는 항상 지원 하고 있지 않다)는, 소프트웨어가 사용된다. 이펙트를 전혀 이용할 수 없는 경우,SetFX 의 호출은 실패한다.
GUID_DSFX_WAVES_REVERB 클래스의 이펙트는, 16 비트의 오디오 포맷을 갖추는 버퍼상에만 설정할 수 있다.
요건
헤더:Dsound.h 로 선언.
참조