Freigeben über


KSPROPERTY_RTAUDIO_GETREADPACKET

KSPROPERTY_RTAUDIO_GETREADPACKET gibt Informationen zu erfassten Audiopaketen zurück.

Nutzungszusammenfassungstabelle

Herunterladen Set Ziel Eigenschaftendeskriptortyp Eigenschaftswerttyp
Ja Nein Pin KSPROPERTY KSRTAUDIO_GETREADPACKET_INFO

Der Eigenschaftendeskriptor (instance Daten) ist eine KSPROPERTY-Struktur. Vor dem Senden der Anforderung lädt der Client die -Struktur mit Werten, die die Paketnummer, die Paketlänge und andere Informationen angeben.

Der Eigenschaftswert ist eine Variable vom Typ KSRTAUDIO_GETREADPACKET_INFO.

Rückgabewert

Eine KSPROPERTY_RTAUDIO_GETREADPACKET-Eigenschaftsanforderung gibt STATUS_SUCCESS zurück, um anzugeben, dass sie erfolgreich abgeschlossen wurde. Andernfalls gibt die Anforderung einen geeigneten Fehler status Code zurück.

STATUS_DEVICE_NOT_READY: Der Treiber gibt diesen Fehler zurück, wenn keine neuen Daten verfügbar sind.

Bemerkungen

Vor dem Lesen erfasster Audiodaten aus dem WaveRT-Puffer ruft das Betriebssystem diese Routine auf, um Informationen zu den verfügbaren Daten zu erhalten.

Die Paketnummer identifiziert ein Paket innerhalb des Datenstroms. Dies wird auf null zurückgesetzt, wenn sich der Stream in KSSTATE_STOP befindet. Die Zahl wird mit jedem erfassten Puffer erhöht. Von der Paketnummer kann das Betriebssystem den Paketspeicherort innerhalb des WaveRT-Puffers ableiten und auch die Streamposition des Pakets relativ zum Start des Datenstroms ableiten.

Die Paketgröße ist die WaveRT-Puffergröße dividiert durch den NotificationCount, der an KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION übergeben wird. Das Betriebssystem kann diese Routine jederzeit aufrufen. Im normalen Betrieb ruft das Betriebssystem diese Routine auf, nachdem der Treiber das Pufferbenachrichtigungsereignis festgelegt hat oder nachdem ein vorheriger Aufruf true für MoreData zurückgibt. Wenn das Betriebssystem diese Routine aufruft, kann der Treiber davon ausgehen, dass das Betriebssystem alle vorherigen Pakete gelesen hat. Wenn die Hardware genügend Daten erfasst hat, kann der Treiber sofort das nächste vollständige Paket in den WaveRT-Puffer bursten und das Pufferereignis erneut festlegen. Im Falle eines Aufzeichnungsüberlaufs (wenn das Betriebssystem Daten nicht schnell genug liest), kann der Audiotreiber einige Audiodaten löschen oder überschreiben. Der Audiotreiber löscht oder überschreibt zuerst die ältesten Daten. Der Audiotreiber kann seinen internen Paketzähler weiter voranbringen, obwohl das Betriebssystem die Daten möglicherweise nicht gelesen hat.

Requirements (Anforderungen)

Version

Verfügbar in windows-Betriebssystemen Windows 10 und höher.

Header

Ksmedia.h

Siehe auch

KSPROPERTY_RTAUDIO_SETWRITEPACKET

UsePositionLock