Método ISampleGrabber::SetOneShot
[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.]
Observação
[Preterido. Essa API pode ser removida de versões futuras do Windows.]
O método SetOneShot especifica se o filtro De exemplo grabber é interrompido depois que o filtro recebe uma amostra.
Sintaxe
HRESULT SetOneShot(
BOOL OneShot
);
Parâmetros
-
Oneshot
-
Um valor booliano que especifica se o filtro De exemplo grabber é interrompido depois de receber uma amostra.
Valor Significado - VERDADE
O Grabber de Exemplo é interrompido após o primeiro exemplo. - FALSE
Após o primeiro exemplo, o Sample Grabber continua a processar amostras. Esse é o comportamento padrão.
Retornar valor
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Use esse método para obter um único exemplo do fluxo, da seguinte maneira:
- Chame SetOneShot com o valor TRUE.
- Opcionalmente, use a interface IMediaSeeking para buscar uma posição no fluxo.
- Chame IMediaControl::Run para executar o grafo de filtro.
- Chame IMediaEvent::WaitForCompletion para aguardar a interrupção do grafo. Como alternativa, chame IMediaEvent::GetEvent para obter eventos de grafo até receber o evento EC_COMPLETE .
Depois que o Grabber de Exemplo for interrompido, o grafo de filtro ainda estará em um estado de execução. Você pode buscar ou pausar o grafo para obter outra amostra.
Observação
Uma versão anterior da documentação afirmou que o grafo de filtro é interrompido depois que o exemplo é recebido. Isso não é preciso. O fluxo termina, mas o grafo permanece no estado em execução.
O Sample Grabber implementa o modo one-shot chamando IPin::EndOfStream no filtro downstream e retornando S_FALSE do método IMemInputPin::Receive dele.
Observação
O arquivo de cabeçalho Qedit.h não é compatível com cabeçalhos Direct3D posteriores à versão 7.
Observação
Para obter qedit.h, baixe o SDK do Microsoft Windows Update para Windows Vista e .NET Framework 3.0. O Qedit.h não está disponível no SDK do Microsoft Windows para Windows 7 e .NET Framework 3.5 Service Pack 1.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|
Confira também