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


структура 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 бит, 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) для управления сдвигом. Дополнительные сведения см. в разделе DirectSound Node-Ordering Требования.

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 (include Ksmedia.h)

См. также

KSDATAFORMAT_DSOUND

KSNODETYPE_3D_EFFECTS

KSNODETYPE_SRC

KSNODETYPE_VOLUME

KSPROPERTY_AUDIO_POSITION

KSPROPSETID_Hrtf3d

WAVEFORMATEX

WAVEFORMATEXTENSIBLE