Freigeben über


KSDSOUND_BUFFERDESC Struktur (ksmedia.h)

Die KSDSOUND_BUFFERDESC-Struktur beschreibt einen DirectSound-Puffer.

Syntax

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

Angehörige

Flags

Gibt die Pufferkonfiguration an. Dieses Element kann auf das bitweise ODER eines oder mehrerer der folgenden Flagbits festgelegt werden:

KSDSOUND_BUFFER_PRIMARY

Gibt an, dass der Puffer ein primärer Soundpuffer ist (der Puffer, den der Benutzer beim Spielen eines Spiels hört).

KSDSOUND_BUFFER_STATIC

Gibt an, dass der Puffer für statische Sounddaten verwendet wird.

KSDSOUND_BUFFER_LOCHARDWARE

Erzwingt die Verwendung des Hardwaremischens durch den Puffer.

KSDSOUND_BUFFER_LOCSOFTWARE

Erzwingt die Speicherung des Puffers im Systemspeicher und die Verwendung von Softwaremischungen.

Control

Gibt die Funktionen des Puffers an. Die Funktionen eines Puffers werden durch eine Reihe von Steuerelementkennzeichnungen dargestellt. Dieses Element kann auf das bitweise ODER eines oder mehrerer der folgenden Flagbits festgelegt werden:

KSDSOUND_BUFFER_CTRL_3D

Gibt an, dass der Puffer entweder ein primärer Puffer oder ein sekundärer Puffer mit 3D-Steuerelementfunktion ist. Wenn dieses Bit festgelegt ist, implementiert der KS-Pin, der den Puffer darstellt, einen 3D-Knoten (KSNODETYPE_3D_EFFECTS). Wenn das KSDSOUND_BUFFER_CTRL_HRTF_3D Bit festgelegt ist, unterstützt der 3D-Knoten den optionalen KSPROPSETID_Hrtf3d Eigenschaftensatz.

KSDSOUND_BUFFER_CTRL_FREQUENCY

Gibt an, dass der Puffer über die Frequenzsteuerung verfügt. Wenn dieses Bit festgelegt ist, implementiert der Pin, der den Puffer darstellt, einen Samplerate-Konvertierungsknoten (KSNODETYPE_SRC).

KSDSOUND_BUFFER_CTRL_HRTF_3D

Gibt an, dass der Puffer eine Kopfübertragungsfunktion (HRTF) für 3D-Steuerelemente verwendet. Wenn dieses Bit festgelegt ist, muss auch das KSDSOUND_BUFFER_CTRL_3D Bit festgelegt werden.

KSDSOUND_BUFFER_CTRL_PAN

Gibt an, dass der Puffer über die Funktion "Schwenksteuerung" verfügt. Wenn dieses Bit festgelegt ist, implementiert der Pin, der den Puffer darstellt, einen Volumeknoten (KSNODETYPE_VOLUME), um die Verschiebung zu steuern. Weitere Informationen finden Sie unter DirectSound Node-Ordering Requirements.

KSDSOUND_BUFFER_CTRL_VOLUME

Gibt an, dass der Puffer über die Lautstärkesteuerung verfügt. Wenn dieses Bit festgelegt ist, implementiert der Pin, der den Puffer darstellt, einen Volumeknoten (KSNODETYPE_VOLUME), um die Volumeebene des Datenstroms zu steuern.

KSDSOUND_BUFFER_CTRL_POSITIONNOTIFY

Gibt an, dass der Puffer positionsbenachrichtigungsfähig ist. Wenn dieses Bit festgelegt ist, unterstützt der Pin, der den Puffer darstellt, die KSPROPERTY_AUDIO_POSITION-Eigenschaft.

WaveFormatEx

Gibt das Wellendatenformat des Puffers an. Dieses Element ist eine Struktur vom Typ WAVEFORMATEX.

Bemerkungen

Die KSDATAFORMAT_DSOUND-Struktur enthält ein BufferDesc--Element, das eine KSDSOUND_BUFFERDESC Struktur ist.

Beachten Sie, dass das WaveFormatEx- Mitglied der KSDSOUND_BUFFERDESC-Struktur erweitert werden kann, um zusätzliche Formatinformationen (z. B. eine Kanalkonfigurationsmaske) einzuschließen. Weitere Informationen finden Sie unter WAVEFORMATEXTENSIBLE.

Anforderungen

Anforderung Wert
Header- ksmedia.h (enthalten Ksmedia.h)

Siehe auch

KSDATAFORMAT_DSOUND

KSNODETYPE_3D_EFFECTS

KSNODETYPE_SRC

KSNODETYPE_VOLUME

KSPROPERTY_AUDIO_POSITION

KSPROPSETID_Hrtf3d

WAVEFORMATEX-

WAVEFORMATEXTENSIBLE