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


Фильтр синтаксического анализа нескольких файлов

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

Фильтр синтаксического анализа нескольких файлов анализирует простой формат файла, который позволяет указывать несколько имен файлов, как если бы они были одним файлом. Эти файлы имеют формат, показанный в следующем примере:

;MULTI
https://server/share/video.mpg
https://server/share/captions.smi

Использование этого фильтра устарело. Чтобы отобразить несколько файлов в одном графе фильтров, приложение должно просто вызывать RenderFile или AddSourceFilter несколько раз.

Ярлык Ценность
Фильтры интерфейсов IBaseFilter
Типы носителей входных закреплений
  • Основной тип: MEDIATYPE_Stream
  • Подтип: CLSID_MultFile
  • Тип формата: GUID_NULL
Интерфейсы входных закреплений IPin, IQualityControl
Типы носителей пин-кода вывода
  • Основной тип: MEDIATYPE_File
  • Подтип: GUID_NULL
  • Тип формата: MEDIATYPE_File
Интерфейсы пин-кода вывода IPin, IQualityControl
Фильтрация CLSID CLSID_MultFile
Выполнимый Quartz.dll
Заслуги MERIT_UNLIKELY
категории фильтра CLSID_LegacyAmFilterCategory

 

Замечания

Фильтр создает один выходной пин-код для каждого файла, указанного в исходном файле. Тип выходных данных — MEDIATYPE_File, а блок форматирования для выходного типа — это строка широкого символа, содержащая имя файла. Каждый закрепление подключается к экземпляру фильтра отрисовщика файлового потока. Фильтр отрисовщика потоков файлов создает один выходной пин-код, который предоставляет интерфейсIStreamBuilder. Выходной пин-код отображает указанный файл. Данные мультимедиа не перемещается между средством синтаксического анализа нескольких файлов и отрисовщиком файлового потока.

CLSID фильтра не определен в Uuids.h. Используйте этот макрос в собственном файле заголовка:

// {D51BD5A3-7548-11cf-A520-0080C77EF58A}
DEFINE_GUID(CLSID_MultFile,
0xd51bd5a3, 0x7548, 0x11cf, 0xa5, 0x20, 0x0, 0x80, 0xc7, 0x7e, 0xf5, 0x8a);

фильтры DirectShow