Método IMediaControl::StopWhenReady (control.h)
[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 |