KSAUDIO_POSITION Struktur (ksmedia.h)
Die KSAUDIO_POSITION-Struktur gibt die aktuellen Positionen der Wiedergabe- und Schreibcursor im Soundpuffer für einen Audiodatenstrom an.
Syntax
typedef struct {
#if ...
ULONGLONG PlayOffset;
#if ...
ULONGLONG WriteOffset;
#else
DWORDLONG PlayOffset;
#endif
#else
DWORDLONG WriteOffset;
#endif
} KSAUDIO_POSITION, *PKSAUDIO_POSITION;
Angehörige
PlayOffset
Gibt die aktuelle Wiedergabeposition als Byte-Offset an.
WriteOffset
Gibt die aktuelle Schreibposition als Byteoffset an.
Bemerkungen
Diese Struktur wird verwendet, um den Datenwert für die eigenschaft KSPROPERTY_AUDIO_POSITION abzurufen und festzulegen.
Bei einem Schleifenclientpuffer (mit Streamtyp KSINTERFACE_STANDARD_LOOPED_STREAMING) sind PlayOffset- und WriteOffset- Byte-Offsets in den Clientpuffer. Wenn ein Offset das Ende des Puffers erreicht, wird er an den Anfang des Puffers umgebrochen. Daher überschreitet kein Offset jemals die Puffergröße.
Bei einem nicht geloopten Clientpuffer (mit Streamtyp KSINTERFACE_STANDARD_STREAMING) werden PlayOffset- und WriteOffset- nicht in einen physischen Puffer versetzt, den Der Treiber zugewiesen hat oder ein Client zugewiesen wurde. Stattdessen sind diese Offsets streamrelativ und können als Offsets in einem 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 verweisen, 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 Aufnahmepuffer.
Der Abstand zwischen PlayOffset- und WriteOffset- gilt als Off-Limits 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 AudioPosition-Eigenschaft.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ksmedia.h (enthalten Ksmedia.h) |
Siehe auch
KSINTERFACE_STANDARD_LOOPED_STREAMING