애플리케이션에 콜백 함수 추가
애플리케이션은 다음과 같은 상황에서 애플리케이션에 알리도록 캡처 창에 콜백 함수를 등록할 수 있습니다.
- 상태 변경
- 오류가 발생합니다.
- 비디오 프레임 및 오디오 버퍼 사용 가능
- 스트리밍 캡처 중에 애플리케이션이 생성되어야 합니다.
다음 예제에서는 캡처 창을 만들고 애플리케이션의 메시지 처리 루프에 상태, 오류, 비디오 스트림 및 프레임 콜백 함수를 등록합니다. 콜백 함수를 사용하지 않도록 설정하기 위한 샘플 문도 포함되어 있습니다. 후속 예제에서는 간단한 상태, 오류 및 프레임 콜백 함수를 보여 줍니다.
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;
}
관련 항목