Поделиться через


структура KSDSOUND_BUFFERDESC (ksmedia.h)

Структура KSDSOUND_BUFFERDESC описывает буфер DirectSound.

Синтаксис

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

Члены

Flags

Задает конфигурацию буфера. Для этого элемента можно задать побитовое ЗНАЧЕНИЕ ИЛИ одного или нескольких из следующих битов флага:

KSDSOUND_BUFFER_PRIMARY

Указывает, что буфер является основным звуковым буфером (буфер, который пользователь слышит при игре).

KSDSOUND_BUFFER_STATIC

Указывает, что буфер будет использоваться для статических звуковых данных.

KSDSOUND_BUFFER_LOCHARDWARE

При принудительном использовании буфера используется аппаратное смешивание.

KSDSOUND_BUFFER_LOCSOFTWARE

Принудительное хранение буфера в системной памяти и использование программного смешивания.

Control

Указывает возможности буфера. Возможности буфера представлены набором флагов элементов управления. Для этого элемента можно задать побитовое ЗНАЧЕНИЕ ИЛИ одного или нескольких из следующих битов флага:

KSDSOUND_BUFFER_CTRL_3D

Указывает, что буфер является либо первичным, либо вторичным буфером с возможностью 3D-управления. Если этот бит задан, контакт KS, представляющий буфер, реализует трехмерный узел (KSNODETYPE_3D_EFFECTS). Если задан бит KSDSOUND_BUFFER_CTRL_HRTF_3D, трехмерный узел поддерживает необязательный набор свойств KSPROPSETID_Hrtf3d .

KSDSOUND_BUFFER_CTRL_FREQUENCY

Указывает, что буфер имеет возможность управления частотой. Если этот бит задан, контакт, представляющий буфер, реализует узел преобразования частоты выборки (KSNODETYPE_SRC).

KSDSOUND_BUFFER_CTRL_HRTF_3D

Указывает, что буфер использует функцию передачи, связанную с головой (HRTF), для трехмерного управления. Если этот бит задан, необходимо также задать бит KSDSOUND_BUFFER_CTRL_3D.

KSDSOUND_BUFFER_CTRL_PAN

Указывает, что буфер имеет возможность управления сдвигом. Если этот бит задан, контакт, представляющий буфер, реализует узел тома (KSNODETYPE_VOLUME) для управления сдвигом. Дополнительные сведения см. в разделе Требования к Node-Ordering DirectSound.

KSDSOUND_BUFFER_CTRL_VOLUME

Указывает, что буфер имеет возможность управления громкостями. Если этот бит задан, контакт, представляющий буфер, реализует узел тома (KSNODETYPE_VOLUME) для управления уровнем громкости потока.

KSDSOUND_BUFFER_CTRL_POSITIONNOTIFY

Указывает, что буфер имеет возможность уведомления о положении. Если этот бит задан, контакт, представляющий буфер, поддерживает свойство KSPROPERTY_AUDIO_POSITION .

WaveFormatEx

Задает формат волновых данных буфера. Этот элемент является структурой типа WAVEFORMATEX.

Комментарии

Структура KSDATAFORMAT_DSOUND содержит элемент BufferDesc , который является KSDSOUND_BUFFERDESC структурой.

Обратите внимание, что член WaveFormatEx структуры KSDSOUND_BUFFERDESC можно расширить для включения дополнительных сведений о форматировании (например, маски конфигурации канала). Дополнительные сведения см. в разделе WAVEFORMATEXTENSIBLE.

Требования

Требование Значение
Заголовок ksmedia.h (включая Ksmedia.h)

См. также раздел

KSDATAFORMAT_DSOUND

KSNODETYPE_3D_EFFECTS

KSNODETYPE_SRC

KSNODETYPE_VOLUME

KSPROPERTY_AUDIO_POSITION

KSPROPSETID_Hrtf3d

WAVEFORMATEX

WAVEFORMATEXTENSIBLE