Método ISampleGrabber::SetOneShot
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
Nota
[Desusado. Esta API se puede quitar de futuras versiones de Windows.
El método SetOneShot especifica si el filtro Sample Grabber se detiene después de que el filtro reciba una muestra.
HRESULT SetOneShot(
BOOL OneShot
);
-
Oneshot
-
Valor booleano que especifica si el filtro Sample Grabber se detiene después de recibir una muestra.
Valor Significado - VERDAD
El captador de ejemplo se detiene después del primer ejemplo. - FALSO
Después del primer ejemplo, sample grabber continúa procesando muestras. Este es el comportamiento predeterminado.
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Use este método para obtener un único ejemplo de la secuencia, como se indica a continuación:
- Llame a SetOneShot con el valor TRUE.
- Opcionalmente, use la interfaz IMediaSeeking para buscar una posición en la secuencia.
- Llame a IMediaControl::Run para ejecutar el gráfico de filtro.
- Llame a IMediaEvent::WaitForCompletion para esperar a que el grafo se detenga. Como alternativa, llame a IMediaEvent::GetEvent para obtener eventos de grafo, hasta que reciba el evento EC_COMPLETE .
Después de que se detenga el Captador de ejemplo, el gráfico de filtros sigue en estado de ejecución. Puede buscar o pausar el gráfico para obtener otro ejemplo.
Nota
Una versión anterior de la documentación indicó que el gráfico de filtro se detiene después de recibir el ejemplo. Eso no es preciso. La secuencia finaliza, pero el gráfico permanece en estado de ejecución.
Sample Grabber implementa el modo de captura única llamando a IPin::EndOfStream en el filtro de bajada y devolviendo S_FALSE desde el método IMemInputPin::Receive .
Nota
El archivo de encabezado Qedit.h no es compatible con los encabezados de Direct3D posteriores a la versión 7.
Nota
Para obtener Qedit.h, descargue la actualización de Microsoft Windows SDK para Windows Vista y .NET Framework 3.0. Qedit.h no está disponible en el Microsoft Windows SDK para Windows 7 y .NET Framework 3.5 Service Pack 1.
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|