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 稍后在实际应用于效果的参数时需要引用它。 如果下一个音频处理过程XAUDIO2_COMMIT_NOW OperationSet 参数,则会发生这种情况。 否则,参数将在稍后使用同一 OperationSet 参数调用 IXAudio2::CommitChanges 函数后的第一个处理阶段应用于效果。
从具有 XAUDIO2_COMMIT_NOW OperationSet 的 XAudio2 回调调用时,SetEffectParameters 会立即生效。
平台要求
Windows 10 (XAudio2.9) ;Windows 8,Windows Phone 8 (XAudio 2.8) ;DirectX SDK (XAudio 2.7)要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | xaudio2.h |