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


Метод IDvdGraphBuilder::RenderDvdVideoVolume (strmif.h)

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

Метод RenderDvdVideoVolume завершает создание графа фильтра в соответствии со спецификациями пользователя для воспроизведения тома DVD-Video.

Синтаксис

HRESULT RenderDvdVideoVolume(
  [in]  LPCWSTR             lpcwszPathName,
  [in]  DWORD               dwFlags,
  [out] AM_DVD_RENDERSTATUS *pStatus
);

Параметры

[in] lpcwszPathName

Указатель на путь для воспроизведения тома DVD-Video. Может иметь значение NULL.

[in] dwFlags

Побитовое ИЛИ флагов из перечисления AM_DVD_GRAPH_FLAGS , указывающее способ построения графа воспроизведения DVD.

[out] pStatus

Указатель на структуру AM_DVD_RENDERSTATUS . При возврате метода структура указывает на все ошибки отрисовки.

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

Возвращает значение HRESULT , зависящее от реализации интерфейса. Возвращаемые значения реализации DirectShow включают следующие:

Код возврата Описание
E_INVALIDARG
Параметр dwFlags указывает конфликтующие параметры.
S_FALSE
Метод частично выполнен успешно. Чтобы узнать, какие ошибки произошли, изучите параметр pStatus .
S_OK
Метод выполнен успешно, и все потоки были отрисованы.
VFW_E_DVD_DECNOTENOUGH
Не удалось отобразить один или несколько потоков.

Если вы указали флаг AM_DVD_HWDEC_ONLY или AM_DVD_SWDEC_ONLY в параметре dwFlags , попробуйте снова вызвать метод с флагом AM_DVD_HWDEC_PREFER или AM_DVD_SWDEC_PREFER.

VFW_E_DVD_NON_EVR_RENDERER_IN_FILTER_GRAPH
Граф фильтров уже содержит отрисовщик видео. Метод возвращает этот код ошибки, если вы указали флаг AM_DVD_EVR_ONLY в параметре dwFlags , но граф уже содержит отрисовщик видео, отличный от фильтра Расширенного отрисовщика видео (VMR).
VFW_E_DVD_RENDERFAIL
При построении графа произошла ошибка. Например, DVD Graph Builder не удалось создать необходимый фильтр или отрисовка потоков.
VFW_E_DVD_TOO_MANY_RENDERERS_IN_FILTER_GRAPH
Граф фильтра содержит более одного отрисовщика видео.

Комментарии

Структура AM_DVD_RENDERSTATUS отражает коды сбоев для этого метода. Причины, по которым этот метод возвращает S_FALSE, включают следующие:

  • Граф был полностью построен, но одно из следующих верно.
    • Перемешивание наложения не работает— приложение не установило флаг AM_DVD_NOVPE, и видеопоток не может быть передан через средство наложения. В этом случае, если видео декодируется в программном обеспечении, приложение будет иметь достаточно информации, чтобы сообщить пользователю, что видео не будет видно. Аппаратное декодирование видео будет отображаться только на телевизоре, подключенном к порту NTSC для аппаратного декодера видео.
    • Декодер видео не создает данные строки 21. Приложение может отображать предупреждение или информативное сообщение о том, что скрытые субтитры недоступны из-за декодера.
    • Путь к громкости не указан, и DVD-навигатор не находит DVD-Video тома для воспроизведения. Приложение может попросить пользователя вставить DVD-Video диск, если он недоступен на диске при запуске воспроизведения.
  • Некоторые потоки не отображаются. Приложение может указать пользователю, что некоторые потоки не могут быть воспроизведены.
Этот метод создает граф без каких-либо знаний о DVD-Video файла или тома для воспроизведения. Построитель графов DVD-Video создает граф, даже если значение lpcwszPathName равно NULL или если фильтр DVD-навигатора не находит том DVD-Video по умолчанию для воспроизведения.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

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

Приложения DVD

Коды ошибок и успешного выполнения

Интерфейс IDvdGraphBuilder