Partager via


API XAudio2

Vue d’ensemble de la technologie des API XAudio2.

Pour développer des API XAudio2, vous avez besoin des en-têtes suivants :

Pour obtenir des conseils de programmation pour cette technologie, consultez :

Classe

 
CXAPOBase

Implémentation par défaut de l’interface IXAPO.
CXAPOParametersBase

Implémentation par défaut de l’interface IXAPOParameters.

Énumérations

 
HrtfDirectivityType

Indique l’un des nombreux modèles de directivité des actions.
HrtfDistanceDecayType

Indique un type de désintégration basé sur la distance appliqué à un son.
HrtfEnvironment

Indique l’un des types d’environnement boursier.
XAPO_BUFFER_FLAGS

Décrit le contenu d’une mémoire tampon de flux.
XAUDIO2_FILTER_TYPE

Indique le type de filtre.

Fonctions

 
AddRef

Ajoute une référence à l’objet XAudio2.
BeginProcess

Retourne les paramètres de processus actuels.
CalcInputFrames

Retourne le nombre d’images d’entrée nécessaires pour générer le nombre donné d’images de sortie.
CalcOutputFrames

Retourne le nombre d’images de sortie qui seront générées à partir d’un nombre donné d’images d’entrée.
CommitChanges

Applique atomiquement un ensemble d’opérations étiquetées avec un identificateur donné.
CreateFX

Crée une instance de l’effet XAPOFX demandé.
CreateHrtfApo

Crée une instance de l’interface IXAPO pour le traitement de la fonction de transfert liée à la tête (HRTF).
CreateMasteringVoice

Crée et configure une voix de mastering.
CreateSourceVoice

Crée et configure une voix source.
CreateSubmixVoice

Crée et configure une voix de sous-mixage.
CXAPOBase

Crée un instance de la classe CXAPOBase.
CXAPOParametersBase

Crée un instance de la classe CXAPOParametersBase.
DestroyVoice

Détruit la voix. Si nécessaire, arrête la voix et la supprime du graphique XAudio2.
DisableEffect

Désactive l’effet à une position donnée dans la chaîne d’effets de la voix.
Discontinuité

Avertit une voix XAudio2 qu’il n’y a plus de mémoires tampons après la dernière qui se trouve actuellement dans sa file d’attente.
EnableEffect

Active l’effet à une position donnée dans la chaîne d’effets de la voix.
EndProcess

Notifie CXAPOParametersBase que le XAPO a terminé d’accéder aux paramètres de processus actuels.
ExitLoop

Arrête la boucle de la voix lorsqu’elle atteint la fin de la région de boucle actuelle.
FlushSourceBuffers

Supprime toutes les mémoires tampons audio en attente de la file d’attente vocale.
GetChannelMask

Retourne le masque de canal pour cette voix.
GetChannelVolumes

Retourne les niveaux de volume de la voix, par canal.
GetEffectParameters

Retourne les paramètres spécifiques à l’effet actuel d’un effet donné dans la chaîne d’effets de la voix.
GetEffectState

Retourne l’état d’exécution de l’effet à une position spécifiée dans la chaîne d’effets de la voix.
GetFilterParameters

Obtient les paramètres de filtre de la voix.
GetFrequencyRatio

Retourne le rapport d’ajustement de la fréquence de la voix.
GetOutputFilterParameters

Retourne les paramètres de filtre de l’un des envois de cette voix.
GetOutputMatrix

Obtient le niveau de volume de chaque canal de la sortie finale pour la voix. Ces canaux sont mappés aux canaux d’entrée d’une voix de destination spécifiée.
GetParameters

Obtient les valeurs actuelles pour tous les paramètres spécifiques à l’effet.
GetPerformanceData

Retourne les détails de l’utilisation actuelle des ressources, tels que la mémoire disponible ou l’utilisation du processeur.
GetRegistrationProperties

Retourne les propriétés d’inscription d’un XAPO.
GetRegistrationPropertiesInternal

Retourne un pointeur vers la structure XAPO_REGISTRATION_PROPERTIES contenant les propriétés d’inscription avec XAPO.
GetState

Retourne les données actuelles de position du curseur de la voix.
GetVoiceDetails

Retourne des informations sur les indicateurs de création, les canaux d’entrée et la fréquence d’échantillonnage d’une voix.
GetVolume

Obtient le niveau de volume global actuel de la voix.
Initialiser

Effectue toute initialisation spécifique à l’effet.
IsInputFormatSupported

Interroge si un format d’entrée spécifique est pris en charge pour un format de sortie donné.
IsLocked

