Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[O recurso associado a esta página, MCIWnd Window Class, é um recurso legado. Foi substituído por MediaPlayer. MediaPlayer foi otimizado para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize MediaPlayer em vez de Classe de Janela MCIWnd, sempre que possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
Você pode personalizar o processo de gravação, assumindo o controle total de quase tudo — desde a criação da janela MCIWnd até o salvamento das informações gravadas em um arquivo. O exemplo a seguir consulta o dispositivo MCI para recursos de gravação e salvamento e inclui comandos de menu para gravar no início ou no final do conteúdo.
O exemplo a seguir usa a funçãoMCIWndCreate para criar uma nova janela e permite especificar um arquivo existente para armazenar os dados gravados e a macroMCIWndNewpara associar um novo arquivo à janela. Como alternativa, você pode usar o MCIWndOpen ou macro MCIWndOpenDialog para especificar um arquivo.
O exemplo usa o macro MCIWndCanRecord para verificar se o dispositivo pode gravar e o macro MCIWndCanSave para verificar se o dispositivo salva informações. O exemplo define a posição de reprodução atual usando as macros MCIWndHome e MCIWndEnd. O exemplo começa a gravar usando o MCIWndRecord macro. Depois que as informações são gravadas, o exemplo as salva usando a macroMCIWndSaveDialog.
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.