KSPROPERTY_AUDIO_PEAKMETER2
Windows 8 появилось свойство KSPROPERTY_AUDIO_PEAKMETER2, которое сообщает максимальный уровень звукового сигнала, который произошел на узле пикметра (KSNODETYPE_PEAKMETER) с момента последнего сброса узла пикометра.
Сводная таблица использования
Получить | Присвойте параметру | Назначение | Тип дескриптора свойства | Тип значения свойства |
---|---|---|---|---|
Да |
Нет |
Узел с помощью фильтра или закрепления экземпляра |
KSNODEPROPERTY_AUDIO_CHANNEL | LONG |
Значение свойства (данные операции) имеет тип LONG и указывает пиковое значение выборки на узле. Если пиковое значение отрицательное, используется его абсолютное значение.
Возвращаемое значение
Запрос свойства KSPROPERTY_AUDIO_PEAKMETER2 возвращает STATUS_SUCCESS, указывающий на успешное выполнение. В противном случае запрос возвращает соответствующий код состояния ошибки. В следующей таблице показан возможный код состояния ошибки.
Код состояния | Значение |
---|---|
STATUS_NOT_IMPLEMENTED |
Фильтр KS не может вернуть текущее значение пикометра. |
Комментарии
Свойство KSPROPERTY_AUDIO_PEAKMETER2 практически идентично свойству KSPROPERTY_AUDIO_PEAKMETER . Свойство KSPROPERTY_AUDIO_PEAKMETER2 появилось вместе с Windows 8 для улучшения аппаратного контроля топологии контактов. Устаревшее свойство KSPROPERTY_AUDIO_PEAKMETER устарело и больше не должно использоваться.
Для Объекта SignedMinimum должно быть задано значение LONG_MIN (вместо 0x8000), а для SignedMaximum — значение LONG_MAX (а не 0x7fff). Кроме того, обратите внимание, что значения пиковых счетчиков относятся к этой шкале, а шкала является линейной по амплитуде.
Таким образом, если, например, у вас есть волновая форма с отрицательными и положительными пиками на -1 и +1 соответственно (по шкале от -1 до +1), то пиковое значение счетчика LONG_MAX точно сообщает максимальное значение волны для заданного периода времени. И наоборот, пиковое значение счетчика, равное нулю (0), должно использоваться для сообщения о тишине, где все значения формы волны равны нулю. Но в случае с волновой формой, пиковые значения которой находятся в диапазоне от нуля (0) до LONG_MAX, сообщаемые значения формы волны будут линейно уменьшены от исходных значений.
Таким образом, в случае волны, которая качается в диапазоне от -0,5 до +0,5 (по шкале от -1 до +1), пиковое значение счетчика должно быть равно LONG_MAX/2.
Звуковой фильтр KS обрабатывает запрос этого свойства синхронно. Если запрос выполняется успешно, он сбрасывает пикометр, который инициализирует накопленные пиковые значения до нуля. Если запрос не выполнен, пиковая единица не изменяется.
Система отправляет запрос IOCTL_KS_PROPERTY для свойства KSPROPERTY_AUDIO_PEAKMETER2 в PASSIVE_LEVEL IRQL.
Требования
Заголовок |
Ksmedia.h (включая Ksmedia.h) |