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


Метод 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
Параметры pnStep и pnStepCount имеют значение NULL.

Комментарии

Этот метод представляет уровень громкости звукового потока, который входит или покидает устройство конечной точки звука в качестве индекса или "шага" в диапазоне дискретных уровней громкости. Выходное значение *pnStepCount — это количество шагов в диапазоне. Выходное значение *pnStep — это индекс шага текущего уровня тома. Если число шагов равно n = *pnStepCount, то индекс шага *pnStep может принимать значения от 0 (минимальный объем) до n – 1 (максимальный объем).

В диапазоне от 0 до n–1 последовательные интервалы между смежными шагами не обязательно представляют однородные приращения объема в линейной амплитуде сигнала или децибелах. В Windows Vista GetVolumeStepInfo определяет связь индекса с уровнем громкости (амплитудой сигнала) в виде кривой с коникой звука. Обратите внимание, что форма кривой может измениться в будущих версиях Windows. Дополнительные сведения о кривых с коникой звука см. в разделе Аудио-конусообразные элементы управления громкости.

Звуковые приложения могут вызывать методы IAudioEndpointVolume::VolumeStepUp и IAudioEndpointVolume::VolumeStepDown , чтобы увеличить или уменьшить уровень громкости на один интервал. Любой из этих методов сначала вычисляет идеализированный уровень громкости, соответствующий следующей точке звуковой конусовременной кривой. Затем метод выбирает параметр тома конечной точки, который является наилучшим приближением к идеализированному уровню. Чтобы получить диапазон и степень детализации параметров тома конечной точки, вызовите метод IEndpointVolume::GetVolumeRange . Если устройство конечной точки аудио реализует аппаратное управление громкостью, getVolumeRange описывает параметры тома оборудования. В противном случае API EndpointVolume реализует элемент управления томом конечной точки в программном обеспечении, а GetVolumeRange описывает параметры тома программно реализованного элемента управления.

Требования

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

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

Интерфейс IAudioEndpointVolume

IAudioEndpointVolume::VolumeStepDown

IAudioEndpointVolume::VolumeStepUp