Метод 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 |