Функция XAudio2CreateVolumeMeter (xaudio2fx.h)

Создает новый объект обработки звука (APO) счетчика громкости и возвращает указатель на него.

Синтаксис

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

Параметры

[in, out] ppApo

Содержит созданный объект APO счетчика томов.

[in] DEFAULT

Флаги, указывающие поведение APO. Значение этого параметра должно быть равно 0.

Возвращаемое значение

Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Сведения о создании новых эффектов для использования с XAudio2 см. в обзоре XAPO.

Windows
Так как XAudio2CreateVolumeMeter вызывает CoCreateInstance в Windows, приложение должно вызвать метод CoInitializeEx перед вызовом XAudio2CreateVolumeMeter. XAudio2Create имеет то же требование, что означает, что CoInitializeEx обычно вызывается задолго до вызова XAudio2CreateVolumeMeter .

Типичный шаблон вызова в 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 * pVolumeMeterAPO;
XAudio2CreateVolumeMeter(&pVolumeMeterAPO);

 

Заголовок xaudio2fx.h определяет GUID класса AudioVolumeMeter как кроссплатформенный объект обработки звука (XAPO).

class __declspec(uuid("4FC3B166-972A-40CF-BC37-7DB03DB2FBA3")) AudioVolumeMeter;

XAudio2CreateVolumeMeter возвращает этот объект в виде указателя на IUnknown в параметре ppApo . Хотя вы можете запрашивать интерфейсы IXAPO и IXAPOParameters из этого IUnknown, обычно эти интерфейсы никогда не используются напрямую. Вместо этого вы используете их при создании голоса, чтобы добавить их как часть цепочки эффектов.

Счетчик громкости использует структуру XAUDIO2FX_VOLUMEMETER_LEVELS параметров, доступ к которым осуществляется с помощью метода IXAudio2Voice::GetEffectParameters , когда XAPO привязан к звуковому графу.

ПримечаниеXAudio2CreateVolumeMeter — это встроенная функция в xaudio2fx.h, которая вызывает синтаксис CreateAudioVolumeMeter: '''

XAUDIO2FX_STDAPI CreateAudioVolumeMeter(Outptr IUnknown** ppApo); __inline HRESULT XAudio2CreateVolumeMeter(Outptr IUnknown** ppApo, UINT32 /Flags/ DEFAULT(0)) { return CreateAudioVolumeMeter(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 |

## 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_volumemeter_levels">XAUDIO2FX_VOLUMEMETER_LEVELS</a>



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