다음을 통해 공유


애플리케이션에 콜백 함수 추가

애플리케이션은 다음과 같은 상황에서 애플리케이션에 알리도록 캡처 창에 콜백 함수를 등록할 수 있습니다.

  • 상태 변경
  • 오류가 발생합니다.
  • 비디오 프레임 및 오디오 버퍼 사용 가능
  • 스트리밍 캡처 중에 애플리케이션이 생성되어야 합니다.

다음 예제에서는 캡처 창을 만들고 애플리케이션의 메시지 처리 루프에 상태, 오류, 비디오 스트림 및 프레임 콜백 함수를 등록합니다. 콜백 함수를 사용하지 않도록 설정하기 위한 샘플 문도 포함되어 있습니다. 후속 예제에서는 간단한 상태, 오류 및 프레임 콜백 함수를 보여 줍니다.

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; 
} 
 

비디오 캡처 사용