Demande si le XAPO est verrouillé.
IsOutputFormatSupported

Interroge si un format de sortie spécifique est pris en charge pour un format d’entrée donné.
LockForProcess

Appelé par XAudio2 pour verrouiller les configurations d’entrée et de sortie d’un XAPO, ce qui lui permet d’effectuer une initialisation finale avant l’appel de Process sur le thread en temps réel.
OnBufferEnd

Appelé lorsque la voix a fini de traiter une mémoire tampon.
OnBufferStart

Appelé lorsque la voix est sur le point de commencer à traiter une nouvelle mémoire tampon audio.
OnCriticalError

Appelé si une erreur système critique se produit et nécessite la fermeture et le redémarrage de XAudio2.
OnLoopEnd

Appelé lorsque la voix atteint la position de fin d’une boucle.
OnProcessingPassEnd

Appelé par XAudio2 juste après la fin d’une passe de traitement audio.
OnProcessingPassStart

Appelé par XAudio2 juste avant le début d’une passe de traitement audio.
OnSetParameters

Appelé par IXAPOParameters::SetParameters pour permettre la validation des paramètres définis par l’utilisateur.
OnStreamEnd

Appelé lorsque la voix vient de terminer la lecture d’un flux audio contigu.
OnVoiceError

Appelé lorsqu’une erreur critique se produit pendant le traitement vocal.
OnVoiceProcessingPassEnd

Appelé juste après la fin de la passe de traitement pour la voix.
OnVoiceProcessingPassStart

Appelé pendant chaque passe de traitement pour chaque voix, juste avant que XAudio2 lit les données de la file d’attente de la mémoire tampon de la voix.
ParametersChanged

Indique si IXAPOParameters::SetParameters a été appelé depuis la dernière passe de traitement.
Processus

Exécute le code de traitement du signal numérique (DSP) du XAPO sur les tampons d’entrée et de sortie donnés.
ProcessThru

Appelé par une implémentation IXAPO::P rocess lorsqu’un objet XAPO est désactivé pour le traitement en cours.
QueryInterface

Interroge une interface COM donnée sur l’objet XAudio2.
RegisterForCallbacks

Ajoute un pointeur IXAudio2EngineCallback à la liste de rappel du moteur XAudio2.
Version release

Libère une référence à l’objet XAudio2.
Réinitialiser

Réinitialise les variables dépendantes de l’historique des images.
ReverbConvertI3DL2ToNative

Fonction inline qui convertit les paramètres I3DL2 (Interactive 3D Audio Rendering Guidelines Level 2.0) en paramètres XAudio2 natifs.
SetChannelVolumes

Définit les niveaux de volume de la voix, par canal.
SetDebugConfiguration

Modifie les options globales de journalisation du débogage pour XAudio2.
SetEffectChain

Remplace la chaîne d’effets de la voix.
SetEffectParameters

Définit les paramètres d’un effet donné dans la chaîne d’effets de la voix.
SetEnvironment

Sélectionne l’environnement acoustique à simuler.
SetFilterParameters

Définit les paramètres de filtre de la voix.
SetFrequencyRatio

Définit le taux d’ajustement de la fréquence de la voix.
SetOutputFilterParameters

Définit les paramètres de filtre sur l’un des envois de cette voix.
SetOutputMatrix

Définit le niveau de volume de chaque canal de la sortie finale de la voix. Ces canaux sont mappés aux canaux d’entrée d’une voix de destination spécifiée.
SetOutputVoices

Désigne un nouvel ensemble de voix de sous-mixage ou de mastering pour recevoir la sortie de la voix.
Report.setparameters

Définit des paramètres spécifiques à l’effet.
SetSourceGain

Définit la valeur de gain de chemin d’accès direct personnalisée pour la position source actuelle. Valide uniquement pour les sons lus avec le type de désintégration personnalisé HrtfDistanceDecayType.
SetSourceOrientation

Définissez la matrice de rotation pour l’orientation source, par rapport au système de coordonnées de l’écouteur.
SetSourcePosition

Définit la position du son par rapport à l’écouteur.
SetSourceSampleRate

Reconfigure la voix pour consommer les données sources à un taux d’échantillonnage différent de celui spécifié lors de la création de la voix.
SetVolume

Définit le niveau de volume global de la voix.
Start

Démarre la consommation et le traitement de l’audio par la voix. Fournit le résultat à toutes les voix de sous-mixage ou de mastering connectées, ou à l’appareil de sortie.
StartEngine

Démarre le thread de traitement audio.
Stop

Arrête la consommation audio par la voix actuelle.
StopEngine

