共用方式為


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。 如果失敗,可能的傳回碼包括,但不限於下表所示的值。

傳回碼 Description
E_INVALIDARG
參數 u32ChannelCount 不等於音訊數據流中的通道數目。
E_POINTER
參數 afPeakValuesNULL

備註

這個方法會擷取數據流中信道的尖峰樣本值。 每個通道的尖峰值會記錄在一個裝置期間內,並在後續的裝置期間提供。 因此,這個方法一律會擷取上一個裝置期間記錄的尖峰值。 若要取得裝置期間,請呼叫 IAudioClient::GetDevicePeriod 方法。

參數 afPeakValues 指向呼叫端配置的 float 陣列。 如果數據流包含 n 個通道,則通道編號為 0 到 n– 1。 方法會將每個通道的尖峰值儲存在陣列元素中,其陣列索引符合通道編號。 若要取得由尖峰計量監視之音頻數據流中的通道數目,請呼叫 IAudioMeterInformation::GetMeteringChannelCount 方法。

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 endpointvolume.h

另請參閱

IAudioClient::GetDevicePeriod

IAudioMeterInformation 介面

IAudioMeterInformation::GetMeteringChannelCount