Personnalisation du processus d’enregistrement
[La fonctionnalité associée à cette page, classe de fenêtre MCIWnd, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer. MediaPlayer a été optimisé pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer au lieu de la classe de fenêtre MCIWnd, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]
Vous pouvez personnaliser le processus d’enregistrement, en prenant le contrôle total de la plupart des éléments, de la création de la fenêtre MCIWnd à l’enregistrement des informations enregistrées dans un fichier. L’exemple suivant interroge l’appareil MCI pour les fonctionnalités d’enregistrement et d’enregistrement, et inclut des commandes de menu pour enregistrer au début ou à la fin du contenu.
L’exemple suivant utilise la fonction MCIWndCreate pour créer une fenêtre et vous permet de spécifier un fichier existant pour stocker les données enregistrées et la macro MCIWndNew pour associer un nouveau fichier à la fenêtre. Vous pouvez également utiliser la macro MCIWndOpen ou MCIWndOpenDialog pour spécifier un fichier.
L’exemple utilise la macro MCIWndCanRecord pour vérifier que l’appareil peut enregistrer et la macro MCIWndCanSave pour vérifier que l’appareil enregistre les informations. L’exemple définit la position de lecture actuelle à l’aide des macros MCIWndHome et MCIWndEnd . L’exemple démarre l’enregistrement à l’aide de la macro MCIWndRecord . Une fois les informations enregistrées, l’exemple les enregistre à l’aide de 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.