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) |