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,000 Hz) とXAUDIO2FX_REVERB_MAX_FRAMERATE (48,000 Hz) 以内である必要があります。
  • 入力チャネルと出力チャネルは、次のいずれかの組み合わせである必要があります。
    • モノラル入力とモノラル出力
    • モノラル入力と5.1出力
    • ステレオ入力とステレオ出力
    • ステレオ入力と 5.1 出力
リバーブ APO は、処理サンプル間の内部状態情報を保持します。 APO のインスタンスは、一度に 1 つのオーディオ データ ソースでのみ使用できます。 リバーブエフェクトを必要とする複数の音声は、それぞれ 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 から IXAPO インターフェイスと IXAPOParameters インターフェイスに対してクエリを実行することはできますが、通常、これらのインターフェイスを直接使用することはありません。 代わりに、音声を作成してエフェクト チェーンの一部として追加するときに使用します。

リバーブでは、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>