Condividi tramite


Personalizzazione del processo di registrazione

[La funzionalità associata a questa pagina, la classe finestra MCIWnd, è una funzionalità legacy. È stata sostituita da MediaPlayer. MediaPlayer è stato ottimizzato per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer anziché la classe di finestra MCIWnd, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

È possibile personalizzare il processo di registrazione, prendendo il controllo completo della maggior parte di tutto, dalla creazione della finestra MCIWnd al salvataggio delle informazioni registrate in un file. L'esempio seguente esegue una query sul dispositivo MCI per registrare e salvare le funzionalità e include i comandi di menu per registrare all'inizio o alla fine del contenuto.

Nell'esempio seguente viene usata la funzione MCIWndCreate per creare una nuova finestra e consente di specificare un file esistente per archiviare i dati registrati e la macro MCIWndNew per associare un nuovo file alla finestra. In alternativa, è possibile usare la macro MCIWndOpen o MCIWndOpenDialog per specificare un file.

Nell'esempio viene usata la macro MCIWndCanRecord per verificare che il dispositivo possa registrare e la macro MCIWndCanSave per verificare che il dispositivo salva informazioni. Nell'esempio viene impostata la posizione di riproduzione corrente usando le macro MCIWndHome e MCIWndEnd . L'esempio avvia la registrazione usando la macro MCIWndRecord . Dopo aver registrato le informazioni, l'esempio lo salva usando la macro MCIWndSaveDialog .

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.