Метод CSourceStream.GetMediaType (Source.h) — параметры iPosition и pMediaType
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод GetMediaType извлекает предпочтительный тип мультимедиа.
Синтаксис
virtual HRESULT GetMediaType(
int iPosition,
CMediaType *pMediaType
);
Параметры
-
iPosition
-
Отсчитываемое от нуля значение индекса.
-
pMediaType
-
Указатель на объект CMediaType , который получает тип мультимедиа.
Возвращаемое значение
Возвращает одно из значений HRESULT , показанных в следующей таблице.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Индекс вне диапазона. |
|
Индекс меньше нуля. |
|
Непредвиденная ошибка. |
Комментарии
Существует две версии этого метода. Одна версия переопределяет метод CBasePin::GetMediaType и принимает значение индекса в качестве параметра. Другая версия предназначена для извлечения одного типа носителя, поэтому в ней отсутствует параметр index.
Метод с одним параметром возвращает E_UNEXPECTED. Метод с двумя параметрами проверяет, что параметр iPosition равен нулю, а затем вызывает версию с одним параметром. В зависимости от количества типов носителей, поддерживаемых закреплением, необходимо переопределить один из следующих методов:
- Если закрепление поддерживает только один тип носителя, переопределите версию с одним параметром. Укажите тип носителя, поддерживаемый закреплением.
- Если закрепление поддерживает несколько типов носителей, переопределите версию с двумя параметрами. Также переопределите метод CSourceStream::CheckMediaType .
Требования
Требование | Значение |
---|---|
Заголовок | Source.h (включая Streams.h) |
Библиотека | Strmbase.lib (розничные сборки); Strmbasd.lib (отладочные сборки) |