Метод IXAudio2Voice::SetEffectChain (xaudio2.h)
Заменяет цепочку эффектов голоса.
Синтаксис
\\HRESULT SetEffectChain(
[in, optional] const XAUDIO2_EFFECT_CHAIN *pEffectChain
);
Параметры
[in, optional] pEffectChain
Указатель на структуру XAUDIO2_EFFECT_CHAIN , описывающую новую цепочку эффектов. Если передается значение NULL, текущая цепочка эффектов удаляется.
Возвращаемое значение
В случае успешного выполнения возвращает S_OK; в противном случае — код ошибки.
Описание кодов ошибок XAudio2 см. в разделе Коды ошибок XAudio2 .
Комментарии
Количество каналов вывода, разрешенных для цепочки эффектов голоса, блокируется при создании голоса. При создании голоса с цепочкой эффектов любая новая цепочка эффектов, передаваемая в SetEffectChain , должна иметь то же количество входных и выходных каналов, что и исходная цепочка эффектов. Если вы создаете голос без цепочки эффектов, количество каналов вывода, разрешенных для цепочки эффектов, по умолчанию будет иметь количество входных каналов для голоса. Если создание какой-либо части цепочки эффектов завершается сбоем, ни одна из них не применяется.
После присоединения эффекта к голосу XAudio2 XAudio2 берет на себя управление эффектом, и клиент не должен делать к нему дальнейшие вызовы. Самый простой способ обеспечить это — освободить все указатели на эффект.
Недопустимо вызывать SetEffectChain из обратного вызова (то есть IXAudio2EngineCallback или IXAudio2VoiceCallback). При вызове Метода SetEffectChain в обратном вызове возвращается XAUDIO2_E_INVALID_CALL.
XAUDIO2_EFFECT_CHAIN, передаваемая в качестве аргумента pEffectChain, и все содержащиеся в нем сведения о XAUDIO2_EFFECT_DESCRIPTOR больше не нужны после успешного завершения SetEffectChain и могут быть удалены сразу после вызова SetEffectChain.
Требования к платформе
Windows 8, Windows Phone 8 (XAudio 2.8); Пакет SDK Для DirectX (XAudio 2.7)Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | xaudio2.h |