Método IXAudio2Voice::SetEffectChain (xaudio2.h)
Substitui a cadeia de efeitos da voz.
Sintaxe
\\HRESULT SetEffectChain(
[in, optional] const XAUDIO2_EFFECT_CHAIN *pEffectChain
);
Parâmetros
[in, optional] pEffectChain
Ponteiro para uma estrutura XAUDIO2_EFFECT_CHAIN que descreve a nova cadeia de efeitos a ser usada. Se NULL for passado, a cadeia de efeitos atual será removida.
Retornar valor
Retorna S_OK se tiver êxito; caso contrário, um código de erro.
Consulte Códigos de Erro XAudio2 para obter descrições de códigos de erro específicos do XAudio2.
Comentários
O número de canais de saída permitidos para a cadeia de efeito de uma voz é bloqueado na criação da voz. Se você criar a voz com uma cadeia de efeitos, qualquer nova cadeia de efeitos passada para SetEffectChain deverá ter o mesmo número de canais de entrada e saída que a cadeia de efeito original. Se você criar a voz sem uma cadeia de efeitos, o número de canais de saída permitidos para a cadeia de efeito usará como padrão o número de canais de entrada para a voz. Se qualquer parte da criação da cadeia de efeitos falhar, nenhuma delas será aplicada.
Depois de anexar um efeito a uma voz XAudio2, xAudio2 assume o controle do efeito e o cliente não deve fazer mais chamadas para ele. A maneira mais simples de garantir isso é liberar todos os ponteiros para o efeito.
É inválido chamar SetEffectChain de dentro de um retorno de chamada (ou seja, IXAudio2EngineCallback ou IXAudio2VoiceCallback). Se você chamar SetEffectChain em um retorno de chamada, ele retornará XAUDIO2_E_INVALID_CALL.
As XAUDIO2_EFFECT_CHAIN que são passadas como o argumento pEffectChain e quaisquer informações de XAUDIO2_EFFECT_DESCRIPTOR contidas nela não são mais necessárias após a conclusão bem-sucedida de SetEffectChain e podem ser excluídas imediatamente após SetEffectChain ser chamado.
Requisitos da plataforma
Windows 8, Windows Phone 8 (XAudio 2.8); SDK do DirectX (XAudio 2.7)Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | xaudio2.h |