Freigeben über


Anpassen des Aufzeichnungsprozesses

[Die dieser Seite zugeordnete Funktion MCIWnd Window Class ist ein Legacyfeature. Es wurde von MediaPlayer abgelöst. MediaPlayer wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer anstelle der MCIWnd-Fensterklasse verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Sie können den Aufzeichnungsprozess anpassen und dabei die vollständige Kontrolle über alles übernehmen – vom Erstellen des MCIWnd-Fensters bis hin zum Speichern der aufgezeichneten Informationen in einer Datei. Das folgende Beispiel fragt das MCI-Gerät nach Aufzeichnungs- und Speicherfunktionen ab und enthält Menübefehle zum Aufzeichnen am Anfang oder Ende des Inhalts.

Im folgenden Beispiel wird die MCIWndCreate-Funktion verwendet, um ein neues Fenster zu erstellen, und Sie können eine vorhandene Datei zum Speichern der aufgezeichneten Daten und das MCIWndNew-Makro angeben, um dem Fenster eine neue Datei zuzuordnen. Alternativ können Sie das Makro MCIWndOpen oder MCIWndOpenDialog verwenden, um eine Datei anzugeben.

Im Beispiel wird das MCIWndCanRecord-Makro verwendet, um zu überprüfen, ob das Gerät aufzeichnen kann, und das MCIWndCanSave-Makro , um zu überprüfen, ob das Gerät Informationen speichert. Im Beispiel wird die aktuelle Wiedergabeposition mithilfe der Makros MCIWndHome und MCIWndEnd festgelegt. Im Beispiel wird die Aufzeichnung mithilfe des MCIWndRecord-Makros gestartet. Nachdem die Informationen aufgezeichnet wurden, speichert das Beispiel sie mithilfe des MCIWndSaveDialog-Makros .

case WM_COMMAND: 
    switch (wParam) 
    { 
        case IDM_CREATEMCIWND: 
            g_hwndMCIWnd = MCIWndCreate( hwnd, g_hinst, 
                WS_VISIBLE | WS_CHILD | 
                MCIWNDF_RECORD,                   // add Record button
                NULL ); 
 
            MCIWndNew(g_hwndMCIWnd, "waveaudio"); // new file 
 
            if( MCIWndCanRecord(g_hwndMCIWnd) ) 
            { 
                MessageBox( hwnd, 
                "Press the red button on the toolbar to record.", 
                "MCIWnd Record", 
                MB_OK ); 
            } 
            else 
            { 
                MessageBox( hwnd, 
                    "This device doesn't record.", 
                    "MCIWnd Record", 
                    MB_OK ); 
            } 
            break; 
        case IDM_RECORDATSTART: 
            if( MCIWndCanRecord(g_hwndMCIWnd) ) 
            { 
                MCIWndHome(g_hwndMCIWnd); 
                MCIWndRecord(g_hwndMCIWnd); 
            } 
            else 
            { 
                MessageBox( hwnd, 
                    "This device doesn't record.", 
                    "MCIWnd Record", 
                    MB_OK); 
            } 
            break; 
        case IDM_RECORDATEND: 
            if( MCIWndCanRecord(g_hwndMCIWnd) ) 
            { 
                MCIWndEnd(g_hwndMCIWnd); 
                MCIWndRecord(g_hwndMCIWnd); 
            } 
            else 
            { 
                MessageBox( hwnd, 
                    "This device doesn't record.", 
                    "MCIWnd Record", 
                    MB_OK); 
            } 
            break; 
        case IDM_SAVEMCIWND: 
            if( MCIWndCanSave(g_hwndMCIWnd) ) 
                MCIWndSaveDialog(g_hwndMCIWnd); 
    } 
    break; 
 
    // Handle other messages here.