Delen via


Afspelen onderbreken en hervatten

[De functie die is gekoppeld aan deze pagina, MCIWnd Window Class, is een verouderde functie. Het is vervangen door MediaPlayer. MediaPlayer is geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan dat nieuwe code MediaPlayer gebruikt in plaats van MCIWnd Window Class, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]

U kunt het afspelen van een apparaat of bestand dat is gekoppeld aan een MCIWnd-venster onderbreken met behulp van de macro MCIWndPause. Vervolgens kunt u het afspelen opnieuw starten met behulp van de MCIWndResume macro. Als het apparaat hervatten niet ondersteunt of als er een fout optreedt, kunt u de MCIWndPlay macro gebruiken om het afspelen opnieuw te starten.

In het volgende voorbeeld wordt een MCIWnd-venster gemaakt en wordt een AVI-bestand afgespeeld. Menuopdrachten onderbreken en hervatten zijn beschikbaar voor de gebruiker om het afspelen te onderbreken en opnieuw te starten.

MCIWnd-vensterstijlen worden tijdelijk gewijzigd met behulp van de MCIWndChangeStyles macro om te voorkomen dat een MCI-foutdialoogvenster wordt weergegeven als MCIWndResume- mislukt.

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.