KSAUDIO_POSITION-Struktur (ksmedia.h)
Die KSAUDIO_POSITION-Struktur gibt die aktuelle Position der Wiedergabe- und Schreibcursoren im Soundpuffer für einen Audiostream an.
Syntax
typedef struct {
#if ...
ULONGLONG PlayOffset;
#if ...
ULONGLONG WriteOffset;
#else
DWORDLONG PlayOffset;
#endif
#else
DWORDLONG WriteOffset;
#endif
} KSAUDIO_POSITION, *PKSAUDIO_POSITION;
Member
PlayOffset
Gibt die aktuelle Wiedergabeposition als Byteoffset an.
WriteOffset
Gibt die aktuelle Schreibposition als Byteoffset an.
Hinweise
Diese Struktur wird verwendet, um den Datenwert für die eigenschaft KSPROPERTY_AUDIO_POSITION abzurufen und festzulegen.
Für einen Clientpuffer mit Schleifen (mit Streamtyp KSINTERFACE_STANDARD_LOOPED_STREAMING) sind PlayOffset und WriteOffset Byte-Offsets im Clientpuffer. Wenn ein Offset das Ende des Puffers erreicht, wird er bis zum Anfang des Puffers umschließen. Daher überschreitet kein Offset jemals die Puffergröße.
Für einen nicht geschleifeten Clientpuffer (mit Streamtyp KSINTERFACE_STANDARD_STREAMING) sind PlayOffset und WriteOffset keine Offsets in einen physischen Puffer, den Ihr Treiber zugewiesen oder ein Client zugewiesen hat. Stattdessen sind diese Offsets streamrelativ und können als Offsets in einen idealisierten Puffer betrachtet werden, der den gesamten Datenstrom enthält und von Anfang bis Ende zusammenhängend ist. Alle internen Offsets, die auf die tatsächlichen physischen Puffer zeigen, die die Daten enthalten, müssen separat verwaltet werden.
Während der Wiedergabe werden die PlayOffset- und WriteOffset-Werte wie folgt interpretiert:
- PlayOffset ist der Offset des letzten Byte im Puffer, der wiedergegeben wurde. PlayOffset + 1 ist der Offset des nächsten Byte, das wiedergegeben wird.
- WriteOffset ist der Offset des letzten Byte im Wiedergabepuffer.
Während der Aufzeichnung werden die PlayOffset- und WriteOffset-Werte wie folgt interpretiert:
- PlayOffset ist der Offset des letzten Byte im Puffer, der erfasst wurde. PlayOffset + 1 ist der Offset des nächsten Byte, das erfasst wird.
- WriteOffset ist der Offset des letzten Byte im Erfassungspuffer.
Der Speicherplatz zwischen PlayOffset und WriteOffset gilt als nicht für den Client, da er den Teil des Clientpuffers darstellt, der bereits an den Treiber gesendet wurde und möglicherweise noch vom Treiber verwendet wird.
Weitere Informationen finden Sie unter Eigenschaft "Audioposition".
Anforderungen
Anforderung | Wert |
---|---|
Header | ksmedia.h (include Ksmedia.h) |
Weitere Informationen
KSINTERFACE_STANDARD_LOOPED_STREAMING