Méthode IAudioCaptureClient ::GetNextPacketSize (audioclient.h)

La méthode GetNextPacketSize récupère le nombre de trames dans le paquet de données suivant dans la mémoire tampon du point de terminaison de capture.

Syntaxe

HRESULT GetNextPacketSize(
  [out] UINT32 *pNumFramesInNextPacket
);

Paramètres

[out] pNumFramesInNextPacket

Pointeur vers une variable UINT32 dans laquelle la méthode écrit le nombre de trames (le nombre de trames audio dans le paquet de capture suivant).

Valeur retournée

Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Code de retour Description
AUDCLNT_E_DEVICE_INVALIDATED
Le périphérique de point de terminaison audio a été débranché, ou le matériel audio ou les ressources matérielles associées ont été reconfigurés, désactivés, supprimés ou autrement rendus indisponibles.
AUDCLNT_E_SERVICE_NOT_RUNNING
Le service audio Windows n’est pas en cours d’exécution.
E_POINTER
Le paramètre pNumFramesInNextPacket a la valeur NULL.

Remarques

Utilisez cette méthode uniquement avec des flux en mode partagé. Il ne fonctionne pas avec les flux en mode exclusif.

Avant d’appeler la méthode IAudioCaptureClient ::GetBuffer pour récupérer le paquet de données suivant, le client peut appeler GetNextPacketSize pour récupérer le nombre de trames audio dans le paquet suivant. Le nombre signalé par GetNextPacketSize correspond au nombre récupéré dans l’appel GetBuffer (via le paramètre de sortie pNumFramesToRead ) qui suit l’appel GetNextPacketSize .

Un paquet se compose toujours d’un nombre intégral de trames audio.

GetNextPacketSize doit être appelé dans le même thread que les appels de méthode GetBuffer et IAudioCaptureClient ::ReleaseBuffer qui obtiennent et libèrent les paquets dans la mémoire tampon du point de terminaison de capture.

Pour obtenir un exemple de code qui utilise la méthode GetNextPacketSize, consultez Capture d’un Stream.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête audioclient.h

Voir aussi

IAudioCaptureClient, interface

IAudioCaptureClient ::GetBuffer

IAudioCaptureClient ::ReleaseBuffer

IAudioClient ::GetCurrentPadding