Поделиться через


Метод 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. В случае сбоя возможные коды возврата включают, помимо прочего, значения, показанные в следующей таблице.

Код возврата Описание
E_INVALIDARG
Параметр u32ChannelCount не равен количеству каналов в аудиопотоке.
E_POINTER
Параметр afPeakValues имеет значение NULL.

Комментарии

Этот метод извлекает пиковые значения выборки для каналов в потоке. Пиковое значение для каждого канала записывается в течение одного периода устройства и становится доступным в течение последующего периода устройства. Таким образом, этот метод всегда получает пиковые значения, записанные за предыдущий период устройства. Чтобы получить период устройства, вызовите метод IAudioClient::GetDevicePeriod .

Параметр afPeakValues указывает на массив с плавающей точкой, выделенный вызывающим объектом. Если поток содержит n каналов, каналы нумеруются от 0 до n–1. Метод сохраняет пиковое значение для каждого канала в элементе массива, индекс массива которого соответствует номеру канала. Чтобы получить количество каналов в аудиопотоке, отслеживаемых по пиковой метрике, вызовите метод IAudioMeterInformation::GetMeteringChannelCount .

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header endpointvolume.h

См. также раздел

IAudioClient::GetDevicePeriod

Интерфейс IAudioMeterInformation

IAudioMeterInformation::GetMeteringChannelCount