다음을 통해 공유


재생 일시 중지 및 다시 시작

MCIWndPause 매크로를 사용하여 MCIWnd 창과 연결된 디바이스 또는 파일의 재생을 중단할 수 있습니다. 그런 다음 MCIWndResume 매크로를 사용하여 재생을 다시 시작할 수 있습니다. 디바이스에서 다시 시작을 지원하지 않거나 오류가 발생하는 경우 MCIWndPlay 매크로를 사용하여 재생을 다시 시작할 수 있습니다.

다음 예제에서는 MCIWnd 창을 만들고 AVI 파일을 재생합니다. 사용자가 일시 중지 및 다시 시작 메뉴 명령을 사용하여 재생을 중단하고 다시 시작할 수 있습니다.

MCIWndResume가 실패하면 MCIWndChangeStyles 매크로를 사용하여 MCIWnd Windows 스타일이 일시적으로 변경되어 MCI 오류 대화 상자가 표시되지 않도록 합니다.

case WM_COMMAND: 
    switch (wParam) 
    { 
        case IDM_CREATEMCIWND:             // creates and plays clip 
            g_hwndMCIWnd = MCIWndCreate(hwnd,  
                g_hinst,                      
                WS_CHILD | WS_VISIBLE |    // standard styles
                MCIWNDF_NOPLAYBAR |        // hides toolbar 
                MCIWNDF_NOTIFYMODE,        // notifies of mode changes
                "sample.avi"); 
 
            MCIWndPlay(g_hwndMCIWnd); 
            break;    
        case IDM_PAUSEMCIWND:              // pauses playback 
            MCIWndPause(g_hwndMCIWnd); 
            MessageBox(hwnd, "MCIWnd", "Pausing Playback", MB_OK); 
            break; 
        case IDM_RESUMEMCIWND:          // resumes playback 
            MCIWndChangeStyles(      // hides error dialog messages
                g_hwndMCIWnd,        // MCIWnd window
                MCIWNDF_NOERRORDLG,  // mask of style to change
                MCIWNDF_NOERRORDLG); // suppresses MCI error dialogs 
 
            lResult = MCIWndResume(g_hwndMCIWnd); 
 
            if(lResult){                   // device doesn't resume 
                MessageBox(hwnd, "MCIWnd", 
                    "Resume with Stop and Play", MB_OK); 
                MCIWndStop(g_hwndMCIWnd); 
                MCIWndPlay(g_hwndMCIWnd); 
 
                MCIWndChangeStyles(        // resumes original styles
                    g_hwndMCIWnd, 
                    MCIWNDF_NOERRORDLG, 
                    NULL); 
        } 
        break; 
    } 
    break; 
 
// Handle other messages here.