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


Сведения о параметрах

[Функция, связанная с этой страницей, DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngineи аудио и видеозахват в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer, IMFMediaEngine и аудио-видеозахват в Media Foundation вместо DirectShowпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]

Метод IMediaParamInfo::GetParamInfo возвращает структуру MP_PARAMINFO, описывающую параметр. Эта структура содержит следующие сведения:

  • Элемент mpType указывает тип данных значения параметра. Для повышения эффективности все параметры реализуются как 32-разрядные значения с плавающей запятой. Перечисление MP_TYPE определяет, следует ли интерпретировать значение как целое число, значение с плавающей запятой, логическое значение или перечисление (целый ряд).
  • Элемент mopCaps указывает, какие кривые поддерживают этот параметр. Если тип данных является логическим или перечислением, единственной кривой, которую может поддерживать параметр, является "Jump".
  • Элементы mpdMinValue и mpdMaxValue определяют минимальные и максимальные значения этого параметра. Все кривые для этого параметра должны находиться в пределах этого диапазона.
  • Элемент mpdNeutralValue является значением по умолчанию параметра.
  • Элемент szLabel — имя параметра, а элемент szUnitText — это имя единицы измерения для параметра. Примерами могут быть "Volume" и "Decibels", "Frequency" и "kHz". Обе строки являются английскими и никогда не локализуются. DMO может предоставлять локализованные версии с помощью метода IMediaParamInfo::GetParamText.

Сведения для каждого параметра остаются фиксированными в течение всего времени существования DMO. Поэтому клиент может запросить эту информацию один раз, а затем кэшировать ее.

форматов времени

Клиент должен метки времени входных данных, чтобы DMO смог вычислить соответствующие значения параметров. По умолчанию метки времени представляют единицы 100 наносекунд, также называемые времени ссылки. Эта единица времени не удобна для каждого приложения, поэтому DMO имеет возможность поддерживать другие форматы времени. Форматы времени определяются guid.

GUID Описание
GUID_TIME_REFERENCE Время ссылки
GUID_TIME_MUSIC Части за квартал (PPQN)
GUID_TIME_SAMPLES Примеры в секунду

 

Третьим лицам рекомендуется определять собственные форматы времени по мере необходимости. Однако все динамические административные объекты должны поддерживать время ссылки. Это обеспечивает стандартные базовые показатели, которые могут использовать все пользователи. Чтобы определить, сколько времени поддерживает DMO, вызовите метод IMediaParamInfo::GetNumTimeFormats. Чтобы перечислить поддерживаемые форматы, вызовите метод IMediaParamInfo::GetSupportedTimeFormat.

Чтобы задать формат времени, вызовите IMediaParams::SetTimeFormat. Этот метод задает GUID формата времени и данные времени, что является числом единиц в часы. Например, если формат времени является примерами в секунду, а данные времени — 32, то значение метки времени 10 соответствует 320 образцам.

параметры мультимедиа