共用方式為


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 會建立一個效果,其效果會執行一個執行一個數位數位 Reverb 的效果。 XAPO 效果程式庫 (XAPOFX) 包含替代的殘響效果。 使用 CreateFX 來建立這個替代效果。

殘響 APO 支援的限制如下:

  • 輸入音訊資料必須FLOAT32。
  • 畫面播放速率必須位於XAUDIO2FX_REVERB_MIN_FRAMERATE (20,000 Hz) 內,且XAUDIO2FX_REVERB_MAX_FRAMERATE (48,000 Hz) 。
  • 輸入和輸出通道必須是下列其中一個組合。
    • Mono 輸入和 Mono 輸出
    • Mono 輸入和 5.1 輸出
    • 立體輸入和身歷聲輸出
    • 立體輸入和 5.1 輸出
殘響 APO 會在處理範例之間維護內部狀態資訊。 您一次只能使用 APO 的實例搭配一個音訊資料來源。 需要殘響效果的多個語音都需要使用 XAudio2CreateReverb建立個別的殘響效果。

如需建立與 XAudio2 搭配使用之新效果的詳細資訊,請參閱 XAPO 概觀

Windows
因為 XAudio2CreateReverb 在 Windows 上呼叫 CoCreateInstance ,所以應用程式必須先呼叫 CoInitializeEx 方法,才能呼叫 XAudio2CreateReverbXAudio2Create的需求相同,這表示在呼叫XAudio2CreateReverb之前,通常會呼叫 CoInitializeEx

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查詢IXAPO 和 IXAPOParameters介面,但您通常永遠不會直接使用這些介面。 相反地,當您建立語音以將它們新增為效果鏈結的一部分時,請使用它們。

殘響會使用您透過IXAudio2Voice::SetEffectParameters存取的 XAUDIO2FX_REVERB_PARAMETERS參數結構。

注意XAudio2CreateReverb 是 xaudio2fx.h 中呼叫 CreateAudioReverb: ''' 語法的內嵌函式

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>