IPerChannelDbLevel::SetLevelUniform 方法 (devicetopology.h)

SetLevelUniform 方法将音频流中的所有通道设置为相同的统一音量级别(以分贝为单位)。

语法

HRESULT SetLevelUniform(
  [in] float   fLevelDB,
  [in] LPCGUID pguidEventContext
);

参数

[in] fLevelDB

新的统一级别(以分贝为单位)。

[in] pguidEventContext

IControlChangeNotify::OnNotify 方法的上下文值。 此参数指向事件上下文 GUID。 如果 SetLevelUniform 调用更改了级别控件的状态,则已注册 IControlChangeNotify 接口的所有客户端都会收到通知。 在 OnNotify 方法的实现中,客户端可以检查事件上下文 GUID,以发现它还是另一个客户端是 control-change 事件的源。 如果调用方为此参数提供 NULL 指针,则客户端的通知方法将收到 NULL 上下文指针。

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。

返回代码 说明
E_OUTOFMEMORY
内存不足。

备注

如果指定的统一级别超出了 IPerChannelDbLevel::GetLevelRange 方法为特定通道报告的范围, 则 SetLevelUniform 调用会将该通道的值固定到支持的范围并成功完成。 对 IPerChannelDbLevel::GetLevel 方法的后续调用将检索用于该通道的实际值。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 devicetopology.h

另请参阅

IPerChannelDbLevel 接口

IPerChannelDbLevel::GetLevel

IPerChannelDbLevel::GetLevelRange