Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция, связанная с этой страницей, класс окна MCIWnd, является устаревшей функцией. Его заменил MediaPlayer. MediaPlayer оптимизирован для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer вместо класса MCIWnd Windowпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]
Можно прервать воспроизведение устройства или файла, связанного с окном MCIWnd, с помощью макросаMCIWndPause. Затем можно перезапустить воспроизведение с помощью макроса MCIWndResume. Если устройство не поддерживает возобновление или возникает ошибка, можно использовать макрос MCIWndPlay для перезапуска воспроизведения.
В следующем примере создается окно MCIWnd и воспроизводится файл AVI. Команды меню приостановки и возобновления доступны пользователю для прерывания и перезапуска воспроизведения.
Временно изменяются стили окон MCIWnd с помощью макроса MCIWndChangeStyles, чтобы предотвратить отображение диалогового окна ошибки MCI в случае, если выполнение MCIWndResume завершается ошибкой.
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.