IAudioSystemEffects2::GetEffectsList 方法 (audioenginebaseapo.h)

GetEffectsList 方法用于检索当前处于活动状态的音频处理效果列表,并在列表更改时存储要发出信号的事件。

语法

HRESULT GetEffectsList(
  [out] LPGUID *ppEffectsIds,
  [out] UINT   *pcEffects,
  [in]  HANDLE Event
);

参数

[out] ppEffectsIds

指向表示音频处理效果的 GUID 列表的指针。 调用方负责通过调用 CoTaskMemFree 来释放此内存。

[out] pcEffects

列表中的音频处理效果计数。

[in] Event

如果列表更改,将发出信号的事件的 HANDLE。

返回值

如果方法调用成功, 则 GetEffectsList 方法返回S_OK。 如果列表中没有任何效果,则该函数仍然成功, ppEffectsIds 返回 NULL 指针, pcEffects 返回计数 0。

注解

当音频处理效果列表从 GetEffectsList 返回的列表中更改时,APO 向指定的事件发出信号。 APO 使用此事件,直到再次调用 GetEffectsList 或销毁 APO 为止。 传递的句柄可以为 NULL,在这种情况下,APO 停止使用任何以前的句柄,并且不发出事件信号。

APO 实现此方法以允许 Windows 发现 APO 应用的当前效果。 效果列表可能取决于 APO 初始化的处理模式以及任何最终用户配置。 处理模式由 APOInitSystemEffects2AudioProcessingMode 成员指示。

ADO 应使用 Windows 定义的 GUID(例如AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION)来识别效果。 APO 仅应在效果类型明显不同于 Windows 定义的效果类型的情况下定义并返回自定义 GUID。

要求

要求
目标平台 桌面
标头 audioenginebaseapo.h

另请参阅

APOInitSystemEffects2

IAudioSystemEffects2