Aplicativos de exemplo DirectShow
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in 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 Audio/Video Capture in 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.]
Você pode encontrar os aplicativos de exemplo do DirectShow no repositório Windows-classic-samples no GitHub.
A tabela a seguir lista todos os exemplos do DirectShow fornecidos nesse repositório. Para obter instruções sobre como criar os exemplos, consulte a documentação fornecida no SDK do Windows. Se existir um tópico que descreve um exemplo, a primeira coluna dessa tabela será vinculada a ele.
Amostra | Área | Descrição | Dependências adicionais |
---|---|---|---|
DirectShow Base Classes | Biblioteca de classes base | Classes C++ e funções de utilitário projetadas para implementar filtros directShow. | |
Exemplo de AmCap | Capturar | Aplicativo de captura de vídeo. | strmbase.lib |
Exemplo de DVApp | Capturar | Aplicativo de captura de VÍDEO Digital (DV). | |
Exemplo do PlayCap | Capturar | Aplicativo de captura simples. | |
Exemplo de demonstração de DMO | DMO | Transmite dados de áudio de um arquivo WAV por meio de um efeito de áudio DMO. | DirectX SDK |
Exemplo de DVD | DVD | Demonstra a reprodução e a navegação básicas de DVD, além de recursos avançados, como gerenciamento de nível parental, indicadores, karaokê e sincronização de comandos. | |
Exemplo de filtro infTee | Filtros, diversos | Exemplo de implementação do filtro Infinito Pin Tee . | strmbase.lib |
Exemplo de filtro metronome | Filtros, diversos | Mostra como implementar um relógio de referência. | strmbase.lib |
Amostra de filtro do analisador psi | Filtros, diversos | Recebe tabelas psi (informações específicas do programa) de um fluxo de transporte MPEG-2 e extrai informações do programa. | strmbase.lib |
Amostra de filtro de despejo | Filtros, renderizador | Grava exemplos de mídia recebidos em um arquivo de texto. | strmbase.lib |
Filtro SampVid | Filtros, renderizador | Filtro do renderizador de vídeo. | strmbase.lib |
Exemplo de filtro de escopo | Filtros, renderizador | Exibe dados de som como formulários de onda. | strmbase.lib |
Exemplo de filtro assíncrono | Filtros, origem | Filtro de leitor de arquivo que dá suporte ao download progressivo. | strmbase.lib |
Amostra de filtro de bola | Filtros, origem | Filtro de fonte de vídeo que produz uma imagem de uma bola quicando. | strmbase.lib |
Exemplo de filtros de origem por push | Filtros, origem | Filtros de origem que fornecem os seguintes dados como um fluxo de vídeo: um único bitmap, um conjunto de bitmaps, uma cópia da imagem da área de trabalho atual. | strmbase.lib |
Exemplo de filtro de sintetizador | Filtros, origem | Filtro de origem que gera formas de onda de áudio. Este exemplo demonstra a criação de grafo dinâmico. | strmbase.lib |
Exemplo de filtro EZRGB24 | Filtros, transformação | Filtro de processamento de imagem. | strmbase.lib |
Amostra de filtro de gargle | Filtros, transformação | Filtro de efeito de áudio. | strmbase.lib |
Exemplo de filtro WavDest | Filtros, transformação | Grava um fluxo de áudio em um arquivo WAV. | strmbase.lib |
Exemplo de DMOEnum | Diversos | Mostra como enumerar DMOs ( Objetos de Mídia DirectX ). | |
Exemplo de mapeador | Diversos | Mostra como usar o Mapeador de Filtros para localizar filtros no registro. | |
Exemplo de SysEnum | Diversos | Demonstra como usar o Enumerador de Dispositivo do Sistema para enumerar dispositivos e filtros. | |
Exemplo de CutScene | Reprodução | Reproduz um arquivo de vídeo no modo de tela inteira. | |
Exemplo de DDrawXCL | Reprodução | Reproduz vídeo no modo de tela inteira exclusivo do DirectDraw, usando a interface IDDrawExclModeVideo no filtro Do Mixer de Sobreposição . | |
Exemplo de DShowPlayer | Reprodução | Aplicativo de reprodução de vídeo. | |
Exemplo de EVRPlayer | Reprodução | Demonstra como usar o filtro EVR do DirectShow.
Nota: Requer o Windows Vista ou posterior. Este exemplo está disponível no SDK do Windows para Windows Server 2008 ou posterior. |
strmbase.lib |
Amostra Texture3D9 | Reprodução | Desenha um vídeo em uma superfície de textura do Microsoft DirectX 9.0. | strmbase.lib, SDK do DirectX |
Exemplo de ticker | VMR-9 | Usa a VMR-9 para mesclar vídeo e texto. | |
Exemplo de VMR9Allocator | VMR-9 | Implementa um alocador-apresentador personalizado para a VMR-9. | strmbase.lib |
Exemplo de VMR9Compositor | VMR-9 | Implementa um mixer personalizado para a VMR-9. | |
Exemplo de VMRPlayer | VMR-9 | Usa a VMR-9 para mesclar um ou dois vídeos em execução e uma imagem estática. | |
Amostra de marca d'água | VMR-9 | Combina um bitmap estático em um vídeo durante a reprodução, usando a VMR-9. | |
Exemplo sem janelas | VMR-9 | Demonstra o modo sem janelas na VMR-9. |
Dependências adicionais
Alguns dos exemplos são vinculados à biblioteca de classes base do DirectShow. Para criar esses exemplos, primeiro crie a biblioteca de classes base. Para obter mais informações, consulte Classes base do DirectShow. A biblioteca de classes base é necessária para todos os filtros de exemplo.
Alguns dos exemplos também exigem o SDK do DirectX, além do SDK do Windows. Para compilar esses exemplos, você deve instalar o SDK do DirectX e definir a variável de %DXSDK\_DIR%
ambiente igual ao caminho de instalação do SDK do DirectX.
Muitos dos exemplos do DirectShow usam um conjunto de cabeçalhos comuns e arquivos de origem localizados no directrory \[SDK Root\]Samples\Multimedia\DirectShow\Common
. Se você copiar uma pasta de exemplo para outro diretório, copie a Common
pasta também.