Arrête le thread de traitement audio.
SubmitSourceBuffer

Ajoute une nouvelle mémoire tampon audio à la file d’attente vocale.
UnlockForProcess

Désalloue les variables qui ont été allouées avec la méthode LockForProcess.
UnregisterForCallbacks

Supprime un pointeur IXAudio2EngineCallback de la liste de rappel du moteur XAudio2.
ValidateFormatDefault

Vérifie qu’un format audio se trouve dans les plages par défaut prises en charge.
ValidateFormatPair

Vérifie qu’une configuration de paire de format d’entrée et de sortie est prise en charge par le XAPO.
X3DAudioCalculate

Calcule les paramètres DSP par rapport aux paramètres 3D.
X3DAudioInitialize

Définit toutes les constantes audio 3D globales.
XAPOAlloc

Macro d’allocation de mémoire utilisée par les méthodes IXAPO qui doivent allouer des structures de taille arbitraire qui sont ensuite retournées à l’application.
XAPOFree

Macro utilisée pour libérer la mémoire allouée avec la macro XAPOAlloc.
XAudio2AmplitudeRatioToDecibels

Fonction inline qui convertit une valeur de rapport d’amplitude en valeur de décibel.
XAudio2Create

Crée un objet XAudio2 et retourne un pointeur vers son interface IXAudio2.
XAudio2CreateReverb

Crée un objet de traitement audio de réverbération (APO) et retourne un pointeur vers celui-ci.
XAudio2CreateVolumeMeter

Crée un objet de traitement audio (APO) de compteur de volume et retourne un pointeur vers celui-ci.
XAudio2CutoffFrequencyToOnePoleCoefficient

Fonction inline qui convertit les fréquences de coupure de filtre exprimées en hertz en coefficients de filtre utilisés avec le membre Frequency de la structure XAUDIO2_FILTER_PARAMETERS.
XAudio2CutoffFrequencyToRadians

Fonction inline qui convertit les fréquences de coupure de filtre exprimées en hertz en valeurs de fréquence de radian utilisées dans le membre Frequency de la structure XAUDIO2_FILTER_PARAMETERS.
XAudio2DecibelsToAmplitudeRatio

Fonction inline qui convertit une valeur de décibel en valeur de rapport d’amplitude.
XAudio2FrequencyRatioToSemitones

Fonction inline qui convertit une valeur de rapport de fréquence en une valeur de demi-teinte.
XAudio2RadiansToCutoffFrequency

Fonction inline qui convertit les fréquences de radian utilisées dans XAUDIO2_FILTER_PARAMETERS en fréquences absolues en hertz.
XAudio2SemitonesToFrequencyRatio

Fonction inline qui convertit une valeur de demi-ton en valeur de rapport de fréquence.

Interfaces

 
IXAPO

Interface d’un objet de traitement audio utilisé dans une chaîne d’effets XAudio2.
IXAPOHrtfParameters

Interface utilisée pour définir les paramètres qui contrôlent la façon dont la fonction de transfert liée à la tête (HRTF) est appliquée à un son.
IXAPOParameters

Interface facultative qui permet à un XAPO d’utiliser des paramètres spécifiques à l’effet.
IXAudio2

IXAudio2 est l’interface de l’objet XAudio2 qui gère tous les états du moteur audio, le thread de traitement audio, le graphique vocal, etc.
IXAudio2EngineCallback

L’interface IXAudio2EngineCallback contient des méthodes qui notifient le client lorsque certains événements se produisent dans le moteur IXAudio2.
IXAudio2MasteringVoice

Une voix de mastering est utilisée pour représenter le périphérique de sortie audio.
IXAudio2SourceVoice

Utilisez une voix source pour envoyer des données audio au pipeline de traitement XAudio2.
IXAudio2SubmixVoice

Une voix de sous-mixage est principalement utilisée pour améliorer les performances et le traitement des effets.
IXAudio2Voice

IXAudio2Voice représente l’interface de base à partir de laquelle IXAudio2SourceVoice, IXAudio2SubmixVoice et IXAudio2MasteringVoice sont dérivés. Les méthodes répertoriées ci-dessous sont communes à toutes les sous-classes vocales.
IXAudio2VoiceCallback

L’interface IXAudio2VoiceCallback contient des méthodes qui notifient le client lorsque certains événements se produisent dans un IXAudio2SourceVoice donné.

Structures

 
FXECHO_INITDATA

Paramètres d’initialisation à utiliser avec FXECHO XAPOFX.
FXECHO_PARAMETERS

Paramètres à utiliser avec FXECHO XAPOFX.
FXEQ_PARAMETERS

