Função XAudio2CreateReverb (xaudio2fx.h)
Cria um novo objeto de processamento de áudio reverb (APO) e retorna um ponteiro para ele.
Sintaxe
HRESULT XAudio2CreateReverb(
[in, out] IUnknown **ppApo,
[in] UINT32 Flags DEFAULT
);
Parâmetros
[in, out] ppApo
Contém um ponteiro para o APO de reverb criado.
[in] DEFAULT
Sinalizadores que especificam o comportamento do APO. O valor desse parâmetro deve ser 0.
Valor retornado
Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
XAudio2CreateReverb cria um efeito executando o Reverb Digital de Princeton. A biblioteca de efeitos XAPO (XAPOFX) inclui um efeito reverb alternativo. Use CreateFX para criar esse efeito alternativo.
O APO reverb é compatível com as seguintes restrições:
- Os dados de áudio de entrada devem ser FLOAT32.
- A taxa de quadros deve estar dentro de XAUDIO2FX_REVERB_MIN_FRAMERATE (20.000 Hz) e XAUDIO2FX_REVERB_MAX_FRAMERATE (48.000 Hz).
- Os canais de entrada e saída devem ser uma das combinações a seguir.
- Entrada mono e saída mono
- Entrada mono e saída 5.1
- Entrada estéreo e saída estéreo
- Entrada estéreo e saída 5.1
Para obter informações sobre como criar novos efeitos para uso com XAudio2, consulte a Visão geral do XAPO.
Windows |
---|
Como XAudio2CreateReverb chama CoCreateInstance no Windows, o aplicativo deve ter chamado o método CoInitializeEx antes de chamar XAudio2CreateReverb. XAudio2Create tem o mesmo requisito, o que significa que CoInitializeEx normalmente será chamado muito antes de XAudio2CreateReverb ser chamado.
Um padrão de chamada típico no Windows seria o seguinte:
|
O cabeçalho xaudio2fx.h define o GUID da classe AudioReverb como um XAPO (objeto de processamento de áudio multiplataforma).
class __declspec(uuid("C2633B16-471B-4498-B8C5-4F0959E2EC09")) AudioReverb;
XAudio2CreateReverb retorna esse objeto como um ponteiro para um ponteiro para IUnknown no parâmetro ppApo . Embora você possa consultar as interfaces IXAPO e IXAPOParameters desse IUnknown, normalmente você nunca usa essas interfaces diretamente. Em vez disso, você os usa quando cria uma voz para adicioná-las como parte da cadeia de efeitos.
O reverb usa a estrutura de parâmetros XAUDIO2FX_REVERB_PARAMETERS que você acessa por meio do IXAudio2Voice::SetEffectParameters.
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>