Share via


estrutura KSDSOUND_BUFFERDESC (ksmedia.h)

A estrutura KSDSOUND_BUFFERDESC descreve um buffer DirectSound.

Sintaxe

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

Membros

Flags

Especifica a configuração do buffer. Esse membro pode ser definido como OR bit a bit de um ou mais dos seguintes bits de sinalizador:

KSDSOUND_BUFFER_PRIMARY

Indica que o buffer é um buffer de som primário (o buffer que o usuário ouve quando um jogo está sendo reproduzido).

KSDSOUND_BUFFER_STATIC

Indica que o buffer será usado para dados de som estáticos.

KSDSOUND_BUFFER_LOCHARDWARE

Força o buffer a usar a combinação de hardware.

KSDSOUND_BUFFER_LOCSOFTWARE

Força o buffer a ser armazenado na memória do sistema e usar a combinação de software.

Control

Especifica os recursos do buffer. Os recursos de um buffer são representados por um conjunto de sinalizadores de controle. Esse membro pode ser definido como OR bit a bit de um ou mais dos seguintes bits de sinalizador:

KSDSOUND_BUFFER_CTRL_3D

Indica que o buffer é um buffer primário ou um buffer secundário com capacidade de controle 3D. Se esse bit for definido, o pino KS que representa o buffer implementará um nó 3D (KSNODETYPE_3D_EFFECTS). Se o KSDSOUND_BUFFER_CTRL_HRTF_3D bit estiver definido, o nó 3D oferecerá suporte ao conjunto de propriedades KSPROPSETID_Hrtf3d opcional.

KSDSOUND_BUFFER_CTRL_FREQUENCY

Indica que o buffer tem capacidade de controle de frequência. Se esse bit for definido, o pino que representa o buffer implementará um nó de conversão de taxa de amostragem (KSNODETYPE_SRC).

KSDSOUND_BUFFER_CTRL_HRTF_3D

Indica que o buffer usa uma HRTF (função de transferência relacionada à cabeça) para controle 3D. Se esse bit estiver definido, o bit KSDSOUND_BUFFER_CTRL_3D também deverá ser definido.

KSDSOUND_BUFFER_CTRL_PAN

Indica que o buffer tem a funcionalidade de controle de painel. Se esse bit for definido, o pino que representa o buffer implementará um nó de volume (KSNODETYPE_VOLUME) para controlar o movimento panorâmico. Para obter mais informações, consulte Requisitos de Node-Ordering do DirectSound.

KSDSOUND_BUFFER_CTRL_VOLUME

Indica que o buffer tem capacidade de controle de volume. Se esse bit for definido, o pino que representa o buffer implementará um nó de volume (KSNODETYPE_VOLUME) para controlar o nível de volume do fluxo.

KSDSOUND_BUFFER_CTRL_POSITIONNOTIFY

Indica que o buffer tem capacidade de notificação de posição. Se esse bit for definido, o pino que representa o buffer oferecerá suporte à propriedade KSPROPERTY_AUDIO_POSITION .

WaveFormatEx

Especifica o formato de dados de onda do buffer. Esse membro é uma estrutura do tipo WAVEFORMATEX.

Comentários

A estrutura KSDATAFORMAT_DSOUND contém um membro BufferDesc que é uma estrutura KSDSOUND_BUFFERDESC.

Observe que o membro WaveFormatEx da estrutura KSDSOUND_BUFFERDESC pode ser estendido para incluir informações de formato adicionais (por exemplo, uma máscara de configuração de canal). Para obter detalhes, consulte WAVEFORMATEXTENSIBLE.

Requisitos

Requisito Valor
Cabeçalho ksmedia.h (inclua Ksmedia.h)

Confira também

KSDATAFORMAT_DSOUND

KSNODETYPE_3D_EFFECTS

KSNODETYPE_SRC

KSNODETYPE_VOLUME

KSPROPERTY_AUDIO_POSITION

KSPROPSETID_Hrtf3d

WAVEFORMATEX

WAVEFORMATEXTENSIBLE