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;

Member

Flags

Gibt die Pufferkonfiguration an. Dieser Member kann auf das bitweise OR 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 bei der Wiedergabe eines Spiels hört).

KSDSOUND_BUFFER_STATIC

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

KSDSOUND_BUFFER_LOCHARDWARE

Erzwingt, dass der Puffer Hardwaremischung verwendet.

KSDSOUND_BUFFER_LOCSOFTWARE

Erzwingt, dass der Puffer im Systemspeicher gespeichert wird und softwaregemischt wird.

Control

Gibt die Funktionen des Puffers an. Die Funktionen eines Puffers werden durch eine Reihe von Steuerelementflags dargestellt. Dieser Member kann auf das bitweise OR 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-Steuerungsfunktion 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 eine Frequenzsteuerung verfügt. Wenn dieses Bit festgelegt ist, implementiert der Pin, der den Puffer darstellt, einen Knoten KSNODETYPE_SRC (Samplerate Conversion).

KSDSOUND_BUFFER_CTRL_HRTF_3D

Gibt an, dass der Puffer eine head-related transfer function (HRTF) für die 3D-Steuerung 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 Eine 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 Anforderungen.

KSDSOUND_BUFFER_CTRL_VOLUME

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

KSDSOUND_BUFFER_CTRL_POSITIONNOTIFY

Gibt an, dass der Puffer über die Funktion "Positionsbenachrichtigung" verfügt. Wenn dieses Bit festgelegt ist, unterstützt der Pin, der den Puffer darstellt, die eigenschaft KSPROPERTY_AUDIO_POSITION .

WaveFormatEx

Gibt das Wellendatenformat des Puffers an. Dieser Member ist eine Struktur vom Typ WAVEFORMATEX.

Hinweise

Die KSDATAFORMAT_DSOUND-Struktur enthält einen BufferDesc-Member , der eine KSDSOUND_BUFFERDESC-Struktur ist.

Beachten Sie, dass das WaveFormatEx-Element 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 (include Ksmedia.h)

Weitere Informationen

KSDATAFORMAT_DSOUND

KSNODETYPE_3D_EFFECTS

KSNODETYPE_SRC

KSNODETYPE_VOLUME

KSPROPERTY_AUDIO_POSITION

KSPROPSETID_Hrtf3d

WAVEFORMATEX

WAVEFORMATEXTENSIBLE