Compartilhar via


Usando GraphEdit

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

O GraphEdit está disponível no Microsoft Windows Software Development Kit (SDK) (https://go.microsoft.com/fwlink/p/?linkid=62332).

O nome do aplicativo GraphEdit é "graphedt.exe". Depois de instalar o SDK, "graphedt.exe" está localizado no seguinte diretório: \Program Files (x86)\Windows Kits\10\bin\<sdk version>\x64\.

Antes de executar o GraphEdit, use o utilitário regsvr32 para registrar as seguintes DLLs, que estão localizadas no mesmo diretório:

  • proppage.dll
  • evrprop.dll

Essas DLLs permitem que o GraphEdit exiba páginas de propriedades para alguns dos filtros internos do DirectShow.

Criar um grafo de reprodução de arquivo

GraphEdit pode criar um grafo de filtro para reprodução de arquivo. Esse recurso é equivalente a chamar o método IGraphBuilder::RenderFile em um aplicativo. No menu Arquivo , clique em Renderizar Arquivo de Mídia. GraphEdit exibe uma caixa de diálogo Abrir Arquivo . Selecione um arquivo multimídia e clique em Abrir. GraphEdit cria um grafo de filtro para reproduzir o arquivo selecionado.

Você também pode renderizar um arquivo de mídia localizado em uma URL. No menu Arquivo , clique em Renderizar URL. GraphEdit exibe uma caixa de diálogo na qual digitar a URL.

Criar um grafo de filtro

GraphEdit pode criar um grafo de filtro personalizado usando qualquer um dos filtros registrados em seu sistema. No menu Grafo , clique em Inserir Filtros. Uma caixa de diálogo é exibida com uma lista dos filtros em seu sistema, organizados por categoria de filtro. GraphEdit cria essa lista a partir de informações no Registro. A ilustração a seguir mostra a caixa de diálogo.

quais filtros você deseja inserir?

Para adicionar um filtro ao grafo, selecione o nome do filtro e clique no botão Inserir Filtros ou clique duas vezes no nome do filtro. Depois de adicionar os filtros, você pode conectar dois filtros arrastando o mouse do pino de saída de um filtro para o pino de entrada de outro filtro. Se os pinos aceitarem a conexão, GraphEdit desenhará uma seta conectando-os.

conectando dois filtros

Executar o grafo

Depois de criar um grafo de filtro na Edição do Graph, você pode executar o grafo para ver se ele funciona conforme o esperado. O menu Gráfico contém os comandos de menu Reproduzir, Pausar e Parar. Esses comandos invocam para os métodos IMediaControlExecutar, Pausar e Parar, respectivamente. A barra de ferramentas GraphEdit também tem botões para esses comandos:

botões pausar, reproduzir e parar

Observação

O comando GraphEdit Stop primeiro pausa o grafo e busca o tempo zero (supondo que o grafo seja buscado). Para reprodução de arquivo, essa ação redefine a janela de vídeo para o primeiro quadro. Em seguida, GraphEdit chama IMediaControl::Stop.

 

Se o grafo for viável, você poderá procurá-lo arrastando a barra deslizante que aparece abaixo da barra de ferramentas. Arrastar a barra deslizante invoca o método IMediaSeeking::SetPositions .

Exibir Páginas de Propriedades

Alguns filtros dão suporte a páginas de propriedades personalizadas, que fornecem uma interface do usuário para definir propriedades no filtro. Para exibir a página de propriedades de um filtro no GraphEdit, clique com o botão direito do mouse no filtro e selecione Propriedades na janela pop-up. GraphEdit exibe uma página de propriedades que contém as folhas de propriedades definidas pelo filtro (se houver). Além disso, GraphEdit inclui uma folha de propriedades para cada pino no filtro. As folhas de propriedades de pino são definidas por GraphEdit, não pelo filtro. Se o pino estiver conectado, a folha de propriedades do pino exibirá o tipo de mídia para a conexão. Caso contrário, ele lista os tipos de mídia preferenciais do pino.

Observação

Para usar as páginas de propriedades internas do GraphEdit, você deve registrar proppage.dll. Essa DLL está disponível no SDK do Windows. A DLL também contém páginas de propriedades adicionais para alguns filtros directShow. Essas páginas de propriedades são fornecidas apenas para fins de depuração.

 

Simulando a criação de grafo com GraphEdit