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


Метод IMFSourceReader::SetCurrentMediaType (mfreadwrite.h)

Задает тип мультимедиа для потока.

Этот тип мультимедиа определяет формат, который средство чтения исходного кода создает в качестве выходных данных. Он может отличаться от собственного формата, предоставляемого источником мультимедиа. Дополнительные сведения см. в разделе "Примечания".

Синтаксис

HRESULT SetCurrentMediaType(
  [in]      DWORD        dwStreamIndex,
  [in, out] DWORD        *pdwReserved,
  [in]      IMFMediaType *pMediaType
);

Параметры

[in] dwStreamIndex

Поток для настройки. Это может быть любое из следующих значений.

Значение Значение
0–0xFFFFFFFB
Отсчитываемый от нуля индекс потока.
MF_SOURCE_READER_FIRST_VIDEO_STREAM
0xFFFFFFFC
Первый видеопоток.
MF_SOURCE_READER_FIRST_AUDIO_STREAM
0xFFFFFFFD
Первый аудиопоток.

[in, out] pdwReserved

Зарезервировано. Задайте значение NULL.

[in] pMediaType

Указатель на интерфейс IMFMediaType типа носителя.

Возвращаемое значение

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
MF_E_INVALIDMEDIATYPE
Обнаружен по крайней мере один декодер для собственного типа потока, но тип, заданный параметром pMediaType , был отклонен.
MF_E_INVALIDREQUEST
Один или несколько примеров запросов по-прежнему находятся в состоянии ожидания.
MF_E_INVALIDSTREAMNUMBER
Недопустимый параметр dwStreamIndex .
MF_E_TOPO_CODEC_NOT_FOUND
Не удалось найти декодер для собственного типа потока.

Комментарии

Для каждого потока можно задать любой из следующих типов мультимедиа:

  • Один из собственных типов, предлагаемых источником мультимедиа. Чтобы перечислить собственные типы, вызовите IMFSourceReader::GetNativeMediaType.
  • Если собственный тип мультимедиа сжат, можно указать соответствующий формат без сжатия. Средство чтения исходного кода выполнит поиск декодера, который может декодировать из собственного формата в указанный несжатый формат.
В средство чтения исходного кода добавлена поддержка повторной выборки звука с Windows 8. В версиях Windows до Windows 8 средство чтения исходного кода не поддерживает повторную выборку звука. Если вам нужно повторно выбрать звук в версиях Windows, предшествующих Windows 8, можно использовать DSP resampler audio.

Если при создании средства чтения источника задать для атрибута MF_SOURCE_READER_ENABLE_VIDEO_PROCESSINGзначение TRUE , средство чтения исходного кода преобразует видео YUV в формат RGB-32. Это преобразование не оптимизировано для воспроизведения видео в режиме реального времени.

Этот интерфейс доступен в Windows Vista, если установлено дополнение к обновлению платформы для Windows Vista.

Требования

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

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

IMFSourceReader

Средство чтения исходного кода