Pausing and Resuming Playback

You can interrupt playback of a device or file associated with an MCIWnd window by using the MCIWndPause macro. You can then restart playback by using the MCIWndResume macro. If the device does not support resume or if an error occurs, you can use the MCIWndPlay macro to restart playback.

The following example creates an MCIWnd window and plays an AVI file. Pause and resume menu commands are available to the user to interrupt and restart playback.

MCIWnd window styles are changed temporarily by using the MCIWndChangeStyles macro to inhibit an MCI error dialog box from being displayed if MCIWndResume fails.

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.

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database