Partager via


constantes AUDCLNT_STREAMFLAGS_XXX

Spécifie les caractéristiques qu’un client peut affecter à un flux audio lors de l’initialisation du flux.

Constante/valeur Description
AUDCLNT_STREAMFLAGS_CROSSPROCESS
0x00010000
Le flux audio sera membre d’une session audio interprocesseur. Pour plus d'informations, consultez la section Notes.
AUDCLNT_STREAMFLAGS_LOOPBACK
0x00020000
Le flux audio fonctionne en mode bouclage. Pour plus d'informations, consultez la section Notes.
AUDCLNT_STREAMFLAGS_EVENTCALLBACK
0x00040000
Le traitement de la mémoire tampon audio par le client est piloté par les événements. Pour plus d'informations, consultez la section Notes.
AUDCLNT_STREAMFLAGS_NOPERSIST
0x00080000
Les paramètres de volume et de désactivation d’une session audio ne sont pas conservés entre les redémarrages de l’application. Pour plus d'informations, consultez la section Notes.
AUDCLNT_STREAMFLAGS_RATEADJUST
0x00100000
Cette constante est nouvelle dans Windows 7. La fréquence d’échantillonnage du flux est ajustée à une vitesse spécifiée par une application. Pour plus d'informations, consultez la section Notes.
AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM
0x80000000
Un matrice de canal et un convertisseur de taux d’échantillonnage sont insérés si nécessaire pour effectuer une conversion entre le format non compressé fourni dans IAudioClient::Initialize et le format de mixage du moteur audio.
AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY
0x08000000
Lorsqu’il est utilisé avec AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM, un convertisseur de taux d’échantillonnage avec une meilleure qualité que la conversion par défaut, mais avec un coût de performances plus élevé est utilisé. Cela doit être utilisé si l’audio est finalement destiné à être entendu par les humains, par opposition à d’autres scénarios tels que le pompage du silence ou le remplissage d’un compteur.

Notes

La méthode IAudioClient::Initialize et la structure DIRECTX_AUDIO_ACTIVATION_PARAMS utilisent les constantes AUDCLNT_STREAMFLAGS_XXX.

L’indicateur AUDCLNT_STREAMFLAGS_CROSSPROCESS indique que la session audio du flux est une session interprocesseur. Une session interprocesses peut accepter des flux de plusieurs processus. Si deux applications dans deux processus distincts appellent IAudioClient::Initialize avec des GUID de session identiques, et que les deux applications définissent l’indicateur AUDCLNT_SHAREMODE_CROSSPROCESS, le moteur audio affecte leurs flux à la même session interprocesseur. Cet indicateur remplace le comportement par défaut, qui consiste à affecter le flux à une session spécifique au processus plutôt qu’à une session interprocesseur. Le bit d’indicateur AUDCLNT_STREAMFLAGS_CROSSPROCESS n’est pas compatible avec le mode exclusif. Pour plus d’informations sur les sessions interprocesseur, consultez Sessions audio.

L’indicateur AUDCLNT_STREAMFLAGS_LOOPBACK active l’enregistrement de bouclage. Dans l’enregistrement en bouclage, le moteur audio copie le flux audio lu par un périphérique de point de terminaison de rendu dans une mémoire tampon de point de terminaison audio afin qu’un client WASAPI puisse capturer le flux. Si cet indicateur est défini, la méthode IAudioClient::Initialize tente d’ouvrir une mémoire tampon de capture sur le périphérique de rendu. Cet indicateur est valide uniquement pour un appareil de rendu et uniquement si l’appel Initialize définit le paramètre ShareMode sur AUDCLNT_SHAREMODE_SHARED. Sinon, l’appel Initialize échoue. Si l’appel réussit, le client peut appeler la méthode IAudioClient::GetService pour obtenir une interface IAudioCaptureClient sur le périphérique de rendu. Pour plus d’informations, consultez Enregistrement en boucle.

L’indicateur AUDCLNT_STREAMFLAGS_EVENTCALLBACK active la mise en mémoire tampon pilotée par les événements. Si un client définit cet indicateur dans l’appel à IAudioClient::Initialize qui initialise un flux, le client doit ensuite appeler la méthode IAudioClient::SetEventHandle pour fournir un handle d’événement pour le flux. Une fois le flux démarré, le moteur audio signale le handle d’événement pour avertir le client chaque fois qu’une mémoire tampon est prête pour le client à traiter. WASAPI prend en charge la mise en mémoire tampon pilotée par les événements pour les mémoires tampons de rendu et de capture. Les flux en mode partagé et en mode exclusif peuvent utiliser la mise en mémoire tampon pilotée par les événements. Pour obtenir un exemple de code qui utilise l’indicateur AUDCLNT_STREAMFLAGS_EVENTCALLBACK, consultez Flux en mode exclusif.

L’indicateur AUDCLNT_STREAMFLAGS_NOPERSIST désactive les paramètres de persistance du volume et de muet pour une session qui contient des flux de rendu. Par défaut, le niveau de volume et l’état de désactivation d’une session de rendu sont persistants pendant les redémarrages de l’application. Le niveau de volume et l’état de désactivation d’une session de capture ne sont jamais persistants. Pour plus d’informations sur la persistance du volume de session et des paramètres de désactivation, consultez Sessions audio.

L’indicateur AUDCLNT_STREAMFLAGS_RATEADJUST permet à une application d’obtenir une référence à l’interface IAudioClockAdjustment utilisée pour définir le taux d’échantillonnage pour le flux. Pour obtenir un pointeur vers ce pointeur, une application doit initialiser le client audio avec cet indicateur, puis appeler IAudioClient::GetService en spécifiant l’identificateur IID_IAudioClockAdjustment . Pour définir le nouveau taux d’échantillonnage, appelez IAudioClockAdjustment::SetSampleRate. Cet indicateur est valide uniquement pour un périphérique de rendu. Sinon, l’appel GetService échoue avec le code d’erreur AUDCLNT_E_WRONG_ENDPOINT_TYPE. L’application doit également définir le paramètre ShareMode sur AUDCLNT_SHAREMODE_SHARED pendant l’appel Initialize . SetSampleRate échoue si le client audio n’est pas en mode partagé.

Spécifications

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]
En-tête
Audiosessiontypes.h

Voir aussi

Constantes audio principales

IAudioCaptureClient, interface

IAudioClient::GetService

IAudioClient::Initialize

IAudioClient::SetEventHandle