다음을 통해 공유


XAudio2CreateReverb 함수(xaudio2fx.h)

새 APO(반향 오디오 처리 개체)를 만들고 포인터를 반환합니다.

구문

HRESULT XAudio2CreateReverb(
  [in, out] IUnknown     **ppApo,
  [in]      UINT32 Flags DEFAULT
);

매개 변수

[in, out] ppApo

생성된 반향 APO에 대한 포인터를 포함합니다.

[in] DEFAULT

APO의 동작을 지정하는 플래그입니다. 이 매개 변수의 값은 0이어야 합니다.

반환 값

이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

XAudio2CreateReverb 는 프린스턴 디지털 반향을 수행하는 효과를 만듭니다. XAPO 효과 라이브러리(XAPOFX)에는 대체 반향 효과가 포함됩니다. CreateFX를 사용하여 이 대체 효과를 만듭니다.

APO에서 지원하는 반향에는 다음과 같은 제한 사항이 있습니다.

  • 입력 오디오 데이터는 FLOAT32 합니다.
  • 프레임 속도는 XAUDIO2FX_REVERB_MIN_FRAMERATE(20,000Hz) 및 XAUDIO2FX_REVERB_MAX_FRAMERATE(48,000Hz) 내에 있어야 합니다.
  • 입력 및 출력 채널은 다음 조합 중 하나여야 합니다.
    • Mono 입력 및 모노 출력
    • Mono 입력 및 5.1 출력
    • 스테레오 입력 및 스테레오 출력
    • 스테레오 입력 및 5.1 출력
반향 APO는 처리 샘플 간에 내부 상태 정보를 유지 관리합니다. 한 번에 하나의 오디오 데이터 원본과 함께 APO의 instance 사용할 수 있습니다. 반향 효과가 필요한 여러 음성은 각각 XAudio2CreateReverb를 사용하여 별도의 반향 효과를 만들어야 합니다.

XAudio2에 사용할 새 효과를 만드는 방법에 대한 자세한 내용은 XAPO 개요를 참조하세요.

Windows
XAudio2CreateReverb는 Windows에서 CoCreateInstance를 호출하므로 XAudio2CreateReverb를 호출하기 전에 애플리케이션에서 CoInitializeEx 메서드를 호출해야 합니다. XAudio2Create 에는 동일한 요구 사항이 있습니다. 즉, CoInitializeEx 는 일반적으로 XAudio2CreateReverb 가 호출되기 훨씬 전에 호출됩니다.

Windows의 일반적인 호출 패턴은 다음과 같습니다.

#ifndef _XBOX
CoInitializeEx(NULL, COINIT_MULTITHREADED);
#endif
IXAudio2* pXAudio2 = NULL;
HRESULT hr;
if ( FAILED(hr = XAudio2Create( &pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR ) ) )
    return hr;
...
IUnknown * pReverbAPO;
XAudio2CreateReverb(&pReverbAPO);

 

xaudio2fx.h 헤더는 AudioReverb 클래스 GUID를 XAPO(플랫폼 간 오디오 처리 개체)로 정의합니다.

class __declspec(uuid("C2633B16-471B-4498-B8C5-4F0959E2EC09")) AudioReverb;

XAudio2CreateReverb는 이 개체를 ppApo 매개 변수의 IUnknown에 대한 포인터에 대한 포인터로 반환합니다. 이 IUnknown에서 IXAPOIXAPOParameters 인터페이스를 쿼리할 수 있지만 일반적으로 이러한 인터페이스를 직접 사용하지는 않습니다. 대신, 효과 체인의 일부로 추가하는 음성을 만들 때 사용합니다.

반향은 IXAudio2Voice::SetEffectParameters를 통해 액세스하는 XAUDIO2FX_REVERB_PARAMETERS 매개 변수 구조를 사용합니다.

참고XAudio2CreateReverb는 CreateAudioReverb : ''' 구문을 호출하는 xaudio2fx.h의 인라인 함수입니다.

XAUDIO2FX_STDAPI CreateAudioReverb(Outptr IUnknown** ppApo); __inline HRESULT XAudio2CreateReverb(Outptr IUnknown** ppApo, UINT32 /Flags/ DEFAULT(0)) { return CreateAudioReverb(ppApo); }


</div>
<div> </div>
<h3><a id="Platform_Requirements"></a><a id="platform_requirements"></a><a id="PLATFORM_REQUIREMENTS"></a>Platform Requirements</h3>
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)

## Requirements
| Requirement | Value |
| ---- |:---- |
| **Target Platform** | Windows |
| **Header** | xaudio2fx.h |
| **Library** | Xaudio2.lib |
| **DLL** | Windows.Media.Audio.dll |

## See also

<a href="/windows/desktop/xaudio2/how-to--create-an-effect-chain">How to: Create an Effect Chain</a>



<a href="/windows/desktop/api/xaudio2/nf-xaudio2-ixaudio2voice-seteffectparameters">IXAudio2Voice::SetEffectParameters</a>



<a href="/windows/desktop/api/xaudio2fx/ns-xaudio2fx-xaudio2fx_reverb_parameters">XAUDIO2FX_REVERB_PARAMETERS</a>



<a href="/windows/desktop/xaudio2/functions">XAudio2 Functions</a>