Partager via


CXAPOBase::P rocessThru, méthode (xapobase.h)

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

Syntaxe

void ProcessThru(
  const void *pInputBuffer,
  FLOAT32    *pOutputBuffer,
  UINT32     FrameCount,
  UINT32     InputChannelCount,
  UINT32     OutputChannelCount,
  BOOL       MixWithOutput
);

Paramètres

pInputBuffer

Pointeur vers une mémoire tampon contenant les données audio d’entrée.

pOutputBuffer

Pointeur vers une mémoire tampon qui contiendra les données audio traitées.

FrameCount

Nombre d’images de données audio à traiter, où une trame est un bloc d’échantillons, une par canal de données audio.

InputChannelCount

Nombre de canaux dans la mémoire tampon des données d’entrée.

OutputChannelCount

Nombre de canaux dans la mémoire tampon de données de sortie.

MixWithOutput

TRUE pour le mélange avec la mémoire tampon de destination, FALSE pour remplacer la mémoire tampon de destination.

Valeur de retour

None

Remarques

ProcessThru copie/mixe les données de la source vers la destination, en apportant le moins de modifications possible aux données audio. Toutefois, ProcessThru est capable de canal upmix/downmix et utilise la même table de coefficients de matrice utilisée par windows Vista pour ce faire.

Cette fonction peut être appelée si :

  1. Le XAPO est verrouillé et désactivé.
  2. Le nombre de trames sources est égal au nombre de trames de destination.
  3. Le format de sortie est FLOAT32.
  4. Le format d’entrée est INT8, INT16, INT20 (contenu en 24 ou 32 bits), INT24 (contenu en 24 ou 32 bits), INT32 ou FLOAT32.
Pour le traitement sur place (où la mémoire tampon d’entrée est égale à la mémoire tampon de sortie), cette fonction ne fait rien.

Lors de l’écriture d’une méthode ProcessThru , il est important de noter que les données audio XAudio2 sont entrelacées, les données de chaque canal sont adjacentes pour un nombre d’échantillon particulier. Par exemple, si une onde à 4 canaux est lue dans une voix source XAudio2, les données audio sont un échantillon de canal 0, un échantillon de canal 1, un échantillon de canal 2, un échantillon de canal 3, puis l’échantillon suivant des canaux 0, 1, 2, 3, etc.

Configuration requise pour la plateforme

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8) ; Kit de développement logiciel (SDK) DirectX (XAudio 2.7)

Spécifications

   
Plateforme cible Windows
En-tête xapobase.h
Bibliothèque XAPOBase.lib

Voir aussi

CXAPOBase

IXAPO