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.]
O controlo da reprodução começa com a macro MCIWndPlay, que reproduz o conteúdo ou ficheiro associado a uma janela MCIWnd desde a posição de reprodução atual até ao final do conteúdo. Se quiser limitar a reprodução a uma parte específica do conteúdo ou ficheiro, pode escolher entre as outras macros MCIWnd de reprodução: MCIWndPlayFrom, MCIWndPlayToe MCIWndPlayFromTo.
Você também precisa definir um formato de hora apropriado. O formato de tempo determina se o conteúdo é medido em quadros, milissegundos, faixas ou algumas outras unidades.
O exemplo a seguir cria uma janela MCIWnd e fornece comandos de menu para reproduzir o último terço, primeiro terço ou terço médio do conteúdo. Esses comandos de menu usam MCIWndPlayFrom, MCIWndPlayToe MCIWndPlayFromTo para reproduzir os segmentos de conteúdo. O exemplo também usa as macros MCIWndGetStart e MCIWndGetEnd para identificar o início e o fim do conteúdo e usa a macroMCIWndHomepara mover a posição de reprodução para o início do conteúdo.
A função MCIWndCreate usa os estilos WS_CAPTION e MCIWNDF_SHOWALL, além dos estilos de janela padrão para exibir o nome do arquivo, o modo e a posição de reprodução atual na barra de título da janela MCIWnd.
case WM_COMMAND:
switch (wParam)
{
case IDM_CREATEMCIWND:
g_hwndMCIWnd = MCIWndCreate(hwnd,
g_hinst,
WS_CHILD | WS_VISIBLE | WS_CAPTION |
MCIWNDF_SHOWALL,
"sample.avi");
break;
case IDM_PLAYFROM: // plays last third of clip
MCIWndUseTime(g_hwndMCIWnd); // millisecond format
// Get media start and end positions.
lStart = MCIWndGetStart(g_hwndMCIWnd);
lEnd = MCIWndGetEnd(g_hwndMCIWnd);
// Determine playback end position.
lPlayStart = 2 * (lEnd - lStart) / 3 + lStart;
MCIWndPlayFrom(g_hwndMCIWnd, lPlayStart);
break;
case IDM_PLAYTO: // plays first third of clip
MCIWndUseTime(g_hwndMCIWnd); // millisecond format
// Get media start and end positions.
lStart = MCIWndGetStart(g_hwndMCIWnd);
lEnd = MCIWndGetEnd(g_hwndMCIWnd);
// Determine playback start position.
lPlayEnd = (lEnd - lStart) / 3 + lStart;
MCIWndHome(g_hwndMCIWnd);
MCIWndPlayTo(g_hwndMCIWnd, lPlayEnd);
break;
case IDM_PLAYSOME: // plays middle third of clip
MCIWndUseTime(g_hwndMCIWnd); // millisecond format
// Get media start and end positions.
lStart = MCIWndGetStart(g_hwndMCIWnd);
lEnd = MCIWndGetEnd(g_hwndMCIWnd);
// Determine playback start and end positions.
lPlayStart = (lEnd - lStart) / 3 + lStart;
lPlayEnd = 2 * (lEnd - lStart) / 3 + lStart;
MCIWndPlayFromTo(g_hwndMCIWnd, lPlayStart, lPlayEnd);
break;
// Handle other commands here.
}