Compartilhar via


Método CXAPOBase::P rocessThru (xapobase.h)

Chamado por uma implementação IXAPO::P rocess quando um XAPO é desabilitado para processamento por meio de .

Sintaxe

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

Parâmetros

pInputBuffer

Ponteiro para um buffer que contém os dados de áudio de entrada.

pOutputBuffer

Ponteiro para um buffer que conterá os dados de áudio processados.

FrameCount

Número de quadros de dados de áudio a serem processados, em que um quadro é um bloco de amostras, um por canal de dados de áudio.

InputChannelCount

Número de canais no buffer de dados de entrada.

OutputChannelCount

Número de canais no buffer de dados de saída.

MixWithOutput

TRUE para misturar com o buffer de destino, FALSE para substituir o buffer de destino.

Valor retornado

Nenhum

Comentários

ProcessThru copia/mistura dados da origem para o destino, fazendo o menor número possível de alterações nos dados de áudio. No entanto, ProcessThru é capaz de canalizar upmix/downmix e usa a mesma tabela de coeficiente de matriz usada pelo Windows Vista para fazer isso.

Essa função poderá ser chamada se:

  1. O XAPO está bloqueado e desabilitado.
  2. O número de quadros de origem é igual ao número de quadros de destino.
  3. O formato de saída é FLOAT32.
  4. O formato de entrada é INT8, INT16, INT20 (contido em 24 ou 32 bits), INT24 (contido em 24 ou 32 bits), INT32 ou FLOAT32.
Para processamento in-loco (em que o buffer de entrada é igual ao buffer de saída), essa função não faz nada.

Ao escrever um método ProcessThru , é importante observar que os dados de áudio XAudio2 são intercalados, os dados de cada canal são adjacentes a um número de exemplo específico. Por exemplo, se houvesse uma onda de quatro canais sendo reproduzida em uma voz de origem XAudio2, os dados de áudio seriam uma amostra do canal 0, uma amostra do canal 1, uma amostra do canal 2, uma amostra do canal 3 e, em seguida, o próximo exemplo de canais 0, 1, 2, 3 etc.

Requisitos de plataforma

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

Requisitos

   
Plataforma de Destino Windows
Cabeçalho xapobase.h
Biblioteca XAPOBase.lib

Confira também

CXAPOBase

IXAPO