Paramètres à utiliser avec l’objet XAPO FXEQ.
FXMASTERINGLIMITER_PARAMETERS

Paramètres à utiliser avec fxMasteringLimiter XAPO.
FXREVERB_PARAMETERS

Paramètres à utiliser avec l’objet XAPO FXReverb.
HrtfApoInit

Spécifie les paramètres utilisés pour initialiser l’audio spatial HRTF.
HrtfDirectivity

Descripteur de modèle de directivité de base. Décrit le type de directivité appliquée à un son.
HrtfDirectivityCardioid

Décrit un modèle de directivité cardioïde.
HrtfDirectivityCone

Décrit une directivité conique.
HrtfDistanceDecay

Décrit un comportement de décroissance basé sur la distance.
HrtfOrientation

Indique l’orientation d’un objet de directivité HRTF.
HrtfPosition

Représente une position dans l’espace 3D, à l’aide d’un système de coordonnées droitier.
X3DAUDIO_CONE

Spécifie la direction pour un émetteur non LFE à canal unique en mettant à l’échelle le comportement DSP par rapport à l’orientation de l’émetteur.
X3DAUDIO_DISTANCE_CURVE

Définit une courbe explicite au niveau de la pièce composée de segments linéaires, définissant directement le comportement DSP par rapport à la distance normalisée.
X3DAUDIO_DISTANCE_CURVE_POINT

Définit un paramètre DSP à une distance normalisée donnée.
X3DAUDIO_DSP_SETTINGS

Reçoit les résultats d’un appel à X3DAudioCalculate.
X3DAUDIO_EMITTER

Définit une source audio 3D à point unique ou à plusieurs points qui est utilisée avec un nombre arbitraire de canaux audio.
X3DAUDIO_LISTENER

Définit un point de réception audio 3D.
XAPO_LOCKFORPROCESS_PARAMETERS

Définit les paramètres de mémoire tampon de flux qui restent constants pendant qu’un XAPO est verrouillé. Utilisé avec la méthode IXAPO::LockForProcess.
XAPO_PROCESS_BUFFER_PARAMETERS

Définit les paramètres de mémoire tampon de flux qui peuvent changer d’un appel à l’autre. Utilisé avec la méthode Process.
XAPO_REGISTRATION_PROPERTIES

Décrit les caractéristiques générales d’un XAPO. Utilisé avec IXAPO::GetRegistrationProperties, CXAPOParametersBase::CXAPOParametersBase et CXAPOBase::CXAPOBase.
XAUDIO2_BUFFER

Représente une mémoire tampon de données audio, utilisée avec IXAudio2SourceVoice::SubmitSourceBuffer.
XAUDIO2_BUFFER_WMA

Utilisé avec IXAudio2SourceVoice::SubmitSourceBuffer lors de l’envoi de données xWMA.
XAUDIO2_DEBUG_CONFIGURATION

Contient la nouvelle configuration de débogage global pour XAudio2. Utilisé avec la fonction SetDebugConfiguration.
XAUDIO2_EFFECT_CHAIN

Définit une chaîne d’effets.
XAUDIO2_EFFECT_DESCRIPTOR

Contient des informations sur un XAPO à utiliser dans une chaîne d’effets.
XAUDIO2_FILTER_PARAMETERS

Définit les paramètres de filtre pour une voix source.
XAUDIO2_PERFORMANCE_DATA

Contient des informations sur les performances. (XAUDIO2_PERFORMANCE_DATA)
XAUDIO2_SEND_DESCRIPTOR

Définit une voix de destination qui est la cible d’un envoi à partir d’une autre voix et spécifie si un filtre doit être utilisé.
XAUDIO2_VOICE_DETAILS

Contient des informations sur les indicateurs de création, les canaux d’entrée et la fréquence d’échantillonnage d’une voix.
XAUDIO2_VOICE_SENDS

Définit un ensemble de voix pour recevoir les données d’une seule voix de sortie.
XAUDIO2_VOICE_STATE

Retourne l’état actuel et les données de position du curseur de la voix.
XAUDIO2FX_REVERB_I3DL2_PARAMETERS

Décrit les paramètres I3DL2 (Interactive 3D Audio Rendering Guidelines Level 2.0) à utiliser dans la fonction ReverbConvertI3DL2ToNative.
XAUDIO2FX_REVERB_PARAMETERS

Décrit les paramètres à utiliser dans l’APO de réverbération.
XAUDIO2FX_VOLUMEMETER_LEVELS

Décrit les paramètres à utiliser avec l’APO du compteur de volume.