KSDSOUND_BUFFERDESC 구조체(ksmedia.h)

KSDSOUND_BUFFERDESC 구조체는 DirectSound 버퍼를 설명합니다.

구문

typedef struct {
  ULONG        Flags;
  ULONG        Control;
  WAVEFORMATEX WaveFormatEx;
} KSDSOUND_BUFFERDESC, *PKSDSOUND_BUFFERDESC;

멤버

Flags

버퍼 구성을 지정합니다. 이 멤버는 다음 플래그 비트 중 하나 이상의 비트 OR로 설정할 수 있습니다.

KSDSOUND_BUFFER_PRIMARY

버퍼가 기본 사운드 버퍼임을 나타냅니다(게임이 재생 중일 때 사용자가 듣는 버퍼).

KSDSOUND_BUFFER_STATIC

버퍼가 정적 사운드 데이터에 사용됨을 나타냅니다.

KSDSOUND_BUFFER_LOCHARDWARE

버퍼가 하드웨어 혼합을 사용하도록 강제합니다.

KSDSOUND_BUFFER_LOCSOFTWARE

버퍼를 강제로 시스템 메모리에 저장하고 소프트웨어 혼합을 사용합니다.

Control

버퍼의 기능을 지정합니다. 버퍼의 기능은 컨트롤 플래그 집합으로 표시됩니다. 이 멤버는 다음 플래그 비트 중 하나 이상의 비트 OR로 설정할 수 있습니다.

KSDSOUND_BUFFER_CTRL_3D

버퍼가 기본 버퍼이거나 3D 제어 기능이 있는 보조 버퍼임을 나타냅니다. 이 비트가 설정되면 버퍼를 나타내는 KS 핀이 3D 노드(KSNODETYPE_3D_EFFECTS)를 구현합니다. KSDSOUND_BUFFER_CTRL_HRTF_3D 비트가 설정된 경우 3D 노드는 선택적 KSPROPSETID_Hrtf3d 속성 집합을 지원합니다.

KSDSOUND_BUFFER_CTRL_FREQUENCY

버퍼에 frequency-control 기능이 있음을 나타냅니다. 이 비트가 설정되면 버퍼를 나타내는 핀은 샘플 속도 변환(KSNODETYPE_SRC) 노드를 구현합니다.

KSDSOUND_BUFFER_CTRL_HRTF_3D

버퍼가 3D 컨트롤에 HRTF(헤드 관련 전송 함수)를 사용한다는 것을 나타냅니다. 이 비트가 설정되면 KSDSOUND_BUFFER_CTRL_3D 비트도 설정해야 합니다.

KSDSOUND_BUFFER_CTRL_PAN

버퍼에 범 제어 기능이 있음을 나타냅니다. 이 비트가 설정되면 버퍼를 나타내는 핀은 이동 제어를 위해 볼륨 노드(KSNODETYPE_VOLUME)를 구현합니다. 자세한 내용은 DirectSound Node-Ordering 요구 사항을 참조하세요.

KSDSOUND_BUFFER_CTRL_VOLUME

버퍼에 볼륨 제어 기능이 있음을 나타냅니다. 이 비트가 설정되면 버퍼를 나타내는 핀은 볼륨 노드(KSNODETYPE_VOLUME)를 구현하여 스트림의 볼륨 수준을 제어합니다.

KSDSOUND_BUFFER_CTRL_POSITIONNOTIFY

버퍼에 위치 알림 기능이 있음을 나타냅니다. 이 비트가 설정되면 버퍼를 나타내는 핀이 KSPROPERTY_AUDIO_POSITION 속성을 지원합니다.

WaveFormatEx

버퍼의 웨이브 데이터 형식을 지정합니다. 이 멤버는 WAVEFORMATEX 형식의 구조체입니다.

설명

KSDATAFORMAT_DSOUND 구조체에는 KSDSOUND_BUFFERDESC 구조체인 BufferDesc 멤버가 포함됩니다.

KSDSOUND_BUFFERDESC 구조체의 WaveFormatEx 멤버를 확장하여 추가 형식 정보(예: 채널 구성 마스크)를 포함할 수 있습니다. 자세한 내용은 WAVEFORMATEXTENSIBLE을 참조하세요.

요구 사항

요구 사항
헤더 ksmedia.h(Ksmedia.h 포함)

추가 정보

KSDATAFORMAT_DSOUND

KSNODETYPE_3D_EFFECTS

KSNODETYPE_SRC

KSNODETYPE_VOLUME

KSPROPERTY_AUDIO_POSITION

KSPROPSETID_Hrtf3d

WAVEFORMATEX

WAVEFORMATEXTENSIBLE