Compartilhar via


Método IXAudio2Voice::SetEffectParameters (xaudio2.h)

Define parâmetros para um determinado efeito na cadeia de efeitos da voz.

Sintaxe

\\HRESULT SetEffectParameters(
  [in] UINT32     EffectIndex,
  [in] const void *pParameters,
  [in] UINT32     ParametersByteSize,
  [in] UINT32     OperationSet
);

Parâmetros

[in] EffectIndex

Índice baseado em zero de um efeito dentro da cadeia de efeitos da voz.

[in] pParameters

Retorna os valores atuais dos parâmetros específicos do efeito.

[in] ParametersByteSize

Tamanho da matriz pParameters em bytes.

[in] OperationSet

Identifica essa chamada como parte de um lote adiado. Consulte a Visão geral dos Conjuntos de Operações XAudio2 para obter mais informações.

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.

Falha com E_NOTIMPL se o efeito não der suporte a uma interface de controle de parâmetro genérica.

Comentários

O efeito específico que está sendo usado determina o tamanho e o formato válidos do buffer pParameters . A chamada falhará se pParameters for inválido ou se ParametersByteSize não for exatamente o tamanho esperado pelo efeito. O cliente deve ter cuidado para direcionar a chamada SetEffectParameters para o efeito certo. Se essa chamada for direcionada para um efeito diferente que aceita o mesmo tamanho de bloco de parâmetro, os parâmetros serão interpretados de forma diferente. Isso pode levar a resultados inesperados.

A memória apontada por pParametersnão deve ser liberada imediatamente, pois XAudio2 precisará se referir a ela posteriormente quando os parâmetros realmente forem aplicados ao efeito. Isso ocorrerá durante a próxima passagem de processamento de áudio se o argumento OperationSet for XAUDIO2_COMMIT_NOW. Caso contrário, os parâmetros serão aplicados ao efeito posteriormente, durante a primeira passagem de processamento depois que a função IXAudio2::CommitChanges for chamada com o mesmo argumento OperationSet .

SetEffectParameters entra em vigor imediatamente quando chamado de um retorno de chamada XAudio2 com um OperationSet de XAUDIO2_COMMIT_NOW.

ObservaçãoIXAudio2Voice::GetEffectParameters sempre retorna os parâmetros atuais reais do efeito. No entanto, eles podem não corresponder aos parâmetros definidos pela chamada mais recente para IXAudio2Voice::SetEffectParameters. Os parâmetros reais só serão alterados na próxima vez que o mecanismo de áudio for executado após a chamada IXAudio2Voice::SetEffectParameters (ou após a chamada IXAudio2::CommitChanges correspondente, se IXAudio2Voice::SetEffectParameters tiver sido chamado com uma ID de operação adiada).
 

Requisitos de plataforma

Windows 10 (XAudio2.9); 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

Confira também

Como: Criar uma cadeia de efeitos

IXAPOParameters::SetParameters

IXAudio2Voice

Visão geral do XAPO