Freigeben über


CXAPOBase::P rocessThru-Methode (xapobase.h)

Wird von einer IXAPO::P rocess-Implementierung aufgerufen, wenn ein XAPO für die Verarbeitung deaktiviert ist.

Syntax

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

Parameter

pInputBuffer

Zeiger auf einen Puffer, der die Eingabeaudiodaten enthält.

pOutputBuffer

Zeiger auf einen Puffer, der die verarbeiteten Audiodaten enthält.

FrameCount

Anzahl der Frames der zu verarbeitenden Audiodaten, wobei ein Frame ein Block von Beispielen ist, 1 pro Kanal von Audiodaten.

InputChannelCount

Anzahl der Kanäle im Eingabedatenpuffer.

OutputChannelCount

Anzahl der Kanäle im Ausgabedatenpuffer.

MixWithOutput

TRUE, um mit dem Zielpuffer zu mischen, FALSE, um den Zielpuffer zu überschreiben.

Rückgabewert

Keine

Bemerkungen

ProcessThru kopiert/mischt Daten von der Quelle zum Ziel und ändert so wenig wie möglich an den Audiodaten. ProcessThru kann jedoch upmix/downmix kanalieren und verwendet dazu die gleiche Matrixkoeffiziententabelle, die von Windows Vista verwendet wird.

Diese Funktion kann aufgerufen werden, wenn:

  1. Das XAPO ist gesperrt und deaktiviert.
  2. Die Anzahl der Quellframes entspricht der Anzahl der Zielframes.
  3. Das Ausgabeformat ist FLOAT32.
  4. Das Eingabeformat ist INT8, INT16, INT20 (in 24 oder 32 Bit enthalten), INT24 (enthalten in 24 oder 32 Bit), INT32 oder FLOAT32.
Bei der direkten Verarbeitung (bei der der Eingabepuffer dem Ausgabepuffer entspricht) führt diese Funktion nichts aus.

Beim Schreiben einer ProcessThru-Methode ist es wichtig zu beachten, dass XAudio2-Audiodaten überlappen, daten aus jedem Kanal für eine bestimmte Beispielnummer nebeneinander stehen. Wenn beispielsweise eine 4-Kanal-Welle in eine XAudio2-Quellstimme wiedergegeben wird, sind die Audiodaten ein Beispiel von Kanal 0, ein Beispiel von Kanal 1, ein Beispiel von Kanal 2, ein Beispiel von Kanal 3 und dann das nächste Beispiel der Kanäle 0, 1, 2, 3 usw.

Plattformanforderungen

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)

Requirements (Anforderungen)

   
Zielplattform Windows
Kopfzeile xapobase.h
Bibliothek XAPOBase.lib

Weitere Informationen

CXAPOBase

IXAPO