Метод 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 включают следующие:
Код возврата | Описание |
---|---|
|
Параметр dwFlags указывает конфликтующие параметры. |
|
Метод частично выполнен успешно. Чтобы узнать, какие ошибки произошли, изучите параметр pStatus . |
|
Метод выполнен успешно, и все потоки были отрисованы. |
|
Не удалось отобразить один или несколько потоков.
Если вы указали флаг AM_DVD_HWDEC_ONLY или AM_DVD_SWDEC_ONLY в параметре dwFlags , попробуйте снова вызвать метод с флагом AM_DVD_HWDEC_PREFER или AM_DVD_SWDEC_PREFER. |
|
Граф фильтров уже содержит отрисовщик видео. Метод возвращает этот код ошибки, если вы указали флаг AM_DVD_EVR_ONLY в параметре dwFlags , но граф уже содержит отрисовщик видео, отличный от фильтра Расширенного отрисовщика видео (VMR). |
|
При построении графа произошла ошибка. Например, DVD Graph Builder не удалось создать необходимый фильтр или отрисовка потоков. |
|
Граф фильтра содержит более одного отрисовщика видео. |
Комментарии
Структура AM_DVD_RENDERSTATUS отражает коды сбоев для этого метода. Причины, по которым этот метод возвращает S_FALSE, включают следующие:
- Граф был полностью построен, но одно из следующих верно.
- Перемешивание наложения не работает— приложение не установило флаг AM_DVD_NOVPE, и видеопоток не может быть передан через средство наложения. В этом случае, если видео декодируется в программном обеспечении, приложение будет иметь достаточно информации, чтобы сообщить пользователю, что видео не будет видно. Аппаратное декодирование видео будет отображаться только на телевизоре, подключенном к порту NTSC для аппаратного декодера видео.
- Декодер видео не создает данные строки 21. Приложение может отображать предупреждение или информативное сообщение о том, что скрытые субтитры недоступны из-за декодера.
- Путь к громкости не указан, и DVD-навигатор не находит DVD-Video тома для воспроизведения. Приложение может попросить пользователя вставить DVD-Video диск, если он недоступен на диске при запуске воспроизведения.
- Некоторые потоки не отображаются. Приложение может указать пользователю, что некоторые потоки не могут быть воспроизведены.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |