Compartilhar via


Exemplo de filtro de escopo

[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.]

Descrição

O filtro Escopo é um filtro de renderizador que exibe dados de som como formulários de onda.

Uso

Para usar esse filtro, abra GraphEdit e renderize um arquivo de áudio (ou um arquivo de vídeo com um fluxo de áudio). Desconecte o renderizador de áudio temporariamente e insira o filtro de exemplo Infinite-Pin Tee (Amostra de Filtro infTee). Reconecte o renderizador de áudio. Em seguida, conecte o segundo pino de saída do filtro Infinite-Pin Tee ao filtro Escopo. Agora, execute o grafo.

A janela Escopo é implementada como uma caixa de diálogo, não como uma janela real. Os desenvolvedores que criam painéis de controle para alterar parâmetros de filtro em tempo real podem querer usar uma técnica como essa em vez de páginas de propriedades.

O filtro Escopo demonstra a configuração de um thread separado para processar dados. Nesse caso, os dados são copiados apenas para um buffer separado no método IMemInputPin::Receive e, em seguida, são desenhados na janela Escopo no thread separado.

O filtro Escopo também permite que você monitore a saída de áudio para determinar se você está recortado, para que você possa ajustar o ganho.

Esse filtro aparece no GraphEdit como "Oscilloscope".

Baixar o 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: [Raiz do SDK]\Samples\Multimedia\DirectShow\Filters\Scope.

Exemplos do DirectShow