Condividi tramite


Metodo IXAudio2Voice::SetEffectParameters (xaudio2.h)

Imposta i parametri per un determinato effetto nella catena di effetti della voce.

Sintassi

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

Parametri

[in] EffectIndex

Indice in base zero di un effetto all'interno della catena di effetti della voce.

[in] pParameters

Restituisce i valori correnti dei parametri specifici dell'effetto.

[in] ParametersByteSize

Dimensioni della matrice pParameters in byte.

[in] OperationSet

Identifica questa chiamata come parte di un batch posticipato. Per altre informazioni, vedere la panoramica dei set di operazioni XAudio2 .

Valore restituito

Restituisce S_OK se ha esito positivo; in caso contrario, un codice di errore. Per le descrizioni dei codici di errore, vedere Codici di errore XAudio2 .

Non riesce con E_NOTIMPL se l'effetto non supporta un'interfaccia di controllo dei parametri generica.

Commenti

L'effetto specifico usato determina le dimensioni e il formato validi del buffer pParameters . La chiamata avrà esito negativo se pParameters non è valido o se ParametersByteSize non è esattamente la dimensione prevista dall'effetto. Il client deve prestare attenzione a indirizzare la chiamata SetEffectParameters all'effetto corretto. Se questa chiamata viene indirizzata a un effetto diverso che accade per accettare la stessa dimensione del blocco di parametri, i parametri verranno interpretati in modo diverso. Ciò può causare risultati imprevisti.

La memoria puntata da pParametersnon deve essere liberata immediatamente, perché XAudio2 dovrà fare riferimento in un secondo momento quando i parametri vengono effettivamente applicati all'effetto. Ciò avviene durante l'elaborazione audio successiva se l'argomento OperationSet è XAUDIO2_COMMIT_NOW. In caso contrario, i parametri vengono applicati all'effetto in un secondo momento, durante il primo passaggio di elaborazione dopo la funzione IXAudio2::CommitChanges viene chiamata con lo stesso argomento OperationSet .

SetEffectParameters ha effetto immediatamente quando viene chiamato da un callback XAudio2 con un OperationSet di XAUDIO2_COMMIT_NOW.

NotaIXAudio2Voice::GetEffectParameters restituisce sempre i parametri correnti effettivi dell'effetto. Tuttavia, questi non corrispondono ai parametri impostati dalla chiamata più recente a IXAudio2Voice::SetEffectParameters. I parametri effettivi vengono modificati solo alla successiva esecuzione del motore audio dopo la chiamata IXAudio2Voice::SetEffectParameters (o dopo la chiamata IXAudio2::CommitChanges , se IXAudio2Voice::SetEffectParameters è stato chiamato con un ID operazione posticipato).
 

Requisiti della piattaforma

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione xaudio2.h

Vedi anche

Procedura: Creare una catena di effetti

IXAPOParameters::SetParameters

IXAudio2Voice

Panoramica di XAPO