Freigeben über


IAudioCaptureClient::GetNextPacketSize-Methode (audioclient.h)

Die GetNextPacketSize-Methode ruft die Anzahl der Frames im nächsten Datenpaket im Aufnahmeendpunktpuffer ab.

Syntax

HRESULT GetNextPacketSize(
  [out] UINT32 *pNumFramesInNextPacket
);

Die Parameter

[out] pNumFramesInNextPacket

Zeigen Sie auf eine UINT32-Variable , in die die Methode die Frameanzahl schreibt (die Anzahl der Audioframes im nächsten Aufnahmepaket).

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Wenn ein Fehler auftritt, enthalten mögliche Rückgabecodes, sind jedoch nicht beschränkt auf die in der folgenden Tabelle gezeigten Werte.

Rückgabecode Description
AUDCLNT_E_DEVICE_INVALIDATED
Das Audioendpunktgerät wurde nicht angeschlossen, oder die Audiohardware oder die zugehörigen Hardwareressourcen wurden neu konfiguriert, deaktiviert, entfernt oder anderweitig nicht zur Verwendung verfügbar gemacht.
AUDCLNT_E_RESOURCES_INVALIDATED
Die Ressourcen des Datenstroms wurden ungültig. Dieser Fehler kann aus den folgenden Gründen ausgelöst werden:
– Der Datenstrom wird angehalten.
– Ein exklusiver oder Offload-Datenstrom wird getrennt.
– Eine verpackte Anwendung mit einem exklusiven Modus oder Offload-Stream wird stillgeschützt.
- Ein "geschützter Ausgabedatenstrom" wird geschlossen.
AUDCLNT_E_SERVICE_NOT_RUNNING
Der Windows-Audiodienst wird nicht ausgeführt.
E_POINTER
Der Parameter pNumFramesInNextPacket ist NULL.

Bemerkungen

Verwenden Sie diese Methode nur für Datenströme im gemeinsam genutzten Modus. Es funktioniert nicht mit Exklusivmodusstreams.

Vor dem Aufrufen der IAudioCaptureClient::GetBuffer-Methode zum Abrufen des nächsten Datenpakets kann der Client GetNextPacketSize aufrufen, um die Anzahl der Audioframes im nächsten Paket abzurufen. Die von GetNextPacketSize gemeldete Anzahl entspricht der anzahl, die im GetBuffer-Aufruf (über den pNumFramesToRead-Ausgabeparameter ) abgerufen wurde, der dem GetNextPacketSize-Aufruf folgt.

Ein Paket besteht immer aus einer integralen Anzahl von Audioframes.

GetNextPacketSize muss im selben Thread wie die GetBuffer - und IAudioCaptureClient::ReleaseBuffer-Methode aufgerufen werden, die die Pakete im Aufnahmeendpunktpuffer abrufen und freigeben.

Ein Codebeispiel, das die GetNextPacketSize-Methode verwendet, finden Sie unter Erfassen eines Datenstroms.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows Vista [Desktop-Apps | UWP-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Fenster
Header audioclient.h

Siehe auch

IAudioCaptureClient-Schnittstelle

IAudioCaptureClient::GetBuffer

IAudioCaptureClient::ReleaseBuffer

IAudioClient::GetCurrentPadding