XAudio2CreateWithSharedContexts
Crée un nouvel objet XAudio2 et retourne un pointeur vers son interface IXAudio2.Syntaxe
Paramètres
ppXAudio2 _Outptr_Type : IXAudio2** Si l’opération réussit, retourne un pointeur vers un objet IXAudio2. Flags _In_
Type : UINT32 Indicateurs qui spécifient le comportement de l’objet IXAudio2.
XAudio2Processor _In_
Type : XAUDIO2_PROCESSOR Valeur de type XAUDIO2_PROCESSOR qui spécifie le processeur à utiliser. Transmettre XAUDIO2_USE_DEFAULT_PROCESSOR permet à XAudio2 de choisir le processeur idéal au moment de l’exécution. Spécifier un processeur pourrait nuire à la capacité du planificateur à répartir efficacement les threads entre les processeurs. Transmettez plutôt la valeur XAUDIO2_USE_DEFAULT_PROCESSOR. SharedShapeContexts _In_
Type : PXAUDIO2_SHARED_SHAPE_CONTEXTS Pointeur vers SHARED_SHAPE_CONTEXTS. Ce paramètre est propre à XBOX One et permet à un titre de partager des ressources SHAPE et XMA avec XAudio2. La valeur par défaut est NULL.
Valeur de retour
Type : XAUDIO2_STDAPI Si la fonction réussit, elle retourneS_OK. Si un ou plusieurs arguments ne sont pas valides, la fonction retourne un code d’erreur.
Remarques
XAudio2CreateWithSharedContexts fonctionne de la même façon que la fonction XAudio2Create. Elle accepte un paramètre supplémentaire permettant de partager l’état du moteur de traitement audio matériel évolutif (SHAPE) sur XBOX One entre plusieurs instances IXAudio2. PXAUDIO2_SHARED_SHAPE_CONTEXTS est un pointeur vers l’état partagé. XAudio2 utilise des contextes SHAPE pour la lecture XMA. En tant que fonctionnalité, XMA a été introduit avec la XBOX 360. Si vous utilisez XAudio2 pour lire de l’audio XMA dans la version XBOX 360 de votre jeu, ou dans un jeu XBOX One basé sur l’ancien XBOX One Software Development Kit, il est essentiel de savoir que le Microsoft Game Development Kit (GDK) continue de prendre en charge XMA et les contextes SHAPE.
Pour lire de l’audio au format XMA, votre application n’a pas à utiliser l’indicateur XAudio2CreateWithSharedContexts, car l’instance XAudio2 crée ses propres contextes SHAPE. XAudio2CreateWithSharedContexts est optimisée pour les applications qui ont plusieurs instances XAudio2. Elle permet à l’application d’allouer un seul ensemble de contextes SHAPE et de les partager efficacement entre les instances.
Le paramètre
XAudio2Processor doit utiliser le pointeur XAUDIO2_USE_DEFAULT_PROCESSOR afin de permettre au système de choisir le processeur approprié, sauf si l’application est conçue pour sélectionner un processeur précis.XAudio2Create et la fonction XAudio2CreateWithSharedContexts utilisent des indicateurs qui s’appliquent aux jeux qui lisent uniquement de l’audio au format XMA. Une application ne parvient pas à lire du contenu XMA si l’indicateur XAUDIO2_DO_NOT_USE_SHAPE est utilisé. Avec la XBOX 360, l’audio XMA est décodé par le logiciel ou le matériel, ce qui nécessite des contextes SHAPE. La nouvelle version du Microsoft Game Development Kit (GDK) prend en charge le décodage XMA dans le matériel. Spécifier cet indicateur empêchera de fait la lecture XMA.
Si la fonction appelle ses propres contextes SHAPE, elle utilise l’indicateur XAUDIO2_DO_NOT_SHARE_SHAPE_CONTEXTS pour spécifier que les contextes SHAPE sont réservés à l’usage exclusif de cette instance XAudio2. Il n’est pas recommandé de spécifier cet indicateur lorsque vous ne fournissez pas de contextes SHAPE (par exemple, en appelant XAudio2Create), car lorsque XAudio2 crée ses propres contextes SHAPE, ceux-ci sont partagés.
Vous pouvez aussi utiliser l’indicateur XAUDIO2_EXCLUDE_FROM_GAME_DVR_CAPTURE. La définition de cet indicateur empêche le DVR de jeu d’enregistrer l’audio provenant de la voix de mastering.
L’en-tête définit aussi l’indicateur AUDCLNT_STREAMFLAGS_EXCLUDE_FROM_GAME_DVR_CAPTURE. Transmettez cet indicateur à IAudioClient::Initialize pour empêcher le DVR de jeu d’enregistrer l’audio lu par cet IAudioClient. Si votre jeu utilise XAudio2, utilisez plutôt l’indicateur XAUDIO2_EXCLUDE_FROM_GAME_DVR_CAPTURE à cette fin.
Pour plus d’informations, consultez Prise en main de XAudio2.
Configuration requise
En-tête : xaudio2Xbox.h Bibliothèque : xaudio2.lib Plateformes prises en charge : consoles de la famille XBOX One et consoles XBOX SeriesDocumentation conceptuelle
Voir aussi
Vue d’ensemble de XAudio2Concepts clés de XAudio2
xaudio2xbox
