Compartilhar via


Filtro de analisador de vários arquivos

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O filtro Analisador de Vários Arquivos analisa um formato de arquivo simples que permite que vários nomes de arquivo sejam especificados como se fossem um arquivo. Esses arquivos têm o formato mostrado no exemplo a seguir:

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

O uso desse filtro foi preterido. Para renderizar vários arquivos no mesmo grafo de filtro, o aplicativo deve simplesmente chamar RenderFile ou AddSourceFilter várias vezes.

Rótulo Valor
Filtrar interfaces Ibasefilter
Tipos de mídia de pino de entrada
  • Tipo principal: MEDIATYPE_Stream
  • Subtipo: CLSID_MultFile
  • Tipo de formato: GUID_NULL
Interfaces de pino de entrada IPin, IQualityControl
Tipos de mídia de pino de saída
  • Tipo principal: MEDIATYPE_File
  • Subtipo: GUID_NULL
  • Tipo de formato: MEDIATYPE_File
Interfaces de pino de saída IPin, IQualityControl
Filtrar CLSID CLSID_MultFile
Executável Quartz.dll
Mérito MERIT_UNLIKELY
Categoria de Filtro CLSID_LegacyAmFilterCategory

 

Comentários

O filtro cria um pino de saída para cada arquivo listado no arquivo de origem. O tipo de saída é MEDIATYPE_File e o bloco de formato para o tipo de saída é uma cadeia de caracteres largos que contém o nome do arquivo. Cada pino se conecta a uma instância do filtro do Renderizador de Fluxo de Arquivos . O filtro Renderizador de Fluxo de Arquivos cria um pino de saída, o que expõe a interface IStreamBuilder . O pino de saída renderiza o arquivo especificado. Nenhum dado de mídia viaja entre o Analisador de Vários Arquivos e o Renderizador de Fluxo de Arquivos.

O CLSID do filtro não é definido em Uuids.h. Use essa macro em seu próprio arquivo de cabeçalho:

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

Filtros do DirectShow