IAudioEndpointVolume::GetVolumeStepInfo 方法 (endpointvolume.h)

GetVolumeStepInfo 方法获取有关卷范围内当前步长的信息。

语法

HRESULT GetVolumeStepInfo(
  [out] UINT *pnStep,
  [out] UINT *pnStepCount
);

参数

[out] pnStep

指向方法将当前步骤索引写入其中的 UINT 变量的指针。 此索引是介于 0 到 *pStepCount– 1 范围内的值,其中 0 表示最小音量级别, *pStepCount – 1 表示最大音量。

[out] pnStepCount

指向 UINT 变量的指针,该方法在其中写入音量范围中的步数。 此数字在 IAudioEndpointVolume 接口实例的生存期内保持不变。

返回值

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

返回代码 说明
E_POINTER
参数 pnSteppnStepCount 均为 NULL

注解

此方法表示进入或离开音频终结点设备的音频流的音量级别,作为一系列离散音量中的索引或“单步”。 输出值 *pnStepCount 是范围中的步骤数。 输出值 *pnStep 是当前卷级别的步长索引。 如果步骤数为 n = *pnStepCount,则步骤索引 *pnStep 可以假定值介于 0 (最小卷) 到 n – 1 (最大卷) 。

在 0 到 n – 1 的范围内,相邻步骤之间的连续间隔不一定表示线性信号振幅或分贝的均匀体积增量。 在 Windows Vista 中, GetVolumeStepInfo 定义索引与音量级别的关系, (信号振幅) 为音频带曲线。 请注意,曲线的形状在 Windows 的未来版本中可能会更改。 有关音频带曲线的详细信息,请参阅 音频带带音量控制

音频应用程序可以调用 IAudioEndpointVolume::VolumeStepUpIAudioEndpointVolume::VolumeStepDown 方法,以增加或减少一个间隔的音量级别。 这两种方法都首先计算与音频带曲线上的下一点相对应的理想化音量级别。 接下来, 方法选择与理想化级别最接近的终结点卷设置。 若要获取终结点卷设置的范围和粒度,请调用 IEndpointVolume::GetVolumeRange 方法。 如果音频终结点设备实现硬件音量控制, GetVolumeRange 将描述硬件音量设置。 否则,EndpointVolume API 在软件中实现终结点卷控制, GetVolumeRange 描述软件实现的控件的卷设置。

要求

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

另请参阅

IAudioEndpointVolume 接口

IAudioEndpointVolume::VolumeStepDown

IAudioEndpointVolume::VolumeStepUp