Adición de funciones de devolución de llamada a una aplicación
Una aplicación puede registrar funciones de devolución de llamada con la ventana de captura para que notifique a la aplicación en las siguientes circunstancias:
- El estado cambia.
- Se producen errores
- Los búferes de audio y fotogramas de vídeo están disponibles
- La aplicación debe producir durante la captura de streaming
En el ejemplo siguiente se crea una ventana de captura y se registra el estado, el error, la secuencia de vídeo y las funciones de devolución de llamada de fotogramas en el bucle de procesamiento de mensajes de una aplicación. También incluye una instrucción de ejemplo para deshabilitar una función de devolución de llamada. En los ejemplos posteriores se muestran funciones de devolución de llamada de fotogramas, errores y estado simples.
case WM_CREATE:
{
char achDeviceName[80] ;
char achDeviceVersion[100] ;
char achBuffer[100] ;
WORD wDriverCount = 0 ;
WORD wIndex ;
WORD wError ;
HMENU hMenu ;
// Create a capture window using the capCreateCaptureWindow macro.
ghWndCap = capCreateCaptureWindow((LPSTR)"Capture Window",
WS_CHILD | WS_VISIBLE, 0, 0, 160, 120, (HWND) hWnd, (int) 0);
// Register the error callback function using the
// capSetCallbackOnError macro.
capSetCallbackOnError(ghWndCap, fpErrorCallback);
// Register the status callback function using the
// capSetCallbackOnStatus macro.
capSetCallbackOnStatus(ghWndCap, fpStatusCallback);
// Register the video-stream callback function using the
// capSetCallbackOnVideoStream macro.
capSetCallbackOnVideoStream(ghWndCap, fpVideoCallback);
// Register the frame callback function using the
// capSetCallbackOnFrame macro.
capSetCallbackOnFrame(ghWndCap, fpFrameCallback);
// Connect to a capture driver
break;
}
case WM_CLOSE:
{
// Use the capSetCallbackOnFrame macro to
// disable the frame callback. Similar calls exist for the other
// callback functions.
capSetCallbackOnFrame(ghWndCap, NULL);
break;
}
Temas relacionados
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de