다음을 통해 공유


CXAPOBase::P rocessThru 메서드(xapobase.h)

처리를 통해 XAPO를 사용하지 않도록 설정한 경우 IXAPO::P rocess 구현에서 호출됩니다.

구문

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

매개 변수

pInputBuffer

입력 오디오 데이터를 포함하는 버퍼에 대한 포인터입니다.

pOutputBuffer

처리된 오디오 데이터를 포함할 버퍼에 대한 포인터입니다.

FrameCount

처리할 오디오 데이터 프레임의 수이며, 여기서 프레임은 오디오 데이터 채널당 하나씩 샘플 블록입니다.

InputChannelCount

입력 데이터 버퍼의 채널 수입니다.

OutputChannelCount

출력 데이터 버퍼의 채널 수입니다.

MixWithOutput

대상 버퍼와 혼합하려면 TRUE, 대상 버퍼를 덮어쓰려면 FALSE입니다.

반환 값

없음

설명

ProcessThru 는 원본에서 대상으로 데이터를 복사/혼합하여 오디오 데이터를 최대한 적게 변경합니다. 그러나 ProcessThru 는 채널 업믹스/다운믹스를 수행할 수 있으며 windows Vista에서 사용하는 것과 동일한 행렬 계수 테이블을 사용합니다.

이 함수는 다음과 같은 경우 호출될 수 있습니다.

  1. XAPO가 잠겨 있고 사용하지 않도록 설정되었습니다.
  2. 원본 프레임 수는 대상 프레임 수와 같습니다.
  3. 출력 형식이 FLOAT32.
  4. 입력 형식은 INT8, INT16, INT20(24비트 또는 32비트에 포함), INT24(24비트 또는 32비트에 포함), INT32 또는 FLOAT32.
현재 위치 처리의 경우(입력 버퍼가 출력 버퍼와 같음) 이 함수는 아무 작업도 수행하지 않습니다.

ProcessThru 메서드를 작성할 때 XAudio2 오디오 데이터가 인터리브되고 각 채널의 데이터가 특정 샘플 번호에 인접합니다. 예를 들어 XAudio2 원본 음성으로 재생되는 4개의 채널 웨이브가 있는 경우 오디오 데이터는 채널 0 샘플, 채널 1 샘플, 채널 2 샘플, 채널 3 샘플 및 채널 0, 1, 2, 3 등의 다음 샘플입니다.

플랫폼 요구 사항

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

요구 사항

   
대상 플랫폼 Windows
헤더 xapobase.h
라이브러리 XAPOBase.lib

참고 항목

CXAPOBase

IXAPO