Compartilhar via


Controle de dispositivo (Multimídia do Windows)

[O recurso associado a esta página, MCI, é um recurso herdado. Foi substituído pelo MediaPlayer. O MediaPlayer foi otimizado para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer em vez de MCI, quando 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 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ção mciSendString :

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 exemplo a seguir mostra uma série semelhante de comandos MCI que reproduz os primeiros 10.000 exemplos 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, reproduzir e fechar) são usados com dispositivos de áudio de CD e á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 waveform-audio é um dispositivo composto (um associado a um arquivo de dados), enquanto o dispositivo de áudio cd é um dispositivo simples (um sem um arquivo de dados associado).
  • O comando set especifica formatos de tempo em cada caso, mas o sinalizador de formato de tempo para o dispositivo de áudio cd especifica o formato TMSF (faixas/minutos/segundos/quadros), enquanto o formato de tempo usado com o dispositivo de áudio de forma de onda especifica "amostras".
  • As variáveis usadas com os sinalizadores "from" e "to" são apropriadas para o respectivo formato de hora. Por exemplo, para o dispositivo de áudio cd, as variáveis especificam um intervalo de faixas, mas para o dispositivo waveform-audio, as variáveis especificam um intervalo de exemplos.