Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[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 StopWhenReady método pausa o grafo de filtro, permitindo que os filtros enfileiram dados e, em seguida, interrompe o grafo de filtro.
Sintaxe
HRESULT StopWhenReady();
Retornar valor
Retorna um valor HRESULT . Os possíveis valores incluem os seguintes.
| Código de retorno | Descrição |
|---|---|
|
Êxito. |
|
O grafo ainda estava fazendo a transição para o estado em pausa quando o método retornou. |
Comentários
Esse método é útil se você quiser buscar o grafo de filtro enquanto o grafo é interrompido. Desde que o grafo de filtro seja interrompido, as alterações na posição atual não repintam a janela de vídeo com um novo quadro. Portanto, chamar IMediaSeeking::SetPositions não atualiza a janela de vídeo. Para atualizar a janela após a operação de busca, chame StopWhenReady. Esse método faz a transição do grafo para um estado em pausa, aguarda a conclusão da operação de pausa e, em seguida, faz a transição do grafo de volta para parado. A operação de pausa enfileira dados no grafo para que o renderizador de vídeo receba e exiba o novo quadro.
Esse método é assíncrono. Ele aguarda um thread separado para que a pausa seja concluída. O thread de chamada não é bloqueado, o que permite que o aplicativo responda à entrada do usuário. Quando o método retorna, o estado lógico do grafo é interrompido, mesmo antes da conclusão da operação de pausa. Se você chamar o método IMediaControl::GetState neste ponto, ele retornará State_Stopped.
Se o aplicativo emitir outro comando de alteração de estado (como pausar, executar ou buscar) antes da conclusão da operação de pausa, o novo comando cancelará o comando stop pendente. A operação de pausa é concluída, mas o grafo não é interrompido.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
| Plataforma de Destino | Windows |
| Cabeçalho | control.h (inclua Dshow.h) |
| Biblioteca | Strmiids.lib |