재생 일시 중지 및 다시 시작
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.