Метод IGraphBuilder::RenderFile (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод RenderFile
создает граф фильтра, который отображает указанный файл.
Синтаксис
HRESULT RenderFile(
[in] LPCWSTR lpcwstrFile,
[in] LPCWSTR lpcwstrPlayList
);
Параметры
[in] lpcwstrFile
Задает строку с расширенными символами, содержащую имя файла мультимедиа.
[in] lpcwstrPlayList
Зарезервировано. Должен иметь значение NULL.
Возвращаемое значение
Возвращает HRESULT. Ниже приведены возможные значения.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Частичный успех; звук не был отрисован. |
|
Успех; Диспетчер графов фильтров изменил имя фильтра, чтобы избежать дублирования. |
|
Некоторые потоки в этом фильме имеют неподдерживаемый формат. |
|
Частичный успех; некоторые потоки в этом фильме имеют неподдерживаемый формат. |
|
Операция аварийно завершена. |
|
Ошибка. |
|
Аргумент недопустим. |
|
Недостаточно памяти. |
|
Аргумент указателя NULL. |
|
Не удалось найти сочетание промежуточных фильтров, чтобы установить соединение. |
|
Не удалось загрузить исходный фильтр для этого файла. |
|
Не удалось найти сочетание фильтров для отрисовки потока. |
|
Недопустимый формат файла. |
|
Объект или имя не найдены. |
|
Тип носителя этого файла не распознается. |
|
Не удается воспроизвести файл: формат не поддерживается. |
Комментарии
Если параметр lpwstrFile указывает файл мультимедиа, метод создает граф фильтра для воспроизведения по умолчанию. Сначала добавляется исходный фильтр, который может считывать файл, используя тот же процесс, что и метод IGraphBuilder::AddSourceFilter . Затем он отрисовывает выходные контакты в исходном фильтре, добавляя промежуточные фильтры при необходимости. Он пытается выполнить фильтры в том же порядке, что и метод IGraphBuilder::Connect .
В процессе подключения диспетчер графов фильтров игнорирует контакты на промежуточных фильтрах, если имя контакта начинается с тильды (~). Дополнительные сведения см. в разделе PIN_INFO.
Обратите внимание, что RenderFile
метод не удаляет фильтры из графа. При двойном вызове RenderFile
второй вызов просто добавит дополнительные фильтры в граф. При запуске графа оба источника будут воспроизводиться одновременно.
Примеры
В следующем примере показан AVI-файл для воспроизведения по умолчанию:
C++ |
---|
hr = pGraph->RenderFile(L"C:\\Media\\Example.avi", 0); |
C++ |
---|
hr = pGraph->RenderFile(L"http://example.microsoft.com/Example.avi", 0); |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |