IAudioMeterInformation::GetChannelsPeakValues 方法 (endpointvolume.h)
GetChannelsPeakValues 方法获取音频流中所有声道的峰值样本值。
语法
HRESULT GetChannelsPeakValues(
[in] UINT32 u32ChannelCount,
[out] float *afPeakValues
);
参数
[in] u32ChannelCount
通道计数。 此参数还指定 afPeakValues 数组中的元素数。 如果指定的计数与流中的通道数不匹配,该方法将返回错误代码E_INVALIDARG。
[out] afPeakValues
指向峰值样本值数组的指针。 方法将通道的峰值写入数组。 数组包含流中每个通道的一个元素。 峰值是规范化范围为 0.0 到 1.0 的数字。
返回值
如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。
返回代码 | 说明 |
---|---|
|
参数 u32ChannelCount 不等于音频流中的声道数。 |
|
参数 afPeakValues 为 NULL。 |
注解
此方法检索流中通道的峰值样本值。 每个通道的峰值记录在一个设备周期内,并在后续设备期间可用。 因此,此方法始终检索在上一个设备期间记录的峰值。 若要获取设备周期,请调用 IAudioClient::GetDevicePeriod 方法。
参数 afPeakValues 指向调用方分配的 float 数组。 如果流包含 n 个通道,则通道编号为 0 到 n – 1。 方法存储数组元素中数组索引与通道号匹配的每个通道的峰值。 若要获取由峰值计量监视的音频流中的声道数,请调用 IAudioMeterInformation::GetMeteringChannelCount 方法。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | endpointvolume.h |