Метод IXAudio2Voice::EnableEffect (xaudio2.h)

Включает эффект в заданной позиции в цепочке эффектов голоса.

Синтаксис

\\HRESULT EnableEffect(
  [in] UINT32 EffectIndex,
  [in] UINT32 OperationSet
);

Параметры

[in] EffectIndex

Отсчитываемый от нуля индекс эффекта в цепочке эффектов голоса.

[in] OperationSet

Определяет этот вызов как часть отложенного пакета. Дополнительные сведения см. в обзоре наборов операций XAudio2 .

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

Возвращает S_OK в случае успешного выполнения; в противном случае — код ошибки. Описание кодов ошибок см. в разделе Коды ошибок XAudio2 .

Комментарии

Будьте осторожны при включении эффекта во время работы голоса, на котором он размещен. Такое действие может привести к возникновению проблемы, если эффект значительно изменяет тон или громкость звука.

Эффекты в цепочке эффектов заданного голоса XAudio2 должны потреблять и производить звук с частотой выборки обработки этого голоса. Единственным аспектом аудиоформата, который они могут изменить, является количество каналов. Например, эффект реверберации может преобразовать моноданные в 5.1. Клиент может использовать поле OutputChannelsструктуры XAUDIO2_EFFECT_DESCRIPTOR, чтобы указать количество каналов, которые он хочет создать каждый эффект. Каждый эффект в цепочке эффектов должен создавать ряд каналов, которые может использовать следующий эффект. Любые вызовы IXAudio2Voice::EnableEffect или IXAudio2Voice::D isableEffect , которые заставляют цепочку эффектов перестать выполнять эти требования, будут завершаться ошибкой.

EnableEffect вступает в силу немедленно при вызове из обратного вызова XAudio2 с набором OperationSetXAUDIO2_COMMIT_NOW.

Требования к платформе

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); Пакет SDK для DirectX (XAudio 2.7)

Требования

   
Целевая платформа Windows
Header xaudio2.h

См. также раздел

IXAudio2Voice

Обзор протокола XAPO