次の方法で共有


IAudioMeterInformation::GetChannelsPeakValues メソッド (endpointvolume.h)

GetChannelsPeakValues メソッドは、オーディオ ストリーム内のすべてのチャネルのピーク サンプル値を取得します。

構文

HRESULT GetChannelsPeakValues(
  [in]  UINT32 u32ChannelCount,
  [out] float  *afPeakValues
);

パラメーター

[in] u32ChannelCount

チャネル数。 このパラメーターは、 afPeakValues 配列内の要素の数も指定します。 指定した数がストリーム内のチャネル数と一致しない場合、メソッドはエラー コード E_INVALIDARGを返します。

[out] afPeakValues

ピークサンプル値の配列へのポインター。 メソッドは、チャネルのピーク値を配列に書き込みます。 配列には、ストリーム内のチャネルごとに 1 つの要素が含まれています。 ピーク値は、0.0 から 1.0 までの正規化された範囲の数値です。

戻り値

メソッドが成功した場合は、S_OK を返します。 失敗した場合、次の表に示す値が含まれますが、これに限定されません。

リターン コード 説明
E_INVALIDARG
パラメーター u32ChannelCount は、オーディオ ストリーム内のチャネルの数と等しくありません。
E_POINTER
パラメーター afPeakValuesNULL です

注釈

このメソッドは、ストリーム内のチャネルのピークサンプル値を取得します。 各チャネルのピーク値は、1 つのデバイス期間にわたって記録され、後続のデバイス期間中に使用可能になります。 したがって、このメソッドは常に前のデバイス期間中に記録されたピーク値を取得します。 デバイス期間を取得するには、 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