IPerChannelDbLevel::GetLevelRange 方法 (devicetopology.h)

GetLevelRange 方法获取指定通道的音量级别的范围(以分贝为单位)。

语法

HRESULT GetLevelRange(
  [in]  UINT  nChannel,
  [out] float *pfMinLevelDB,
  [out] float *pfMaxLevelDB,
  [out] float *pfStepping
);

参数

[in] nChannel

所选通道的编号。 如果音频流具有 n 个通道,则通道的编号从 0 到 n – 1。 若要获取流中的通道数,请调用 IPerChannelDbLevel::GetChannelCount 方法。

[out] pfMinLevelDB

指向 浮点 变量的指针,该方法在其中以分贝为单位写入最小音量。

[out] pfMaxLevelDB

指向 浮点 变量的指针,方法在其中以分贝为单位写入最大音量级别。

[out] pfStepping

指向 浮点 变量的指针,方法在其中将范围 *pfMinLevelDB 中的连续卷级别之间的步进值写入 到 *pfMaxLevelDB。 如果最大和最小音量级别的差为 d 分贝,并且范围分为 n 个步骤 (大小统一的间隔) ,则卷可以有 n + 1 个离散级别,并且连续级别之间的步长大小为 d / n 分贝。

返回值

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

返回代码 说明
E_INVALIDARG
参数 nChannel 在范围外。
E_POINTER
指针 pfminLevelDBpfmaxLevelDBpfmaxLevelDBNULL

要求

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

另请参阅

IPerChannelDbLevel 接口

IPerChannelDbLevel::GetChannelCount