共用方式為


IXAudio2Voice::SetEffectParameters 方法 (xaudio2.h)

在語音的效果鏈結中設定指定效果的參數。

語法

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

參數

[in] EffectIndex

聲音效果鏈結中效果的以零起始的索引。

[in] pParameters

傳回效果特定參數的目前值。

[in] ParametersByteSize

以位元組為單位的 pParameters 陣列大小。

[in] OperationSet

將此呼叫識別為延遲批次的一部分。 如需詳細資訊,請參閱 XAudio2 作業集 概觀。

傳回值

如果成功,則傳回S_OK;否則為錯誤碼。 如需錯誤碼的描述,請參閱 XAudio2 錯誤 碼。

如果效果不支援泛型參數控件介面,則失敗E_NOTIMPL。

備註

使用的特定效果會決定 pParameters 緩衝區的有效大小和格式。 如果 pParameters 無效,或 ParametersByteSize 不是效果預期的大小,呼叫將會失敗。 用戶端必須小心將 SetEffectParameters 呼叫導向正確的效果。 如果這個呼叫被導向至接受相同參數區塊大小的不同效果,參數將會以不同的方式解譯。 這可能會導致非預期的結果。

pParameters 所指向的記憶體不得立即釋放,因為 XAudio2 在實際套用至效果時,稍後必須參考它。 如果 OperationSet 自變數 XAUDIO2_COMMIT_NOW,這會在下一個音訊處理階段期間發生。 否則,參數會在 IXAudio2::CommitChanges 函式呼叫相同的 OperationSet 自變數之後的第一個處理階段期間套用至效果。

從具有 OperationSetXAUDIO2_COMMIT_NOW的 XAudio2 回呼呼叫時,SetEffectParameters 會立即生效。

注意IXAudio2Voice::GetEffectParameters 一律會傳回效果的實際目前參數。 不過,這些可能不符合最近呼叫 IXAudio2Voice::SetEffectParameters 所設定的參數。 只有當音訊引擎在 IXAudio2Voice::SetEffectParameters 呼叫 (或對應的 IXAudio2::CommitChanges 呼叫之後,才會變更實際參數,如果 IXAudio2Voice::SetEffectParameters 是以延遲的作業標識符呼叫) 。
 

平臺需求

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

規格需求

需求
目標平台 Windows
標頭 xaudio2.h

另請參閱

使用方法:建立效果鏈

IXAPOParameters::SetParameters

IXAudio2Voice

XAPO 概觀