Partilhar via


Controlo de Dispositivos (Multimédia do Windows)

[O recurso associado a esta página, MCI, é 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 MCI, 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.]

Para controlar um dispositivo MCI, abra o dispositivo, envie os comandos necessários para ele e, em seguida, feche o dispositivo. Os comandos podem ser muito semelhantes, mesmo para dispositivos MCI completamente diferentes. Por exemplo, a seguinte série de comandos MCI reproduz a sexta faixa de um CD de áudio usando a funçãomciSendString:

mciSendString("open cdaudio", lpszReturnString,
    lstrlen(lpszReturnString), NULL);
mciSendString("set cdaudio time format tmsf", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);
mciSendString("play cdaudio from 6 to 7", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);
mciSendString("close cdaudio", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);

O próximo exemplo mostra uma série semelhante de comandos MCI que reproduz as primeiras 10.000 amostras de um arquivo de áudio de forma de onda:

mciSendString(
    "open c:\mmdata\purplefi.wav type waveaudio alias finch", 
    lpszReturnString, lstrlen(lpszReturnString), NULL);
mciSendString("set finch time format samples", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);
mciSendString("play finch from 1 to 10000", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);
mciSendString("close finch", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);

Estes exemplos ilustram alguns fatos interessantes sobre comandos MCI:

  • Os mesmos comandos básicos (abrir, definir, reproduzire fechar) são usados com áudio de CD e dispositivos de áudio de forma de onda. Os mesmos comandos MCI são usados com todos os dispositivos MCI.
  • O comando open para o dispositivo waveform-audio inclui uma especificação de nome de arquivo. O dispositivo de áudio de forma de onda é um dispositivo composto (um associado a um arquivo de dados), enquanto o dispositivo de áudio de CD é um dispositivo simples (um sem um arquivo de dados associado).
  • O comando set especifica formatos de hora em cada caso, mas o sinalizador de formato de hora para o dispositivo de áudio de CD especifica o formato TMSF (faixas/minutos/segundos/quadros), enquanto o formato de hora usado com o dispositivo waveform-audio especifica "amostras".
  • As variáveis usadas com os sinalizadores "de" e "para" são apropriadas para o respetivo formato de tempo. Por exemplo, para o dispositivo de áudio de CD, as variáveis especificam um intervalo de faixas, mas para o dispositivo waveform-audio, as variáveis especificam um intervalo de amostras.