Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize 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.]
Descrição
O exemplo de filtro assíncrono é um filtro de leitor de arquivos que suporta download progressivo. Este filtro de exemplo implementa as interfaces IAsyncReader e IFileSourceFilter. Ele suporta arquivos MPEG, mas não arquivos AVI.
Utilização
Este exemplo inclui um pequeno aplicativo de linha de comando, Memfile.exe, que demonstra o filtro. Os argumentos de linha de comando especificam um arquivo de mídia e uma taxa de bits, em kilobytes por segundo. O aplicativo lê o arquivo na memória na taxa especificada e reproduz o arquivo. Para fazer isso, ele cria uma instância do filtro, adiciona o filtro ao gráfico de filtro e renderiza o pino de saída do filtro.
Na linha de comando, digite:
Memfile Nome do arquivo BitRate
O filtro de exemplo Async não suporta arquivos AVI, porque ele não pode se conectar ao filtro AVI Splitter. O pino de saída do filtro Assíncrono propõe MEDIATYPE_Stream e MEDIASUBTYPE_NULL para o tipo de mídia. O pino de entrada no filtro AVI Splitter não aceita MEDIASUBTYPE_NULL e não propõe nenhum tipo próprio. Portanto, a conexão por pino falha. O filtro assíncrono pode ser aprimorado para oferecer MEDIASUBTYPE_Avi quando apropriado. Por exemplo, ele pode examinar o formato de arquivo ou usar a extensão de arquivo.
Download do exemplo
Para baixar os exemplos do SDK do DirectShow, instale a versão mais recente do SDK do Windows.
Este exemplo é instalado no seguinte caminho: [SDK Root]\Samples\Multimedia\DirectShow\Filters\Async.
Tópicos relacionados